<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/25 Sebastian Dröge <span dir="ltr"><<a href="mailto:slomo@kemper.freedesktop.org" target="_blank">slomo@kemper.freedesktop.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Module: gst-plugins-good<br>
Branch: master<br>
Commit: 4a91a93d4e651210e7d56dc188184d2ea08d2645<br>
URL: <a href="http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=4a91a93d4e651210e7d56dc188184d2ea08d2645" target="_blank">http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=4a91a93d4e651210e7d56dc188184d2ea08d2645</a><br>
<br>
Author: Sebastian Dröge <<a href="mailto:slomo@circular-chaos.org">slomo@circular-chaos.org</a>><br>
Date: Wed Sep 25 12:55:21 2013 +0200<br>
<br>
qtmux: Don't error out if downstream is not seekable for non-fragmented variants<br>
<br>
Doing so would be a regression over 1.0 and breaks the unit test.<br>
However the result will be most likely unusable, so let's post<br>
a warning message on the bus.<br></blockquote><div><br></div><div>Do we really want to keep broken behaviours in a backwards compatible way :)<br></div><div>If we don't want to error out in this scenario, the only option that would still produce a valid output is faststart=TRUE, which does not require downstream to be seekable. <br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
---<br>
<br>
gst/isomp4/gstqtmux.c | 15 +++++----------<br>
1 files changed, 5 insertions(+), 10 deletions(-)<br>
<br>
diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c<br>
index 58533a4..3231963 100644<br>
--- a/gst/isomp4/gstqtmux.c<br>
+++ b/gst/isomp4/gstqtmux.c<br>
@@ -1653,7 +1653,11 @@ gst_qt_mux_start_file (GstQTMux * qtmux)<br>
if (!seekable) {<br>
if (qtmux_klass->format != GST_QT_MUX_FORMAT_ISML) {<br>
if (!qtmux->fast_start) {<br>
- goto not_seekable_error;<br>
+ GST_ELEMENT_WARNING (qtmux, STREAM, FAILED,<br>
+ ("Downstream is not seekable and headers can't be rewritten"),<br>
+ (NULL));<br>
+ /* FIXME: Is there something better we can do? */<br>
+ qtmux->streamable = TRUE;<br>
}<br>
} else {<br>
GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but "<br>
@@ -1774,15 +1778,6 @@ gst_qt_mux_start_file (GstQTMux * qtmux)<br>
exit:<br>
return ret;<br>
<br>
-not_seekable_error:<br>
- {<br>
- GST_ELEMENT_ERROR (qtmux, STREAM, FAILED,<br>
- ("Downstream is not seekable and headers can't be rewritten"),<br>
- GST_ERROR_SYSTEM);<br>
- GST_OBJECT_UNLOCK (qtmux);<br>
- return GST_FLOW_ERROR;<br>
- }<br>
-<br>
/* ERRORS */<br>
open_failed:<br>
{<br>
<br>
<br>_______________________________________________<br>
gstreamer-commits mailing list<br>
<a href="mailto:gstreamer-commits@lists.freedesktop.org">gstreamer-commits@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Andoni Morales Alastruey<br><br>LongoMatch:The Digital Coach<br><a href="http://www.longomatch.ylatuya.es">http://www.longomatch.ylatuya.es</a>
</div></div>