udpsink/udpsrc on win32 (Vista)

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

udpsink/udpsrc on win32 (Vista)

William Lee-7
Hi all,

Has anyone successfully used udpsink and udpsrc on win32 (Vista) using the GStreamer Winbuild? 

I'm testing a simple pipeline

> gst-inspect-0.10.exe --gst-debug-level=3 videotestsrc ! udpsink port=5000

I'm see the following messages continuously being printed in the log

0:00:00.966000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m ←[00m        mu
ltiudpsink gstmultiudpsink.c:416:gst_multiudpsink_render:<udpsink0>←[00m client
01B616F8 gave error 0 (No error)

I have looked at the multiudpsink_render source code and printed the following out:

0:00:00.965000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m ←[00m        mu
ltiudpsink gstmultiudpsink.c:402:gst_multiudpsink_render:<udpsink0>←[00m SO_MAX_
MSG_SIZE = 65527 and BUFFER SIZE = 153600

It seems that the SO_MAX_MSG_SIZE of the datagram socket is set to 65527 bytes but the buffer being sent is 153600 bytes, so the sendto() call failed because the buffer exceeds the socket message size. 

Does anyone have a workaround? Is there any way to control the buffer size upstream? 

Thanks.

William


--

William Lee @ Breeze Capsule
Email: william at breezecapsule.com
Mobile: +44 7984 368 182

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsink/udpsrc on win32 (Vista)

Wim Taymans
On Thu, 2009-07-30 at 10:41 +0100, William Lee wrote:

> Hi all,
>
>
> Has anyone successfully used udpsink and udpsrc on win32 (Vista) using
> the GStreamer Winbuild?
>
>
> I'm testing a simple pipeline
>
>
> > gst-inspect-0.10.exe --gst-debug-level=3 videotestsrc ! udpsink
> port=5000

You can only send 65536 bytes with udp, the output of videotestsrc is
likely bigger. You might want to reduce the framerate or do application
level framing by using RTP or so.

Wim

>
> I'm see the following messages continuously being printed in the log
>
>
> 0:00:00.966000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:416:gst_multiudpsink_render:<udpsink0>←[00m client
> 01B616F8 gave error 0 (No error)
>
>
> I have looked at the multiudpsink_render source code and printed the
> following out:
>
>
> 0:00:00.965000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:402:gst_multiudpsink_render:<udpsink0>←[00m SO_MAX_
> MSG_SIZE = 65527 and BUFFER SIZE = 153600
>
>
> It seems that the SO_MAX_MSG_SIZE of the datagram socket is set to
> 65527 bytes but the buffer being sent is 153600 bytes, so the sendto()
> call failed because the buffer exceeds the socket message size.
>
>
> Does anyone have a workaround? Is there any way to control the buffer
> size upstream?
>
>
> Thanks.
>
>
> William
>
>
>
> --
>
> William Lee @ Breeze Capsule
> Email: william at breezecapsule.com
> Mobile: +44 7984 368 182
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsink/udpsrc on win32 (Vista)

William Lee-7
In reply to this post by William Lee-7
Thanks for the advice. I would really appreciate if someone has an example pipeline I can try. I tried using ffenc_h263p followed by rtph263ppay with mtu value set to various values, however I still can't get the the packet sent through udpsink.

Many thanks.

William Lee @ Breeze Capsule


-original message-
Subject: Re: [gst-devel] udpsink/udpsrc on win32 (Vista)
From: "Wim Taymans" <[hidden email]>
Date: 30/07/2009 11:02

On Thu, 2009-07-30 at 10:41 +0100, William Lee wrote:

> Hi all,
>
>
> Has anyone successfully used udpsink and udpsrc on win32 (Vista) using
> the GStreamer Winbuild?
>
>
> I'm testing a simple pipeline
>
>
> > gst-inspect-0.10.exe --gst-debug-level=3 videotestsrc ! udpsink
> port=5000

You can only send 65536 bytes with udp, the output of videotestsrc is
likely bigger. You might want to reduce the framerate or do application
level framing by using RTP or so.

Wim

>
> I'm see the following messages continuously being printed in the log
>
>
> 0:00:00.966000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:416:gst_multiudpsink_render:<udpsink0>←[00m client
> 01B616F8 gave error 0 (No error)
>
>
> I have looked at the multiudpsink_render source code and printed the
> following out:
>
>
> 0:00:00.965000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:402:gst_multiudpsink_render:<udpsink0>←[00m SO_MAX_
> MSG_SIZE = 65527 and BUFFER SIZE = 153600
>
>
> It seems that the SO_MAX_MSG_SIZE of the datagram socket is set to
> 65527 bytes but the buffer being sent is 153600 bytes, so the sendto()
> call failed because the buffer exceeds the socket message size.
>
>
> Does anyone have a workaround? Is there any way to control the buffer
> size upstream?
>
>
> Thanks.
>
>
> William
>
>
>
> --
>
> William Lee @ Breeze Capsule
> Email: william at breezecapsule.com
> Mobile: +44 7984 368 182
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsink/udpsrc on win32 (Vista)

William Lee-7
Hi all,

I'm answering my own question here. 

I have managed to use RTP to control the framing on Windows XP and stream from an XP box to a Vista box. However, I cannot yet do the same on Vista. 

What I notice is that when I stream using RTP with "udpsink port=5000 host=localhost" with debug level set to 5, I can indeed see the packet sent to the loopback device.

0:05:09.228000000  3428   02D2EB78 LOG           multiudpsink gstmultiudpsink.c:
385:gst_multiudpsink_render:<udpsink0> about to send 1000 bytes
0:05:09.231000000  3428   02D2EB78 LOG           multiudpsink gstmultiudpsink.c:
392:gst_multiudpsink_render:<udpsink0> sending 1000 bytes to client 00A9D980
0:05:09.234000000  3428   02D2EB78 LOG           multiudpsink gstmultiudpsink.c:
425:gst_multiudpsink_render:<udpsink0> sent 1000 bytes to 1 (of 1) clients

However, if I try to send to another host "udpsink port=5000 host=192.168.0.2", the following error can be observed:

385:gst_multiudpsink_render:<udpsink0> about to send 1000 bytes
0:05:48.531000000   456   01EFE2F0 LOG           multiudpsink gstmultiudpsink.c:
392:gst_multiudpsink_render:<udpsink0> sending 1000 bytes to client 00A9D9C0
0:05:48.534000000   456   01EFE2F0 WARN          multiudpsink gstmultiudpsink.c:
410:gst_multiudpsink_render:<udpsink0> client 00A9D9C0 gave error 0 (No error)
0:05:48.537000000   456   01EFE2F0 LOG           multiudpsink gstmultiudpsink.c:
425:gst_multiudpsink_render:<udpsink0> sent 1000 bytes to 0 (of 1) clients

I'm not sure what's causing the sendto() error. I'm pretty sure the size of the buffer is below the max size allowed for the socket. Is it anything to do with IPv4 / IPv6 and multiple network interfaces? Anyone any idea?

William


2009/7/30 [hidden email] <[hidden email]>
Thanks for the advice. I would really appreciate if someone has an example pipeline I can try. I tried using ffenc_h263p followed by rtph263ppay with mtu value set to various values, however I still can't get the the packet sent through udpsink.

Many thanks.

William Lee @ Breeze Capsule


-original message-
Subject: Re: [gst-devel] udpsink/udpsrc on win32 (Vista)
From: "Wim Taymans" <[hidden email]>
Date: 30/07/2009 11:02

On Thu, 2009-07-30 at 10:41 +0100, William Lee wrote:
> Hi all,
>
>
> Has anyone successfully used udpsink and udpsrc on win32 (Vista) using
> the GStreamer Winbuild?
>
>
> I'm testing a simple pipeline
>
>
> > gst-inspect-0.10.exe --gst-debug-level=3 videotestsrc ! udpsink
> port=5000

You can only send 65536 bytes with udp, the output of videotestsrc is
likely bigger. You might want to reduce the framerate or do application
level framing by using RTP or so.

Wim

>
> I'm see the following messages continuously being printed in the log
>
>
> 0:00:00.966000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:416:gst_multiudpsink_render:<udpsink0>←[00m client
> 01B616F8 gave error 0 (No error)
>
>
> I have looked at the multiudpsink_render source code and printed the
> following out:
>
>
> 0:00:00.965000000 ←[335m 4240←[00m   01BA7008 ←[33;01mWARN ←[00m
> ←[00m        mu
> ltiudpsink
> gstmultiudpsink.c:402:gst_multiudpsink_render:<udpsink0>←[00m SO_MAX_
> MSG_SIZE = 65527 and BUFFER SIZE = 153600
>
>
> It seems that the SO_MAX_MSG_SIZE of the datagram socket is set to
> 65527 bytes but the buffer being sent is 153600 bytes, so the sendto()
> call failed because the buffer exceeds the socket message size.
>
>
> Does anyone have a workaround? Is there any way to control the buffer
> size upstream?
>
>
> Thanks.
>
>
> William
>
>
>
> --
>
> William Lee @ Breeze Capsule
> Email: william at breezecapsule.com
> Mobile: +44 7984 368 182
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




--

William Lee @ Breeze Capsule
Email: william at breezecapsule.com
Mobile: +44 7984 368 182

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsink/udpsrc on win32 (Vista)

michael smith-6-3
On Thu, Jul 30, 2009 at 6:28 AM, William Lee<[hidden email]> wrote:
> Hi all,
> I'm answering my own question here.
> I have managed to use RTP to control the framing on Windows XP and stream
> from an XP box to a Vista box. However, I cannot yet do the same on Vista.
> What I notice is that when I stream using RTP with "udpsink port=5000
> host=localhost" with debug level set to 5, I can indeed see the packet sent
> to the loopback device.


> I'm not sure what's causing the sendto() error. I'm pretty sure the size of
> the buffer is below the max size allowed for the socket. Is it anything to
> do with IPv4 / IPv6 and multiple network interfaces? Anyone any idea?
> William

William,

I believe udpsink is broken on trunk, on at least macos and windows.

I wrote a patch, here: http://bugzilla.gnome.org/show_bug.cgi?id=534243

I have not tested it on Vista - could you do so? That'd be a big help.
It's also awaiting code review.

Mike

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsink/udpsrc on win32 (Vista)

William Lee-7
Hi Mike,

Will do. I have also traced the code down to that point. I should have searched the bug report ;)

William

2009/7/30 Michael Smith <[hidden email]>
On Thu, Jul 30, 2009 at 6:28 AM, William Lee<[hidden email]> wrote:
> Hi all,
> I'm answering my own question here.
> I have managed to use RTP to control the framing on Windows XP and stream
> from an XP box to a Vista box. However, I cannot yet do the same on Vista.
> What I notice is that when I stream using RTP with "udpsink port=5000
> host=localhost" with debug level set to 5, I can indeed see the packet sent
> to the loopback device.


> I'm not sure what's causing the sendto() error. I'm pretty sure the size of
> the buffer is below the max size allowed for the socket. Is it anything to
> do with IPv4 / IPv6 and multiple network interfaces? Anyone any idea?
> William

William,

I believe udpsink is broken on trunk, on at least macos and windows.

I wrote a patch, here: http://bugzilla.gnome.org/show_bug.cgi?id=534243

I have not tested it on Vista - could you do so? That'd be a big help.
It's also awaiting code review.

Mike

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--

William Lee @ Breeze Capsule
Email: william at breezecapsule.com
Mobile: +44 7984 368 182

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel