Opened 11 years ago

Closed 11 years ago

#8757 closed defect (fixed)

Video playback stutters while browsing channel

Reported by: Jonas Hallberg <jonas.h.hallberg@…> Owned by: danielk
Priority: minor Milestone: 0.24
Component: MythTV - DVB Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no


Upgraded from 24335 to 25595.

Now when i watch LiveTv?(DVB) and start channel browsing the program I'm watching micro stutters for every channel i browse.

If i hold the upp or down key the program turns in to a slide show.

Feels like the operation of fetching channel data disrupts playback in liveTV.

If i do the same in the OSD menu "Playback Options" and starts scrolling up and down the playback is smooth as silk.

I have found out that if i browse right(forward in time, by holding right arrowkey) it stutters until i reach the last program info (6 hours forward).

But if i browse left(backwards in time, by holding left arrowkey) it continues to stutter even when program info gets to the current time, still holding left arrow key.

When i browse to the right most position the only thing that is fireing then is BrowseDispInfo?() thats when the playback stops stuttering.

When i get to the left most position even though there isn't anything more to fetch it still tries to fetch data from the backend and playback is stuttering.

Sorry for the poorly written bug report but I'm having a hard time formulating it.

(Do teletext/dvb-subs supposed to work with this revision?)

Attachments (1)

8757-v1.patch (63.8 KB) - added by danielk 11 years ago.
Initial patch

Download all attachments as: .zip

Change History (6)

comment:1 Changed 11 years ago by robertm

Owner: changed from Janne Grunau to markk
Status: newassigned

comment:2 Changed 11 years ago by markk

See also #8855

comment:3 Changed 11 years ago by danielk

Milestone: unknown0.24
Owner: changed from markk to danielk

Changed 11 years ago by danielk

Attachment: 8757-v1.patch added

Initial patch

comment:4 Changed 11 years ago by danielk

This was much more complicated than I had anticipated!

This creates a helper class to handle the channel browsing task which wasn't working in the UI thread once the video started using it after the MythUI merge. The class is tightly integrated with the TV class. I had the initial proof-of-concept done in an hour, 12 hours ago... But since the browse code participates in channel changing it needs access to various other things like channel group variables which were not locked.. They didn't need to be locked before because everything with them happened in one thread.

Anyway, this version is not tested. The last version I tested was a couple hours ago. I'm tired now and will probably just mess things up if I keep working on this.

comment:5 Changed 11 years ago by danielk

Resolution: fixed
Status: assignedclosed

(In [26354]) Fixes #8757. Avoids blocking of the UI thread for long periods of time while in channel browse mode.

Note: See TracTickets for help on using tickets.