decodebin2: Keep the original factory list if the sort signal handlers returned NULL
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 18 Feb 2011 10:57:12 +0000 (11:57 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 18 Feb 2011 10:57:12 +0000 (11:57 +0100)
gst/playback/gstdecodebin2.c

index e435789..7d762a2 100644 (file)
@@ -1434,8 +1434,10 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
   g_signal_emit (G_OBJECT (dbin),
       gst_decode_bin_signals[SIGNAL_AUTOPLUG_SORT], 0, dpad, caps, factories,
       &result);
-  g_value_array_free (factories);
-  factories = result;
+  if (result) {
+    g_value_array_free (factories);
+    factories = result;
+  }
 
   /* At this point we have a potential decoder, but we might not need it
    * if it doesn't match the output caps  */