gstreamer: baseparse: add getcaps function

Sebastian Dröge sebastian.droege at
Wed Nov 16 10:51:27 PST 2011

On Di, 2011-10-18 at 04:29 -0700, Thiago Sousa Santos wrote:
> Module: gstreamer
> Branch: master
> Commit: e3f2d7db71dfb14441648033eb6cf3324ccc98b3
> URL:
> Author: Thiago Santos <thiago.sousa.santos at>
> Date:   Mon Oct 17 14:42:08 2011 -0300
> baseparse: add getcaps function
> [...]
> +  if (klass->get_sink_caps)
> +    caps = klass->get_sink_caps (parse);
> +  else
> +    caps = gst_pad_proxy_getcaps (pad);


this is completely breaking backwards compatibility with the old
baseparse subclasses. Let's take two examples:

1) h264parse allows to convert between different stream-formats. If
downstream now requires a specific stream-format,
gst_pad_proxy_getcaps() will propagate this singla stream-format to
upstream and if upstream wants to provide something different
negotiation will fail. But it shouldn't, h264parse can convert between
the stream-formats. f3f9e4b9786d00299e0c6909180c4cd326489bdf fixes this
in h264parse but it's nonetheless API/ABI breakage.

2) Consider a parser and downstream requests parsed=true on the caps.
gst_pad_proxy_getcaps() will propagate the parsed=true field to the
sinkpad caps and if upstream provides unparsed input negotiation will
fail again.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the gstreamer-devel mailing list