[Bug 760779] qtdemux: fix framerate calculation for fragmented format in push mode
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Jan 26 06:22:05 PST 2016
https://bugzilla.gnome.org/show_bug.cgi?id=760779
--- Comment #6 from Seungha Yang <sh.yang at lge.com> ---
{} are add to if-case
There is big difference between non-MSS fragmented format with MSS.
That is, as far as I know, MSS did not get moov but only get moof with
media_caps. So, it is possible that streams are exposed with the first moof.
However, just for non-MSS fragmented format case, following structure can be
possible.
[moov + mdat + moof + mdat....]
For that case, if qtdemux always expose streams after parsing the first moof,
some delay is inevitable, due to mdat between moov and the first moof. I think
that is the reason why qtdemux do not wait the first moof (in current
implementation).
So, this patch check availability of sample data in moov (using got_samples
variable). If moov have sample data, this patch will expose streams without
waiting moof (identical to current qtdemux implementation).
+ for (n = 0; n < demux->n_streams; n++) {
+ QtDemuxStream *stream = demux->streams[n];
+ got_samples |= stream->stbl_index >= 0 ? TRUE : FALSE;
+ }
+ if (!demux->fragmented || got_samples) {
However, [moov + moof + mdat...] case, the first moof is triggering condition
for expose stream by this patch.
In summary, I think it is desirable to always expose streams after parsing the
first moof, because [moov + mdat + moof + mdat....] case.
--
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