[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