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 708808 - qtmux: Error out when downstream is not seekable and no fast-start
qtmux: Error out when downstream is not seekable and no fast-start
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-09-26 09:05 UTC by Sebastian Dröge (slomo)
Modified: 2015-04-12 13:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
isomp4: Make non-seekable downstream an error in normal mode (5.80 KB, patch)
2015-04-01 12:51 UTC, Jan Schmidt
none Details | Review
isomp4: Make non-seekable downstream an error in normal mode (6.14 KB, patch)
2015-04-01 12:58 UTC, Jan Schmidt
none Details | Review

Description Sebastian Dröge (slomo) 2013-09-26 09:05:49 UTC
http://lists.freedesktop.org/archives/gstreamer-devel/2013-September/043147.html

Requires fixing the unit test.


Alternatively find a better solution :)
Comment 1 Andoni Morales 2013-09-26 11:01:55 UTC
The other option if we don't want to error out is to set faststart=TRUE. The problem is that nothing will be pushed downstream until the stream is finished, which wouldn't be a problem because you can't stream live with regular MP4 and the fragmented variant requires a completely different setup.
Comment 2 Jan Schmidt 2015-04-01 10:42:33 UTC
I was just looking at this code. I think there's no point just warning and switching to 'streamable=true' in non fast-start mode or non-fragmented-streamable mode.

In 'normal' mp4 mode, if you can't seek downstream then you can't rewrite the mdat to have non-zero size, which means mdat covers the rest of the file, including any moov header you might write at the end - making it invisible and therefore the file is unplayable anyway. It would be better to error out, and fix the unit test accordingly, so I think I'll do that.
Comment 3 Jan Schmidt 2015-04-01 12:51:50 UTC
Created attachment 300741 [details] [review]
isomp4: Make non-seekable downstream an error in normal mode

When not in fast-start or fragmented mode, we need to be able
to rewrite the size of the mdat atom, or else the output just
won't be playable - the mdat placeholder with size == 0 will
cover the rest of the file, including any moov atom we write out.
Comment 4 Jan Schmidt 2015-04-01 12:58:40 UTC
Created attachment 300742 [details] [review]
isomp4: Make non-seekable downstream an error in normal mode

When not in fast-start or fragmented mode, we need to be able
to rewrite the size of the mdat atom, or else the output just
won't be playable - the mdat placeholder with size == 0 will
cover the rest of the file, including any moov atom we write out.
Comment 5 Jan Schmidt 2015-04-01 12:59:21 UTC
Grargh. Attached the patch with uncommitted changes. Fixed this time.
Comment 6 Tim-Philipp Müller 2015-04-01 23:04:14 UTC
Indeed, I think erroring out is the only thing we can do here in non-fragmented mode.
Comment 7 Jan Schmidt 2015-04-12 13:52:18 UTC
I pushed this a few days ago, forgot to close.