diff options
Diffstat (limited to 'ext/jpeg/gstjpegenc.c')
-rw-r--r-- | ext/jpeg/gstjpegenc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index d8ff546ec..da2c4dafc 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -342,8 +342,10 @@ gst_jpegenc_getcaps (GstPad * pad) othercaps = gst_pad_get_allowed_caps (jpegenc->srcpad); if (othercaps == NULL || - gst_caps_is_empty (othercaps) || gst_caps_is_any (othercaps)) - return gst_caps_copy (gst_pad_get_pad_template_caps (pad)); + gst_caps_is_empty (othercaps) || gst_caps_is_any (othercaps)) { + caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad)); + goto done; + } caps = gst_caps_new_empty (); templ = gst_pad_get_pad_template_caps (pad); @@ -365,6 +367,10 @@ gst_jpegenc_getcaps (GstPad * pad) gst_caps_merge_structure (caps, structure); } } + +done: + + gst_caps_replace (&othercaps, NULL); gst_object_unref (jpegenc); return caps; |