[mythtv] [mythtv-commits] Ticket #6974: last few seconds of video are not played

Mark Spieth mark at digivation.com.au
Sat Jan 5 23:04:14 UTC 2013

On 1/6/2013 3:21 AM, MythTV wrote:
> #6974: last few seconds of video are not played
> -------------------------------------+-----------------------------
>   Reporter:  markspieth               |          Owner:  stichnot
>       Type:  Patch - Bug Fix          |         Status:  accepted
>   Priority:  minor                    |      Milestone:  0.27
> Component:  MythTV - Video Playback  |        Version:  Master Head
>   Severity:  medium                   |     Resolution:
>   Keywords:                           |  Ticket locked:  0
> -------------------------------------+-----------------------------
> Comment (by Jim Stichnoth <jstichnoth@…>):
>   In [changeset:91ec76e8afba1833a7cb64f17429910f29b39404/mythtv]:
>   {{{
>   #!CommitTicketReference repository="mythtv"
>   revision="91ec76e8afba1833a7cb64f17429910f29b39404"
>   Play closer to the end of the video.
>   Refs #6974.  When the end of the recording is reached, don't exit the
>   player immediately.  Instead, pause playback and let exiting be
>   handled by either the end-of-playback timer event or the
>   end-of-recording-delete-prompt timer event.  This removes IsNearEnd()
>   from end-of-playback consideration, as well as the randomness of where
>   in the 250ms window the timer events fire.
>   IsNearEnd() is still used in other places (e.g. to control playback
>   speed and bookmarking behavior near the end of a recording).  The
>   IsNearEnd() calculation is changed to depend on the number of frames
>   played by the player rather than the number of frames read by the
>   decoder thread, making IsNearEnd() more predictable and reliable.
>   Note that this does not address the original issue in #6974, which
>   involves allowing the accumulated decoded frames to be displayed after
>   the decoder reaches EOF.
>   }}}
Small review...
This should actually do everything. Nice and non-polled and precise. 
Esp. IsNearEnd change. Should have seen that.

Possibly even reduce play speed only if the played recording is in 
progress and extending. But thats for another ticket.

Some questions which you may have or not considered:
1. is it desirable for the next in the live chain/playlist be loaded 
sooner to keep the stream flowing/bufferred?
2. similarly MHEG pause sooner than last frame?
3. race considerations between threaded parts of Pause and 
SetPlaying(false) functionality.


More information about the mythtv-dev mailing list