Thank you very much for your reply, Lin. <br>I change the order of "host=" and "port=" as you said, but the same error occurs. <br>The server side seems working normally as before, after I start the server:<br>
<br>gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! { queue ! udpsink host=127.0.0.1 port=4400 } \<br>mpegdemux0.audio_00 ! { queue ! udpsink host=127.0.0.1 port=4401 }<br><br>Setting pipeline to PAUSED ...<br>
Pipeline is PREROLLING ...<br>Pipeline is PREROLLED ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br><br>Then the client:<br>gst-launch udpsrc uri=udp://<a href="http://127.0.0.1:4400">127.0.0.1:4400</a> ! { queue ! mpeg2dec ! xvimagesink } \<br>
udpsrc uri=udp://<a href="http://127.0.0.1:4401">127.0.0.1:4401</a> ! { queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink }<br><br>Setting pipeline to PAUSED ...<br>JACK tmpdir identified as [/dev/shm]<br>ERROR: Pipeline doesn't want to pause.<br>
Error: from element: /pipeline0/udpsrc0£ºcan't get the resource specified. <br>Debug information:<br>gstudpsrc.c(825): gst_udpsrc_start (): /pipeline0/udpsrc0:<br>could add membership -1: invalid parameter (22)<br>Setting pipeline to NULL ...<br>
FREEING pipeline ...<br><br>If I don't use "uri=upd://..." , just "port=" on the client side, everything goes well.<br>Where am I wrong, can anybody help me ?<br><br>Thanks very much.<br>=====================================================<br>
Lin wrote:<br>><br>> Hi shirie,<br>><br>> Just tested your pipeline on my machine. It crashes in the latter 3 cases.<br>
><br>> However, if we specify the host first and then the port in the udpsink<br>> properties of server side, the pipeline works just fine. That is, to write<br>> "host=...." first and then "port=...."<br>
><br>> IMHO, there seems to be a default order in the modification of udpsink's<br>> properties. I don't know if this is true, but you can refer to the following<br>> source: $PLUGIN_GOOD/gst/udp/gstudpsink.c, in function<br>
> gst_udpsink_set_property(). The code is modifying host iff parameter prop_id<br>> =1, while prop_id is susceptible to be the order of the modification<br>> expression.<br>> I'm using the latest release of plugins-good. Don't know if it is the same<br>
> case for more stable versions.<br>><br>> I'll be very happy to see anyone to prove or disprove my guess.<br>><br>><br>> Regards,<br>> Lin<br><br>==================================================================<br>
shirie wrote:<br>><br>> Hi, all. I am a newbie to gstreamer. I am now trying build a simple<br>
> pipeline to transmit video with udp between two machines.<br>> Here are what I have done now.<br>><br>> server:<br>> gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! {<br>> queue ! udpsink port=4400 } \<br>
> mpegdemux0.audio_00 ! { queue ! udpsink port=4401 }<br>><br>> client:<br>> gst-launch udpsrc port=4400 ! { queue ! mpeg2dec ! xvimagesink } \<br>> udpsrc port=4401 ! { queue ! decodebin ! audioconvert ! audioresample !<br>
> autoaudiosink }<br>><br>> I test them in one machine. They work well.<br>><br>> But when I tried to specify the ip address as:<br>><br>> server:<br>> gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! {<br>
> queue ! udpsink port=4400 host=192.168.0.1} \<br>> mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=192.168.0.1 }<br>> client:<br>> gst-launch udpsrc uri=udp://<a href="http://192.168.0.1:4400" target="_blank">192.168.0.1:4400</a> ! { queue ! mpeg2dec !<br>
> xvimagesink } \<br>> udpsrc uri=udp://<a href="http://192.168.0.1:4401" target="_blank">192.168.0.1:4401</a> ! { queue ! decodebin ! audioconvert !<br>> audioresample ! autoaudiosink }<br>><br>> Error occurs in the client.<br>
> error: from element /pipeline0/udpsrc0?can't get the resource specified.<br>> (I<br>> translate the message from my local language)<br>><br>> gstudpsrc.c(825): gst_udpsrc_start (): /pipeline0/udpsrc0:<br>
> could add membership -1: invalid parameter (22)<br>><br>><br>> Even cannot work with using 127.0.0.1 in one machine.<br>> server:<br>> gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! {<br>
> queue ! udpsink port=4400 host=127.0.0.1 } \<br>> mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=127.0.0.1 }<br>> client:<br>> gst-launch udpsrc uri=udp://<a href="http://127.0.0.1" target="_blank">127.0.0.1</a> :4400 ! { queue ! mpeg2dec !<br>
> xvimagesink } \<br>> udpsrc uri=udp://<a href="http://127.0.0.1" target="_blank">127.0.0.1</a> :4401 ! { queue ! decodebin ! audioconvert !<br>> audioresample ! autoaudiosink }<br>><br>> But using "localhost" works,<br>
> gst-launch filesrc location=new0.mpg ! mpegdemux mpegdemux0.video_00 ! {<br>> queue ! udpsink port=4400 host=localhost } \<br>> mpegdemux0.audio_00 ! { queue ! udpsink port=4401 host=localhost }<br>> client:<br>
> gst-launch udpsrc uri=udp://localhost :4400 ! { queue ! mpeg2dec !<br>> xvimagesink } \<br>> udpsrc uri=udp://localhost :4401 ! { queue ! decodebin ! audioconvert !<br>> audioresample ! autoaudiosink }<br>><br>
> I'm confused. Can anybody help me?<br>> Thanks very much.<br>><br>> ------------------------------------------------------------------------------<br>><br>> _______________________________________________<br>
> gstreamer-devel mailing list<br>> <a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank">gstreamer-devel@lists.sourceforge.net</a><br>> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
><br>><br><br>--<br>View this message in context: <a href="http://www.nabble.com/help%3A-udpsrc-with-ip-address.-tp22735354p22736689.html" target="_blank">http://www.nabble.com/help%3A-udpsrc-with-ip-address.-tp22735354p22736689.html</a><br>
Sent from the GStreamer-devel mailing list archive at Nabble.com.