Problems defining application specific caps

Tiago Katcipis katcipis at inf.ufsc.br
Sat May 31 13:51:38 PDT 2014


Hi,

Sorry if I'm asking something stupid, but i was unable to find anything
about this subject on the docs (about caps it always explaining how the
different negotiation scenarios happens, but not this).

I want to use a application specific caps on a plugin that I'm writing, it
will basically receive audio and produce a proprietary binary format
(neither audio or video).

So i create my caps like:

static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
    GST_PAD_SRC,
    GST_PAD_ALWAYS,
    GST_STATIC_CAPS ("application/vnd.mydata+octet-stream")
    );

And i run a pipeline with fakesink or filesink (both accepts "any" caps),
but it fails to link it:

WARNING: erroneous pipeline: could not link myplugin to fakesink0

if i just change the caps to:

static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
    GST_PAD_SRC,
    GST_PAD_ALWAYS,
    GST_STATIC_CAPS ("audio/x-raw")
    );

It works perfectly fine. It makes no sense to me since fakesink/filesink
should accept any type of data.

Is Gstreamer limited to a fixed set of caps ? I cant define a new
application specific caps ?

Best regards,
Tiago Katcipis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140531/6cfbf491/attachment.html>


More information about the gstreamer-devel mailing list