meta: transform_func: return FALSE if not supported or failed
authorHyunjun Ko <zzoon.ko@samsung.com>
Tue, 7 Jul 2015 01:46:48 +0000 (10:46 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 7 Jul 2015 10:40:17 +0000 (13:40 +0300)
https://bugzilla.gnome.org/show_bug.cgi?id=751778

gst/gstbuffer.c
libs/gst/net/gstnetaddressmeta.c
libs/gst/net/gstnetcontrolmessagemeta.c
tests/check/gst/gstmeta.c

index 56b190a..c1f0ebb 100644 (file)
@@ -2331,6 +2331,9 @@ _gst_parent_buffer_meta_transform (GstBuffer * dest, GstMeta * meta,
 
     GST_CAT_DEBUG (gst_parent_buffer_meta_debug,
         "copy buffer reference metadata");
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }
index 9c970ba..c4cdd4d 100644 (file)
@@ -44,10 +44,13 @@ static gboolean
 net_address_meta_transform (GstBuffer * transbuf, GstMeta * meta,
     GstBuffer * buffer, GQuark type, gpointer data)
 {
-  GstNetAddressMeta *nmeta = (GstNetAddressMeta *) meta;
+  GstNetAddressMeta *smeta, *dmeta;
+  smeta = (GstNetAddressMeta *) meta;
 
   /* we always copy no matter what transform */
-  gst_buffer_add_net_address_meta (transbuf, nmeta->addr);
+  dmeta = gst_buffer_add_net_address_meta (transbuf, smeta->addr);
+  if (!dmeta)
+    return FALSE;
 
   return TRUE;
 }
index fca39b5..ff9b808 100644 (file)
@@ -47,10 +47,13 @@ static gboolean
 net_control_message_meta_transform (GstBuffer * transbuf, GstMeta * meta,
     GstBuffer * buffer, GQuark type, gpointer data)
 {
-  GstNetControlMessageMeta *nmeta = (GstNetControlMessageMeta *) meta;
+  GstNetControlMessageMeta *smeta, *dmeta;
+  smeta = (GstNetControlMessageMeta *) meta;
 
   /* we always copy no matter what transform */
-  gst_buffer_add_net_control_message_meta (transbuf, nmeta->message);
+  dmeta = gst_buffer_add_net_control_message_meta (transbuf, smeta->message);
+  if (!dmeta)
+    return FALSE;
 
   return TRUE;
 }
index 0cb034f..88205fc 100644 (file)
@@ -117,6 +117,9 @@ test_transform_func (GstBuffer * transbuf, GstMeta * meta,
       test->duration = -1;
     }
     test->clock_rate = tmeta->clock_rate;
+  } else {
+    /* return FALSE, if transform type is not supported */
+    return FALSE;
   }
   return TRUE;
 }