[Bug 727779] avdec_h264, matroskademux: crash while seeking (1.2 regression)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Apr 15 12:39:21 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=727779
  GStreamer | gst-libav | 1.x

--- Comment #4 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2014-04-15 19:39:14 UTC ---
Created an attachment (id=274396)
 View: https://bugzilla.gnome.org/attachment.cgi?id=274396
 Review: https://bugzilla.gnome.org/review?bug=727779&attachment=274396

avvidec: guard against invalid libav opaque

Upon some examination it looks like libav is going a bit wrong here (not so
much gst-libav).  More precisely, when flushing (due to the seek), libav
releases buffers, so all attached opaque (GstFFMpegVidDecVideoFrame) are
released.  Then, after the seek (due to some decoding problems?) libav comes up
with a picture/frame that has an old opaque (already released), leading to the
assert's and segfault.

Attached patch adds some logging to demonstrate this.  Moreover, it adds some
book-keeping to check whether libav is coming up with an opaque it should not,
and then logs and side-steps that one.

Resulting log confirms the above, and avoids crash (in tested mileage).

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