udpsrc has no data for windows

William Salibrici bsalibrici at latticeinc.com
Mon Jun 27 15:04:15 UTC 2016


Sebastian,
Here is my sender pipeline running on a separate machine:

gst-launch-1.0 -e audiotestsrc wave=2 ! audio/x-raw,format=S16LE,rate=8000,channels=1 ! udpsink clients="192.168.1.101:5018"

I'm not sure what the default udp packet size would be for this pipeline.
I see from the inspect tool that udpsink has bytes-to-serve and buffer-size properties.
They both have default values of 0 so it doesn't seem like they would affect the udp packet size.

My own C++ udp receiver test app receives and displays data from the sender pipeline above just fine.
Regards,

Bill 

-----Original Message-----
From: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Sebastian Dröge
Sent: Monday, June 27, 2016 3:38 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 Fr, 2016-06-24 at 20:45 +0000, William Salibrici wrote:
> Hi Sebastian,
> Sorry for the delay – I was away on vacation.
> 
> Regarding gdb, I’m not familiar with it and it’s not a native windows 
> tool. I looked around and found a website that has 32-bit and 64-bit 
> binaries of gdb for Windows for download here.
> 
> http://www.equation.com/servlet/equation.cmd?fa=gdb
>  
> Would you recommend I use a different one?
> 
> Anyway, they have gdb version 7.9 which is not the latest one [but 
> pretty close]. I downloaded the 64 bit executable [and the manual for 
> it] just to try it. I ran the udp receiver pipeline I shared with you 
> in an earlier email. I set my environment to capture a level 6 debug 
> log. I changed the port to 5018 because netstat showed port 5004 on my 
> windows 7 machine was being used by another process. I captured a 
> screen shot of the gdb debug session as shown in attached file gdb- 
> debug.txt. It looks like the symbols from the launch executable were 
> read in ok.
>
> The pipeline hangs just as you saw in the debug file I sent you 
> earlier. At that point I have no gdb prompt either. The signal SIGINT 
> is from my CTL-C to stop the pipeline. The backtrace doesn’t seem to 
> show anything useful but perhaps I’m not using gdb correctly. Maybe 
> the warnings above regarding some windows DLLs indicate that gdb is 
> not functioning properly.

The output from gdb looks rather useless unfortunately. I usually use the gdb from here:
https://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20(Win64%20hosted)/gdb/

> Regarding a wireshark capture, please see the attached pcap file. I’m 
> using version 2.0.4, 64 bit. My capture filter is “udp port 5018”.
> You can see that packets coming from the sender [an xp machine on the 
> same local LAN] are reaching the receiver machine [windows 7 64 bit] 
> running the gdb debug session mentioned above. However, no data is 
> displayed to the screen.
> 
> As a sanity check, I ran my own C++ udp receiver test app and data 
> from the sender pipeline is received and displayed correctly. This 
> seems to confirm that your udpsrc element is not working properly for 
> a simple receiver case. I’m a little surprised that this is true since 
> udpsrc has been around a while.

The pcap capture does not contain a single valid packet. It only contains parts of a huge packet that is fragmented in various smaller packets. udpsrc (and in general an UDP socket) is not going to receive those unless all of them are actually captured.

What exactly is your sender application for this? It should really use smaller UDP packets.

-- 

Sebastian Dröge, Centricular Ltd · http://www.centricular.com


More information about the gstreamer-devel mailing list