GNOME Bugzilla – Bug 734445
hlsdemux:tsdemux: Improve trick modes support
Last modified: 2014-08-13 15:53:06 UTC
Currenlty fast forward and fast backward are activated only for stream that have I-frame playlist, this is not really needed, and I attach here a set of patches to enable it even for streams that do not have that feature.
Created attachment 282831 [details] [review] hlsdemux: No need to have a I-Frame list to do fast forward It just works cleanly without any index and there is no real reason for that limitation.
Created attachment 282832 [details] [review] tsdemux: Do not tweak segments on reverse playback We can't compare the first buffer start and the segment start in that case... playback is going backward!
Created attachment 282833 [details] [review] hlsdemux: Allow fast backward even without an IFrame list There are very few stream with that feature and it actually works now even without it.
Created attachment 282834 [details] [review] hlsdemux: Do not switch playlist on trick modes Instead always use the low bandwith playlist making things go smoother as the current heuristic is rather set for normal playback.
Comment on attachment 282831 [details] [review] hlsdemux: No need to have a I-Frame list to do fast forward So you would use no I-frame playlists even if 32x playback is requested. I don't think that's a good idea :) We should switch to I-frame playlists at some point, and my choice here was abs(rate)>1.0. Maybe you can make it 2.0 or 4.0 instead?
Comment on attachment 282831 [details] [review] hlsdemux: No need to have a I-Frame list to do fast forward Actually you do that just a few lines below here :) Nevermind Can you squash this and the next commit together before pushing?
Comment on attachment 282833 [details] [review] hlsdemux: Allow fast backward even without an IFrame list Please squash with the previous commit
Comment on attachment 282834 [details] [review] hlsdemux: Do not switch playlist on trick modes Why? We scale the bitrate with the playback rate already, so the choice should be ok even in trickmode playback?
(In reply to comment #8) > (From update of attachment 282834 [details] [review]) > Why? We scale the bitrate with the playback rate already, so the choice should > be ok even in trickmode playback? Where do you see we take into account the segment rate? I noticed it was switchiong to high bitrate playlist but then it starts buffering all the time.
(In reply to comment #9) > (In reply to comment #8) > > (From update of attachment 282834 [details] [review] [details]) > > Why? We scale the bitrate with the playback rate already, so the choice should > > be ok even in trickmode playback? > > Where do you see we take into account the segment rate? I noticed it was > switchiong to high bitrate playlist but then it starts buffering all the time. Apparently only in the seek handler, not everywhere
Created attachment 283109 [details] [review] hlsdemux: Do not switch playlist on trick modes Instead always use the low bandwith playlist making things go smoother as the current heuristic is rather set for normal playback, and currently it does not behave properly.
Attachment 282832 [details] pushed as 0303103 - tsdemux: Do not tweak segments on reverse playback Attachment 283109 [details] pushed as 16201ce - hlsdemux: Do not switch playlist on trick modes