gstreamer: baseparse: add getcaps function
Sebastian Dröge
sebastian.droege at collabora.co.uk
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: http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=e3f2d7db71dfb14441648033eb6cf3324ccc98b3
>
> Author: Thiago Santos <thiago.sousa.santos at collabora.com>
> 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);
Hi,
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: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111116/33cf0867/attachment.pgp>
More information about the gstreamer-devel
mailing list