qtmux: Don't error out if downstream is not seekable for non-fragmented variants
authorSebastian Dröge <slomo@circular-chaos.org>
Wed, 25 Sep 2013 10:55:21 +0000 (12:55 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 25 Sep 2013 11:25:34 +0000 (13:25 +0200)
Doing so would be a regression over 1.0 and breaks the unit test.
However the result will be most likely unusable, so let's post
a warning message on the bus.

gst/isomp4/gstqtmux.c

index 58533a455b4ec0520b6b9759a85294683e06a815..3231963bd509a5f4fe3646451a37f30ec5768adf 100644 (file)
@@ -1653,7 +1653,11 @@ gst_qt_mux_start_file (GstQTMux * qtmux)
     if (!seekable) {
       if (qtmux_klass->format != GST_QT_MUX_FORMAT_ISML) {
         if (!qtmux->fast_start) {
-          goto not_seekable_error;
+          GST_ELEMENT_WARNING (qtmux, STREAM, FAILED,
+              ("Downstream is not seekable and headers can't be rewritten"),
+              (NULL));
+          /* FIXME: Is there something better we can do? */
+          qtmux->streamable = TRUE;
         }
       } else {
         GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but "
@@ -1774,15 +1778,6 @@ gst_qt_mux_start_file (GstQTMux * qtmux)
 exit:
   return ret;
 
-not_seekable_error:
-  {
-    GST_ELEMENT_ERROR (qtmux, STREAM, FAILED,
-        ("Downstream is not seekable and headers can't be rewritten"),
-        GST_ERROR_SYSTEM);
-    GST_OBJECT_UNLOCK (qtmux);
-    return GST_FLOW_ERROR;
-  }
-
   /* ERRORS */
 open_failed:
   {