qtmux: collect pad for sparse stream should be created with lock set to false
authorMatej Knopp <matej.knopp@gmail.com>
Tue, 23 Sep 2014 17:08:48 +0000 (19:08 +0200)
committerThiago Santos <thiagoss@osg.samsung.com>
Tue, 23 Sep 2014 18:25:45 +0000 (15:25 -0300)
Avoids waiting for buffers from sparse streams

https://bugzilla.gnome.org/show_bug.cgi?id=737095

gst/isomp4/gstqtmux.c

index 5d16f4e..738688a 100644 (file)
@@ -3464,6 +3464,7 @@ gst_qt_mux_request_new_pad (GstElement * element,
   GstQTPadSetCapsFunc setcaps_func;
   gchar *name;
   gint pad_id;
+  gboolean lock = TRUE;
 
   if (templ->direction != GST_PAD_SINK)
     goto wrong_direction;
@@ -3492,6 +3493,7 @@ gst_qt_mux_request_new_pad (GstElement * element,
     } else {
       name = g_strdup_printf ("subtitle_%u", qtmux->subtitle_pads++);
     }
+    lock = FALSE;
   } else
     goto wrong_template;
 
@@ -3502,7 +3504,7 @@ gst_qt_mux_request_new_pad (GstElement * element,
   g_free (name);
   collect_pad = (GstQTPad *)
       gst_collect_pads_add_pad (qtmux->collect, newpad, sizeof (GstQTPad),
-      (GstCollectDataDestroyNotify) (gst_qt_mux_pad_reset), TRUE);
+      (GstCollectDataDestroyNotify) (gst_qt_mux_pad_reset), lock);
   /* set up pad */
   gst_qt_mux_pad_reset (collect_pad);
   collect_pad->trak = atom_trak_new (qtmux->context);