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
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;
}