[Bug 774129] New: 'gst_buffer_is_writable' assertion in aacparse
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Nov 9 07:01:58 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=774129
Bug ID: 774129
Summary: 'gst_buffer_is_writable' assertion in aacparse
Classification: Platform
Product: GStreamer
Version: 1.10.0
OS: All
Status: NEW
Severity: major
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: vinodkesti at yahoo.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 339363
--> https://bugzilla.gnome.org/attachment.cgi?id=339363&action=edit
Patch to resolve 'gst_buffer_is_writable' assertion in aacparse
When accparse is using read only input buffer. Assertion is dumped.
gst-launch-1.0 audiotestsrc name=src \
src.! voaacenc ! audio/mpeg,framed=true,stream-format=adts ! tee name=split \
split.! queue ! aacparse ! audio/mpeg,stream-format=adts ! fakesink \
split.! queue ! aacparse ! audio/mpeg,stream-format=raw ! fakesink
--gst-debug=3 -v
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
GStreamer-CRITICAL **: gst_buffer_resize_range: assertion
'gst_buffer_is_writable (buffer)' failed
On further digging into the code found the aacprase is trying to resize the
buffer without checking write permission.
Issue is resolved by changing buffer permission using gst_buffer_make_writable
Function.
/* As a special case, we can remove the ADTS framing and output raw AAC. */
if (aacparse->header_type == DSPAAC_HEADER_ADTS
&& aacparse->output_header_type == DSPAAC_HEADER_NONE) {
guint header_size;
GstMapInfo map;
frame->buffer = gst_buffer_make_writable( frame->buffer);
...
...
}
I used gst-plugins-master for testing..
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list