summaryrefslogtreecommitdiff
path: root/gst/shapewipe/gstshapewipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/shapewipe/gstshapewipe.c')
-rw-r--r--gst/shapewipe/gstshapewipe.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/gst/shapewipe/gstshapewipe.c b/gst/shapewipe/gstshapewipe.c
index 5d4fa94de..1a82a504c 100644
--- a/gst/shapewipe/gstshapewipe.c
+++ b/gst/shapewipe/gstshapewipe.c
@@ -329,8 +329,9 @@ gst_shape_wipe_video_sink_getcaps (GstShapeWipe * self, GstPad * pad,
{
GstCaps *templ, *ret, *tmp;
- if (gst_pad_has_current_caps (pad))
- return gst_pad_get_current_caps (pad);
+ ret = gst_pad_get_current_caps (pad);
+ if (ret != NULL)
+ return ret;
templ = gst_pad_get_pad_template_caps (pad);
tmp = gst_pad_peer_query_caps (self->srcpad, NULL);
@@ -451,8 +452,9 @@ gst_shape_wipe_mask_sink_getcaps (GstShapeWipe * self, GstPad * pad,
GstCaps *ret, *tmp, *tcaps;
guint i, n;
- if (gst_pad_has_current_caps (pad))
- return gst_pad_get_current_caps (pad);
+ ret = gst_pad_get_current_caps (pad);
+ if (ret != NULL)
+ return ret;
tcaps = gst_pad_get_pad_template_caps (self->video_sinkpad);
tmp = gst_pad_peer_query_caps (self->video_sinkpad, NULL);
@@ -535,10 +537,13 @@ gst_shape_wipe_src_getcaps (GstPad * pad, GstCaps * filter)
GstShapeWipe *self = GST_SHAPE_WIPE (gst_pad_get_parent (pad));
GstCaps *templ, *ret, *tmp;
- if (gst_pad_has_current_caps (pad))
- return gst_pad_get_current_caps (pad);
- else if (gst_pad_has_current_caps (self->video_sinkpad))
- return gst_pad_get_current_caps (self->video_sinkpad);
+ ret = gst_pad_get_current_caps (pad);
+ if (ret != NULL)
+ return ret;
+
+ ret = gst_pad_get_current_caps (self->video_sinkpad);
+ if (ret != NULL)
+ return ret;
templ = gst_pad_get_pad_template_caps (self->video_sinkpad);
tmp = gst_pad_peer_query_caps (self->video_sinkpad, NULL);