[gst-cvs] gst-plugins-good: jpegenc: should not return caps ANY based on downstream
Thiago Sousa Santos
thiagoss at kemper.freedesktop.org
Sun Apr 4 17:41:11 PDT 2010
Module: gst-plugins-good
Branch: master
Commit: 74ac172bc20e1ae657484aeb37fbaf08ad2a2b28
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=74ac172bc20e1ae657484aeb37fbaf08ad2a2b28
Author: André Dieb Martins <andre.dieb at gmail.com>
Date: Sun Apr 4 20:31:38 2010 -0300
jpegenc: should not return caps ANY based on downstream
When downstream has a sink pad with ANY caps, jpegenc should
treat it the same as NULL and return its template caps.
Fixes #614842
---
ext/jpeg/gstjpegenc.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c
index 931f3a2..08a7467 100644
--- a/ext/jpeg/gstjpegenc.c
+++ b/ext/jpeg/gstjpegenc.c
@@ -322,10 +322,15 @@ gst_jpegenc_getcaps (GstPad * pad)
other end of the element */
caps = gst_pad_peer_get_caps (jpegenc->srcpad);
- if (caps == NULL)
+
+ if (caps == NULL) {
+ caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
+ } else if (gst_caps_is_any (caps)) {
+ gst_caps_unref (caps);
caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
- else
+ } else {
caps = gst_caps_make_writable (caps);
+ }
for (i = 0; i < gst_caps_get_size (caps); i++) {
structure = gst_caps_get_structure (caps, i);
More information about the Gstreamer-commits
mailing list