GNOME Bugzilla – Bug 795758
rtpvrawpay: assigning MTU to exceed 1244191 bytes throws a gmem allocation error
Last modified: 2018-05-05 14:44:45 UTC
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=3840,height=2160 ! rtpvrawpay mtu=1244192 ! fakesink The above pipeline throws a memory allocation error when assigning the MTU for GStreamer element rtpvrawpay above 1244191 bytes: (gst-launch-1.0:21725): GLib-ERROR **: 12:02:13.849: ../../../../glib/gmem.c:105: failed to allocate 34359738456 byte This appears to only happen in Linux, tested on Ubuntu 16.04.4 LTS x86_64 (GStreamer 1.8.3 from aptitude) and Arch x86_64 (Gstreamer 1.14.0 from pacman). The pipeline works in Windows. It also works in Mac according to user philn from the GStreamer IRC.
commit a5ecb465a979eec42f17684f60347419d44a79af Author: Tim-Philipp Müller <tim@centricular.com> Date: Sat May 5 16:16:45 2018 +0200 bufferlist: fix abort due to underflow when creating 0-sized list gst_buffer_list_new_sized(0) will cause an underflow in a calculation which then makes it try to allocate huge amounts of memory, which may lead to aborts. https://bugzilla.gnome.org/show_bug.cgi?id=795758 commit 5b8e775d1c1532e4f2010121a38c48c7bdbfd5be Author: Tim-Philipp Müller <tim@centricular.com> Date: Sat May 5 16:32:59 2018 +0200 rtpvrawpay: don't use buffer lists if everything fits into one buffer People might use very large mtu sizes where every payload fits into a single output packet. https://bugzilla.gnome.org/show_bug.cgi?id=795758