<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>