baseparse: propagate return value of GstBaseParse::set_sink_caps()
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Mon, 1 Jun 2009 12:56:18 +0000 (13:56 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Mon, 1 Jun 2009 23:56:53 +0000 (00:56 +0100)
gst_base_parse_sink_setcaps() presumably should fail if the subclass
returns FALSE from its ::set_sink_caps() function.

gst/aacparse/gstbaseparse.c
gst/amrparse/gstbaseparse.c
gst/flacparse/gstbaseparse.c

index 5a256a0..026b134 100644 (file)
@@ -1739,5 +1739,5 @@ gst_base_parse_sink_setcaps (GstPad * pad, GstCaps * caps)
     res = klass->set_sink_caps (parse, caps);
 
   parse->negotiated = res;
-  return gst_pad_set_caps (pad, caps);
+  return res && gst_pad_set_caps (pad, caps);
 }
index cd17063..ad96378 100644 (file)
@@ -1739,5 +1739,5 @@ gst_base_parse_sink_setcaps (GstPad * pad, GstCaps * caps)
     res = klass->set_sink_caps (parse, caps);
 
   parse->negotiated = res;
-  return gst_pad_set_caps (pad, caps);
+  return res && gst_pad_set_caps (pad, caps);
 }
index 4d28d65..85fb8d7 100644 (file)
@@ -1969,5 +1969,5 @@ gst_base_parse_sink_setcaps (GstPad * pad, GstCaps * caps)
     res = klass->set_sink_caps (parse, caps);
 
   parse->negotiated = res;
-  return gst_pad_set_caps (pad, caps);
+  return res && gst_pad_set_caps (pad, caps);
 }