[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