Some help with ghost pads please

gstream at ccc2.com gstream at ccc2.com
Fri Mar 30 04:37:32 PDT 2012


Hi All,

I know this is in java but hopefully you may be able to point out my error
below,

I have been trying to modify a working pipeline,
I connect vidmix request pad to videobox1 with

Element videobox1 = ElementFactory.make("videobox", "videobox1");
Element vidmix = ElementFactory.make("videomixer2", "vidmix");

Pad src_1a_2 = vidmix.getRequestPad("sink_%d");
videobox1.getStaticPad("src").link(src_1a_2);


If I try wrapping some of the elements in a bin, however I get

gst_pad_link_full: assertion `GST_IS_PAD (sinkpad)' failed

BIN CODE

vidmix_out = new Bin("vidmix_out");
Element vidmix = ElementFactory.make("videomixer2", "vidmix");
Element ffcs99 = ElementFactory.make("ffmpegcolorspace", "ffcs99");
Element vidsc99 = ElementFactory.make("videoscale", "vidsc99");
Element caps99 = ElementFactory.make("capsfilter", "caps99");
caps99.setCaps(Caps.fromString("  CAPS goses here ");
Element sinky = ElementFactory.make("filesink", "sinky");

vidmix_out.addMany(vidmix, ffcs99, vidsc99, caps99, sinky);
Element.linkMany(vidmix, ffcs99, vidsc99, caps99, sinky);
vidmix_out.addPad(new GhostPad("sink", vidmix.getRequestPad("sink_%d")));
pipe.add(vidmix_out);

Pad src_1a_2 = vidmix_out.getRequestPad("sink_%d");
videobox1.getStaticPad("src").link(src_1a_2);

I have tried replacing
new GhostPad("sink"
with
new GhostPad("sink_%d"
with no luck

any advice you could give would be great
thx
Art



More information about the gstreamer-devel mailing list