[Bug 754230] qtdemux: support sparse time ranges in qtdemux without needing a seek for MSE
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Oct 20 10:23:01 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=754230
Sebastian Dröge (slomo) <slomo at coaxion.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #337244|none |needs-work
status| |
--- Comment #37 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 337244:
--> (https://bugzilla.gnome.org/review?bug=754230&attachment=337244)
::: gst/isomp4/qtdemux.c
@@ +96,3 @@
#define STREAM_IS_EOS(s) (s->time_position == GST_CLOCK_TIME_NONE)
+#define ABSDIFF(x, y) ( x > y ? (x - y) : (y - x) )
Needs some more parenthesis. (x) and (y) everywhere
@@ +3130,3 @@
+ if (!qtdemux->upstream_format_is_time
+ && ABSDIFF (decode_ts, timestamp) >
+ (stream->duration_last_moof / 2)) {
This always triggers if stream->duration_last_moof == 0 (i.e. for the first
fragment). Maybe make this > MAX(stream->duration_last_moof / 2, GST_SECOND) or
something like that?
And yes, we have a chicken-egg problem here indeed :) We only know the duration
from parsing the samples (in the worst case), and the sample durations depend
on the timestamps, which depend on the lines below.
--
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