udpsrc has no data for windows
William Salibrici
bsalibrici at latticeinc.com
Fri Jul 1 20:55:14 UTC 2016
Sebastian,
I decided to review our entire conversation on this question from the very beginning [my initial post 6/13/16] before starting down the path you suggested.
It turns out that I only had to do the following three things on my windows machine to get the udp receiver working.
1. Upgrade to gstreamer version 1.8.1,
2. Modify my windows firewall to open the udp port, and
3. Set the "address" property on the udpsrc.
Here is the sender pipeline [no change from my initial post, works ok]:
audiotestsrc wave=2 ! audio/x-raw,format=S16LE,rate=8000,channels=1 !
udpsink clients="192.168.1.101:5004"
Here is the initial windows receiver pipeline THAT DID NOT WORK:
udpsrc ! fakesink dump=true
Here is the working windows receiver pipeline today:
udpsrc address="192.168.1.101" ! fakesink dump=TRUE
I tried so many different combinations and permutations that I must have confused myself somewhere along the way. I could not reproduce some scenarios I thought didn’t work. At one point it looked like dump=TRUE was the problem and dump=true worked ok, but I cannot reproduce that case. They both seem to work ok today. Another time I thought your default port 5004 was the problem because it looked like another app on my machine was using it, but using your default port now works ok, etc. Another thing I realized is I powered down and restarted my windows development machine multiple times during the time period of our conversation. That may have cleared out some weird internal windows problem that occurred as a result of some the tests I tried.
Anyway, my simple windows udp receiver pipeline [as shown above] appears to be finally working ok. There’s no need to go any further on this. Thank you for your insights though – I still learned a lot through it all!
Regards,
Bill
-----Original Message-----
From: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Sebastian Dröge
Sent: Thursday, June 30, 2016 2:47 AM
To: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
Subject: Re: udpsrc has no data for windows
On Mi, 2016-06-29 at 17:07 +0000, William Salibrici wrote:
> Hi Sebastian,
> I did as you suggested. I set the samplesperbuffer=512 on the
> audiotestsrc. I also set the buffer-size property on udpsrc/udpsink to
> 1MB.
>
> Send pipeline now is:
> gst-launch-1.0 -e audiotestsrc wave=2 samplesperbuffer=512 ! audio/x-
> raw,format=S16LE,rate=8000,channels=1 ! udpsink buffer-size=1000000
> clients="192.168.1.101:5018"
>
> Receive pipeline now is:
> gst-launch-1.0 -e udpsrc address="192.168.1.101" buffer-size=1000000
> port=5018 caps="audio/x-raw,format=S16LE,rate=8000,channels=1" !
> fakesink dump=TRUE
>
> Still no data displayed for the receiver pipeline on my windows 7
> machine!
>
> I attached the new wireshark capture file obtained from the receiver
> machine which now shows no fragmentation. I think the IP layer does
> support fragmentation and reassembly but there are a number of
> possible drawbacks there as well.
Ok, this should clearly work like that then. Can you get a GStreamer debug log with GST_DEBUG=2,*udp*:6 from the receiver side? Also which GStreamer version is this again?
Basically we'll have to find out what works different between udpsrc and your C++ code that handles the sockets.
--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
More information about the gstreamer-devel
mailing list