udpsrc: Balance Linux value of get/set_rcvbuf

On Linux, the kernel returns twice the size as it will allocate extra
space for accouting. We devides this value by two in order to ensure
that get/set value now match. This fixes the set buffer size validation
and allow having a nice warning when the size if surpassed and the
process does not have CAP_NET_ADMIN capabilities.

https://bugzilla.gnome.org/show_bug.cgi?id=727067
This commit is contained in:
Nicolas Dufresne 2018-08-17 14:17:39 -04:00
parent 9b4a022dee
commit c61bcb1fd2

View file

@ -1310,6 +1310,10 @@ gst_udpsrc_get_rcvbuf (GstUDPSrc * src)
GST_DEBUG_OBJECT (src, "could not get udp buffer size");
return 0;
}
#ifdef __linux__
/* Devise by 2 so that the numbers matches when we do get/set */
val /= 2;
#endif
return val;
}