[Bug 741104] dashdemux: add support for I frame based trick play

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Aug 18 10:30:11 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=741104

--- Comment #63 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Chris Bass from comment #61)
> Review of attachment 332716 [details] [review]:
> 
> ::: ext/dash/gstdashdemux.c
> @@ +2021,3 @@
> +
> +        /* Non-non-sync sample aka sync sample */
> +        if (!GST_ISOFF_SAMPLE_FLAGS_SAMPLE_IS_NON_SYNC_SAMPLE
> (sample_flags)) {
> 
> The code is only looking for sync samples, so when it runs it only extracts
> the IDR frame at the beginning of the segments, and not the other I-frames
> in the segment. It needs also to add frames whose sample_flags include
> sample_depends_on == 2.
> 
> I tried adding the following here:
> 
> if (!GST_ISOFF_SAMPLE_FLAGS_SAMPLE_IS_NON_SYNC_SAMPLE (sample_flags)
>        || (GST_ISOFF_SAMPLE_FLAGS_SAMPLE_DEPENDS_ON (sample_flags)
>            == 0x2)) {
> 
> ...and that worked well for fast-forward speeds up to about 10x, beyond
> which there wasn't enough network throughput to download all the I-frames
> from each segment. It didn't appear to work so well for fast-reverse - it
> definitely didn't look like all the I-frames were being displayed in that
> case.

That's also solved now:

http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=e786f737ae83fb009ffcf599c3e0dce6ecab67a7

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list