On Mon, 12 Jul 2021 at 10:11, lionel mazeyrat <
lionel....@gmail.com> wrote:
> bin = Gst.parseBinFromDescription( "rtspsrc location=rtsp://
wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov protocols=\"tcp\" ! rtph264depay ! decodebin ! videoconvert",true);
>
> pipeline = new Pipeline();
> pipeline.addMany(bin, vc.getElement());
> Pipeline.linkMany(bin, vc.getElement());
>
> I get :
>
> pipeline state : READY state1 : PAUSED state2 : VOID_PENDING
> pipeline state : READY state1 : PAUSED state2 : VOID_PENDING
> pipeline ERROR : Internal data stream error.
>
> Any idea ?
Yes, you're not testing like with like! Although I'm surprised you
see internal data stream error rather than a no more pads error.
Your command line test has all elements in the top level pipeline.
Here you're using a Bin subcontainer. You can only do this if you
don't automatically create ghost pads, otherwise the videoconvert will
be connected to the outer bin before it can be connected to the
decodebin.
You have two choices -
Top level pipeline
pipeline = (Pipeline) Gst.parseLaunch("rtspsrc
location=rtsp://
wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
protocols=tcp ! decodebin name=decodebin ! videoconvert ! appsink
name=appsink");
vc = new GstVideoComponent((AppSink) pipeline.getElementByName("appsink"));
With bin and manual ghost pads
Bin bin = Gst.parseBinFromDescription("rtspsrc
location=rtsp://
wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
protocols=tcp ! decodebin ! videoconvert name=videoconvert", false);
vc = new GstVideoComponent();
Pad src = bin.getElementByName("videoconvert").getStaticPad("src");
bin.addPad(new GhostPad("src", src));
pipeline = new Pipeline();
pipeline.addMany(bin, vc.getElement());
Pipeline.linkMany(bin, vc.getElement());
Best wishes,
Neil
--
Neil C Smith
Codelerity Ltd.
www.codelerity.com
Codelerity Ltd. is a company registered in England and Wales
Registered company number : 12063669
Registered office address : Office 4 219 Kensington High Street,
Kensington, London, England, W8 6BD