[Bug 725298] New: dashdemux: fails after MPD refresh

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Feb 27 01:49:26 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=725298
  GStreamer | gst-plugins-bad | git

           Summary: dashdemux: fails after MPD refresh
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: floobleflam at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=270451)
 View: https://bugzilla.gnome.org/attachment.cgi?id=270451
 Review: https://bugzilla.gnome.org/review?bug=725298&attachment=270451

Fix segfault on MPD refresh

A segfault can occur when an MPD is refreshed after the time specified in the
minimumUpdatePeriod MPD attribute.

The reason for the segfault is that a new GstMpdClient is created for the
updated MPD, and demux->client is swapped for this new GstMpdClient without
first acquiring dashdemux's client lock (hence code in other threads accessing
demux->client at the same time may try to access the freed GstMpdClient).

The attached patch fixes the segfault by surrounding the lines that perform the
client swap with GST_DASH_DEMUX_CLIENT_LOCK/UNLOCK, but note that this does not
really fix the problem: now the client just sits there without downloading any
more segments following the MPD refresh.

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