[Bug 724638] New: aacparse : Missing resilience when no audio frame is found
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Feb 18 05:08:54 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=724638
GStreamer | gst-plugins-good | 1.2.2
Summary: aacparse : Missing resilience when no audio frame is
found
Classification: Platform
Product: GStreamer
Version: 1.2.2
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: jagadishkamathk at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hi,
I see an issue in aacparse which makes baseparse to go to an assert
Here are the sequence of events
1. The input stream has some errors. Not fatal error though. VLC recovers and
continues to play
2. gst_aac_parse_check_adts_frame() sees no input(possibly corrupted frame).
framesize variable is set to zero but return value is TRUE
3. gst_base_parse_finish_frame() function is called with size=0 and
frame->out_buffer set to NULL. This makes aacparse to go to assert and never
recover
I just found a workaround by making hardcoding ret of
gst_aac_parse_check_adts_frame() to FALSE if framesize is zero. This works to
some extent but not sure if it is right
Alternatively, G_DISABLE_CHECKS while building glib might avoid the assert but
I'm not sure if it is right to do that
I have uploaded my sample file using which it can be easily reproduced with
following pipeline
gst-launch-1.0 filesrc location=aacparse_issue.ts ! tsdemux ! aacparse !
fakesink
Regards,
Jagadish
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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