After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 734445 - hlsdemux:tsdemux: Improve trick modes support
hlsdemux:tsdemux: Improve trick modes support
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 734412
Blocks:
 
 
Reported: 2014-08-07 16:17 UTC by Thibault Saunier
Modified: 2014-08-13 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
hlsdemux: No need to have a I-Frame list to do fast forward (1.50 KB, patch)
2014-08-07 16:17 UTC, Thibault Saunier
committed Details | Review
tsdemux: Do not tweak segments on reverse playback (1.33 KB, patch)
2014-08-07 16:18 UTC, Thibault Saunier
committed Details | Review
hlsdemux: Allow fast backward even without an IFrame list (1.58 KB, patch)
2014-08-07 16:18 UTC, Thibault Saunier
committed Details | Review
hlsdemux: Do not switch playlist on trick modes (973 bytes, patch)
2014-08-07 16:18 UTC, Thibault Saunier
reviewed Details | Review
hlsdemux: Do not switch playlist on trick modes (1.22 KB, patch)
2014-08-11 14:47 UTC, Thibault Saunier
committed Details | Review

Description Thibault Saunier 2014-08-07 16:17:56 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.
Comment 1 Thibault Saunier 2014-08-07 16:17:59 UTC
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.
Comment 2 Thibault Saunier 2014-08-07 16:18:03 UTC
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!
Comment 3 Thibault Saunier 2014-08-07 16:18:08 UTC
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.
Comment 4 Thibault Saunier 2014-08-07 16:18:12 UTC
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 5 Sebastian Dröge (slomo) 2014-08-11 08:32:32 UTC
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 6 Sebastian Dröge (slomo) 2014-08-11 08:35:11 UTC
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 7 Sebastian Dröge (slomo) 2014-08-11 08:35:52 UTC
Comment on attachment 282833 [details] [review]
hlsdemux: Allow fast backward even without an IFrame list

Please squash with the previous commit
Comment 8 Sebastian Dröge (slomo) 2014-08-11 08:36:55 UTC
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?
Comment 9 Thibault Saunier 2014-08-11 08:42:17 UTC
(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.
Comment 10 Sebastian Dröge (slomo) 2014-08-11 09:00:41 UTC
(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
Comment 11 Thibault Saunier 2014-08-11 14:47:45 UTC
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.
Comment 12 Thibault Saunier 2014-08-13 15:52:27 UTC
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