Opened 12 years ago

Closed 10 years ago

#11020 closed Patch - Bug Fix (Fixed)

LiveTV-program guide unsuitable at an windows frontend

Reported by: Shinck@… Owned by: stuartm
Priority: minor Milestone: 0.27
Component: MythTV - General Version: 0.25-fixes
Severity: medium Keywords: ProgramGuide
Cc: Ticket locked: no

Description

With an windows frontend (WindowXP-SP3) in liveTV if I start the program guide with shortcut s (configured to show liveTV in the small window) liveTV stops for several seconds and audio is repeated that time in an endless loop (it's annoying because I've already setup the big audio-buffer, without it's worse, also in starting PIP). And this behaviour repeats at every move in program-guidegrid in vertical order (also on line up/down without move of the channels). I've done some investigation and saw,that the long interruptions were caused by the many myth-protocal requests for the free-recorders from mythbackend and that during this requests reading from the ringbuffer stops. So I decided to write a patch that caches the free-recorders from the backend in an vector at entering the liveTV-program guide because during the limited time the program guide displays the possibility the free-recorders change is low. With that workaround liveTV-programGuide shows up and is movable without interruptions in the ongoing program.

So now I provide the patch. Perhaps it could be helpful for some other people.

Attachments (7)

0001-Cache-FreeRecorderList-in-EPG.patch (3.7 KB) - added by Shinck@… 12 years ago.
version_windows.txt (413 bytes) - added by Shinck@… 12 years ago.
Version information
0002-Cache-FreeRecorderList-in-EPG-026.patch (3.7 KB) - added by Shinck@… 12 years ago.
Patch for master / 0.26-rc
version026-windows.txt (417 bytes) - added by Shinck@… 12 years ago.
Version information 0.26
epg_v1_master.patch (25.0 KB) - added by Jim Stichnoth 10 years ago.
Work-in-progress patch for Master. Still some slight stuttering on an ION-1 frontend, but a vast improvement.
epg_v1_fixes27.patch (24.7 KB) - added by Jim Stichnoth 10 years ago.
Attempted fixes/0.27 backport of the Master version. Compiles, but not yet tested.
epg_v2_fixes27.patch (26.6 KB) - added by Jim Stichnoth 10 years ago.
Backport of 7f2140ce062ade5a5523565b469ff58ada9c0d0d

Download all attachments as: .zip

Change History (16)

Changed 12 years ago by Shinck@…

Changed 12 years ago by Shinck@…

Attachment: version_windows.txt added

Version information

comment:1 Changed 12 years ago by Shinck@…

Recently I switched from fixes/0.25 to master. The patch also works fine. So I will attach it here.

Changed 12 years ago by Shinck@…

Patch for master / 0.26-rc

Changed 12 years ago by Shinck@…

Attachment: version026-windows.txt added

Version information 0.26

comment:2 Changed 12 years ago by stuartm

see also #10788

comment:3 Changed 11 years ago by stuartm

Milestone: unknown0.27
Owner: set to stuartm
Status: newaccepted

comment:4 Changed 10 years ago by Jim Stichnoth <jstichnoth@…>

In 7327711e243bc623effc3dd2bf4de8626ce15175/mythtv:

Program Guide: Don't force program data reloads.

A separate DB query was being issued when navigating within the
current Guide page with no scrolling involved. This is unnecessary.
Refs #11020.

comment:5 Changed 10 years ago by skd5aner <skd5aner@…>

Giving some feedback at the request of Jim Sitchnot (fyi - I have not applied any patches... I'm just running a version 0.27-fixes from a few days ago. This is on linux using vdpau (if that matters).

  1. Navigating between on-screen items without scrolling;

When I launch the guide within live tv, it actually launches pretty quickly, and stutters just slightly as it's loading. I see/hear 2 quick stutters usually at launching the EPG. I see 5 channels on my guide when it appears. It is center focused. If I move the focus up or down (without scrolling the screen), I get a slight pause(stutter) in audio and video playback. The movement of the "cursor" is very slightly delayed after my keypress, but not too terrible - maybe .25-.35 seconds between the time the up button is pressed and the channel focus above is selected. During this time, audio/video playback stops. If I navigate right on a selected channel in the EPG (without scrolling to the next page), it responds almost immediately and does not cause any playback stuttering at all. I can scroll back left to the starting position with the same results (no stuttering)

  1. Scrolling left/right on the same channel;

If I scroll left/right across the page, then I will occasionally (every 4-5 keypresses) experiences a slight stutter, but much less than going up or down.

  1. Scrolling up/down

Same behavior as #1 - longer stutter/pause. Also, the faster I repetitively hit up/down, the more noticable the delay in moving the focus and also the longer the audio/video pauses. For example, if I hit the up button 8 times in a row really quickly, the overall delay in response for the cursor to move and for video/audio to start again may be something like 4 seconds.

Changed 10 years ago by Jim Stichnoth

Attachment: epg_v1_master.patch added

Work-in-progress patch for Master. Still some slight stuttering on an ION-1 frontend, but a vast improvement.

Changed 10 years ago by Jim Stichnoth

Attachment: epg_v1_fixes27.patch added

Attempted fixes/0.27 backport of the Master version. Compiles, but not yet tested.

comment:6 Changed 10 years ago by skd5aner <skd5aner@…>

Tested the version against 0.27-fixes.... here's my findings...

  • Compiled just fine
  • I see NO glitches in video or audio no matter how I navigate the guide (!!!! =D). Additionally, while launching the guide, I see not stuttering. Same for exiting the guide. Smooth AV playback the entire time.
  • Guide navigation performance seems to be much improved as well, although not quite to the standards I've seen in commercial STBs. I will say though, that this is BIG BIG step in the right direction and makes leveraging the guide in Live TV a very pleasant experience.

Thank you Jim!

comment:7 Changed 10 years ago by Jim Stichnoth <jstichnoth@…>

In 7f2140ce062ade5a5523565b469ff58ada9c0d0d/mythtv:

Improve the performance of Live TV embedded in the Program Guide.

Most of the Program Guide's DB and backend queries are moved out of
the UI loop into a background helper thread, to minimize the chance
of the embedded Live TV window stuttering.

More work can and should be done to pre-cache scheduler data and
channel tuning status, and to have the backend invalidate/update it
when there are changes.

The background computation introduces some guide navigation UI
oddities, where the expensive-to-compute elements (the list of
channels) update on the screen slower than other elements.

There is still some slight stuttering on a single-core ION frontend,
but most frontends should see a vast or complete reduction in Guide
navigation stuttering.

Refs #11020

Changed 10 years ago by Jim Stichnoth

Attachment: epg_v2_fixes27.patch added

comment:8 Changed 10 years ago by Jim Stichnoth <jstichnoth@…>

In 1b16c65f465588a8991b730fb23ef0d1c61ed181/mythtv:

Improve the performance of Live TV embedded in the Program Guide.

Most of the Program Guide's DB and backend queries are moved out of
the UI loop into a background helper thread, to minimize the chance
of the embedded Live TV window stuttering.

More work can and should be done to pre-cache scheduler data and
channel tuning status, and to have the backend invalidate/update it
when there are changes.

The background computation introduces some guide navigation UI
oddities, where the expensive-to-compute elements (the list of
channels) update on the screen slower than other elements.

There is still some slight stuttering on a single-core ION frontend,
but most frontends should see a vast or complete reduction in Guide
navigation stuttering.

Refs #11020

(cherry picked from commit 7f2140ce062ade5a5523565b469ff58ada9c0d0d)

Conflicts:

mythtv/programs/mythfrontend/guidegrid.cpp

comment:9 Changed 10 years ago by JYA

Resolution: Fixed
Status: acceptedclosed

should be fixed now, please report if it's not in 0.27.1

Note: See TracTickets for help on using tickets.