I have some problems with signal reception.
I pass the video over the udp protocol as follows:
gst-launch-1.0 filesrc location = video.mp4! decodebin! x264enc! mpegtsmux! queue leaky = downstream! udpsink host = 127.0.0.1 port = 3000 buffer-size = 5000000 sync = false async = false (run from the command line)
Next, my task is to connect to the port and output the video to the swt window. I tried the following
1) Output via autovideosink
Bin bin1 = Pipeline.launch ("udpsrc port = 3000 buffer-size = 5000000! tsdemux!" +
"h264parse! avdec_h264! autovideosink");
pipe1.addMany (bin1);
2) The same, only in more detail
Element udpsrc = ElementFactory.make ("udpsrc", "source");
udpsrc.set ("port", 3000);
udpsrc.set ("buffer-size", 5000000);
Element tsdemuxer = ElementFactory.make ("tsdemux", "demuxer");
Element parse = ElementFactory.make ("h264parse", "parser");
Element dec = ElementFactory.make ("avdec_h264", "decoder");
Element sink = ElementFactory.make ("autovideosink", "videosink");
pipe1.addMany (udpsrc, tsdemuxer, parse, dec, sink);
udpsrc.link (tsdemuxer);
tsdemuxer.link (parse);
parse.link (dec);
dec.link (sink);
This option produces an error: "Internal data stream error". This seems very strange to me. In my opinion this is the same as in 1)
3) Finally, the task itself:
vc = new VideoComponent (shell, 0);
Bin bin = Pipeline.launch ("udpsrc port = 3000 buffer-size = 5000000! tsdemux!" +
"h264parse! avdec_h264");
pipe1.addMany (bin, vc.getElement ());
bin.link (vc.getElement ());
shell.open ();
The same error: Internal data stream error
Could you explain:
how 1) differs from 2) ?
how more in detail i can understand the error "Internal data stream error" ?
and how get the video using the udp protocol and display it in the SWT window?