GNOME Bugzilla – Bug 680245
gstrtspsrc - multicast missing udp buffer-size setting - no way to set udp duffer-size
Last modified: 2012-07-20 11:54:41 UTC
For receiving video data via RTSP when the video is sent via multicast there is no way to specify the udpsrc buffer-size. Look at function gst_rtspsrc_stream_configure_mcast in file gstrtspsrc.c, there is a missing call to set udp buffer-size. It should have the below code: if (src->udp_buffer_size != 0) g_object_set (G_OBJECT (stream->udpsrc[0]), "buffer-size", src->udp_buffer_size, NULL); This is a problem as you do not get a change to set the udpsrc buffer-size, why? Because gstrtspsrc tries connecting with other options first, i.e. udp unicast, when it gets round to multicast it has already created the udpsrc, then just deletes it and creates a new one for multicast, but does not set the udpsrc buffer-size, and as it has already created the udpsrc and signalled the creation it appears you do not get a signal for udpsrc removed and re-created, so for multicast the udpsrc buffer-size is 0 (zero). Why is this an issue? On windows the native network buffer is not large and with video i-frames being huge the buffer is to small and you get i-frame corruption, it looks terrible, and there is no (easy) way to set the udpsrc buffer-size. A lot of video sources are multicast so this is a bit of an issue, but at least the fix is simple (provided above). Regards, Aha Unsworth
*** This bug has been marked as a duplicate of bug 675448 ***
(In reply to comment #1) > > *** This bug has been marked as a duplicate of bug 675448 *** Apologies, raised bug against wrong version, raised again gst-plugins-good 0.10.36 when I mean to raise it against 0.10.31. Apologies again, it is a duplicate bug, bug 675448 covers this, bug 675448 is marked to be fixed in 0.10.32. I have moved the bug to gst-plugins-good 0.10.31 for clarity (even though it is a duplicate).