videomixer: Create hashtable only when we actually use it
authorSebastian Dröge <sebastian@centricular.com>
Wed, 16 Apr 2014 15:33:46 +0000 (17:33 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 16 Apr 2014 15:33:46 +0000 (17:33 +0200)
In error cases we previously returned without freeing it.

gst/videomixer/videomixer2.c

index 0309b7f..686ba8a 100644 (file)
@@ -308,7 +308,7 @@ gst_videomixer2_update_converters (GstVideoMixer2 * mix)
   GstCaps *possible_caps;
   gchar *best_colorimetry;
   const gchar *best_chroma;
-  GHashTable *formats_table = g_hash_table_new (g_direct_hash, g_direct_equal);
+  GHashTable *formats_table;
   gint best_format_number = 0;
 
   best_format = GST_VIDEO_FORMAT_UNKNOWN;
@@ -319,6 +319,8 @@ gst_videomixer2_update_converters (GstVideoMixer2 * mix)
   if (!downstream_caps || gst_caps_is_empty (downstream_caps))
     return FALSE;
 
+  formats_table = g_hash_table_new (g_direct_hash, g_direct_equal);
+
   /* first find new preferred format */
   for (tmp = mix->sinkpads; tmp; tmp = tmp->next) {
     GstStructure *s;