Skip to content
Snippets Groups Projects
Commit a011f87e authored by Wim Taymans's avatar Wim Taymans
Browse files

Added the caps negotiation test program

Original commit message from CVS:
Added the caps negotiation test program
parent 2d181e4d
Loading
Makefile
Makefile.in
*.o
*.lo
*.la
.deps
.libs
*.xml
nego1
noinst_PROGRAMS = nego1
# jsut apps here, this is safe
LIBS += $(GST_LIBS)
CFLAGS += $(GST_CFLAGS)
#include <gst/gst.h>
/* this is an example of the src pad dictating the caps
* the sink pad only accepts audio/raw */
static GstCaps*
negotiate (GstPad *pad, GstCaps *caps, gint count)
{
g_print ("negotiation entered\n");
if (!strcmp (gst_caps_get_mime (caps), "audio/raw"))
return caps;
return NULL;
}
int
main(int argc,char *argv[])
{
GstPad *srcpad, *sinkpad;
GstCaps *new;
gst_init(&argc,&argv);
srcpad = gst_pad_new ("src", GST_PAD_SRC);
sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
gst_pad_connect (srcpad, sinkpad);
gst_pad_set_negotiate_function (sinkpad, negotiate);
/* fill in our desired caps */
new = gst_caps_new_with_props (
"src_caps", /* name */
"audio/raw", /* mime */
gst_props_new (
"format", GST_PROPS_INT (16),
"depth", GST_PROPS_INT (16),
"rate", GST_PROPS_INT (48000),
"channels", GST_PROPS_INT (2),
NULL
)
);
gst_pad_set_caps (srcpad, new);
new = gst_caps_new_with_props (
"src_caps", /* name */
"video/raw", /* mime */
gst_props_new (
"format", GST_PROPS_FOURCC ('Y','U','Y','V'),
NULL
)
);
gst_pad_set_caps (srcpad, new);
exit (0);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment