[mythtv-users] v30 and DVB-T2 part-time channels - recordings without audio/video hanging mythfrontend

Mark Cooke mpc_mythtv at jts.homeip.net
Sat Aug 3 09:45:30 UTC 2019



On 29/07/2019 20:24, Mark Cooke wrote:
> On 29/07/2019 12:56, John Pilkington wrote:
>> re-sending to list
>>
>> On 28/07/2019 23:29, Mark Cooke wrote:
>>> Hi All,
>>>
<snip>
>>> I am using a self-compiled front end on OSX 10.13 (quite an involved 
>>> process but thanks to everyone posting top tips to the forum and list).
>>>
<snip>
>>>
>>> I have come across one issue that appears to be due to the UK habit 
>>> of having channels that broadcast 24x7 but only contain audio/video 
>>> streams for some of the time.
>>>
>>>
>>> The example I have most recently was from today.
>>>
>>> BBC FOUR HD starts broadcasting at 7pm, and I had a recording setup 
>>> for the broadcast starting at 7pm.  With a system-wide 'start 
>>> recording early' configured, the TS file started to be saved from 
>>> 6.50pm.
>>>
>>>
>>> Trying to play this recording jams up the frontend with a black 
>>> screen saying 'Please Wait'.  I can't escape, jump forward or 
>>> backward or bring up the menu when this happens.
>>>
>>> Eventually (5+ minutes later) it drops back to the Watch Recording 
>>> screen with an error 'Video frame buffering failed too many times'.

<snip>

> 
> As a cross-check I've tried the recording using Ubuntu's frontend over 
> SSH and had the same behaviour as for the OSX frontend.
> 
> Here is a sample of the log during the attempted playback:
> 
> 2019-07-29 19:57:32.462917 I  TV::TV(): Creating TV object
> 2019-07-29 19:57:32.493357 N  Suspending idle timer
> 2019-07-29 19:57:32.512862 I  TV::Init(): Created TvPlayWindow.
> 2019-07-29 19:57:32.551847 I  TV::HandleStateChange(): Attempting to 
> change from None to WatchingPreRecorded
> 2019-07-29 19:57:34.357724 E  ALSA: snd_pcm_info_get_card: Operation not 
> permitted
> 2019-07-29 19:57:34.385882 N  AudioPlayer: Enabling Audio
> 2019-07-29 19:57:34.760608 I  AFD: codec AAC/LATM has 0 channels
> 2019-07-29 19:57:34.765109 I  AFD: Opened codec 0x55ab75cf7380, 
> id(AAC/LATM) type(Audio)
> 2019-07-29 19:57:34.765523 I  AFD: codec AAC/LATM has 0 channels
> 2019-07-29 19:57:34.766012 I  AFD: Opened codec 0x55ab75d40640, 
> id(AAC/LATM) type(Audio)
> 2019-07-29 19:57:34.766151 I  AFD: Opened codec 0x55ab75e10740, 
> id(DVB_SUBTITLE) type(Subtitle)
> 2019-07-29 19:57:34.772595 I  AFD: Using ffmpeg for video decoding
> 2019-07-29 19:57:34.772748 I  AFD: Opened codec 0x55ab75e13680, id(H264) 
> type(Video)
> 2019-07-29 19:57:34.772753 W  Enabling buffering optimisations for low 
> bitrate stream.
> 2019-07-29 19:57:34.778210 N  AudioPlayer: Enabling Audio
> Xlib:  extension "XFree86-VidModeExtension" missing on display 
> "hdcap5:10.0".
> 2019-07-29 19:57:34.951325 E  X11 ModeLine query failed
> 2019-07-29 19:57:34.956955 E  VideoOutputXv: Could not find suitable 
> XVideo surface.
> 2019-07-29 19:57:34.956975 E  VideoOutputXv: Falling back to X11 video 
> output over a network socket.
>                    *** May be very slow ***
> 2019-07-29 19:57:34.982753 I  OSD: Base theme size: 800x600
> 2019-07-29 19:57:34.982766 I  OSD: Scaling factors: 0.8x0.8
> Xlib:  extension "XFree86-VidModeExtension" missing on display 
> "hdcap5:10.0".
> greedyhdeint: size changed from 0 x 0 -> 640 x 480
> Xlib:  extension "XFree86-VidModeExtension" missing on display 
> "hdcap5:10.0".
> [freemheg] WARN Launch not found //a
> [freemheg] WARN Launch not found //startup
> Xlib:  extension "XFree86-VidModeExtension" missing on display 
> "hdcap5:10.0".
> 2019-07-29 19:57:35.036642 I  OSD: Base theme size: 800x600
> 2019-07-29 19:57:35.036649 I  OSD: Scaling factors: 0.8x0.8
> 2019-07-29 19:57:35.044334 E  X11 ModeLine query failed
> 2019-07-29 19:57:35.050625 E  X11 ModeLine query failed
> 2019-07-29 19:57:35.054650 I  Player(0): Video timing method: USleep 
> with busy wait
> 2019-07-29 19:57:35.055198 I  TV::StartPlayer(): Created player.
> 2019-07-29 19:57:35.055230 I  TV::HandleStateChange(): Changing from 
> None to WatchingPreRecorded
> 2019-07-29 19:57:35.059211 I  TV::HandleStateChange(): Main UI disabled.
> 2019-07-29 19:57:35.059236 I  TV::StartTV(): Entering main playback loop.
> 2019-07-29 19:57:35.069083 E  X11 ModeLine query failed
> 2019-07-29 19:57:35.163926 N  Player(0): Waited 103ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:35.267895 N  Player(0): Waited 207ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:35.371964 N  Player(0): Waited 311ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:35.476020 N  Player(0): Waited 415ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:35.579882 N  Player(0): Waited 519ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:35.683956 N  Player(0): Waited 623ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:37.011085 I  OSD: Base theme size: 800x600
> 2019-07-29 19:57:37.011110 I  OSD: Scaling factors: 0.8x0.8
> 2019-07-29 19:57:37.026589 N  Player(0): Waited 1966ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:37.130042 N  Player(0): Waited 2069ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:37.234250 N  Player(0): Waited 2174ms for video buffers 
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP
> 2019-07-29 19:57:37.338374 N  Player(0): To see more buffering messages 
> use -v playback
> 2019-07-29 19:58:05.061477 E  Player(0): Waited too long for decoder to 
> fill video buffers. Exiting..
> 2019-07-29 19:58:05.149189 I  TV::HandleStateChange(): Attempting to 
> change from WatchingPreRecorded to None
> 2019-07-29 19:58:05.250235 W  Player(0): Waited 100ms for decoder to pause
> 2019-07-29 19:58:05.350445 W  Player(0): Waited 100ms for decoder to pause

<snip>

Looking at the code in mythplayer.cpp for PrebufferEnoughFrames shows 
there's a debug option to extend the timeout waiting for frames by 
setting PREBUFFERDEBUG before starting MythFrontend.

Doing this and trying the problematic recording does eventually start to 
play, and once it starts, jumping forwards/backwards etc all works fine 
and myth appears to be normally responsive.

The assumption appears to be that there are video frames available in a 
timely way, and for this particular recording that wasn't the case.

So - I have a workaround and it isn't obvious to me that there's a 
simple fix.  Hopefully the information about the PREBUFFERDEBUG env 
variable will help out anyone else that encounters this.

Cheers,

Mark


More information about the mythtv-users mailing list