[Bug 665003] New: GstAudioEncoder shouldn't keep adapter mapped while calling handle_frame

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Nov 27 20:54:53 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=665003
  GStreamer | gst-plugins-base | 0.11.x

           Summary: GstAudioEncoder shouldn't keep adapter mapped while
                    calling handle_frame
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: Mac OS
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: matej.knopp at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=202269)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=202269)
patch

handle_frame implementation can call gst_audio_encoder_finish_frame, which
potentially clears the adapter making gst_adapter_unmap cause crash.


void
gst_adapter_unmap (GstAdapter * adapter)
{
  g_return_if_fail (GST_IS_ADAPTER (adapter));

  if (adapter->priv->cdata) {
    GstBuffer *cur = adapter->buflist->data;
    ^^^^^ - crashes because priv->cdata is not null on mapped buffer
                  while adapter->buflist is null - cleared in
gst_audio_encoder_finish frame
                  which was called from handle_frame

    gst_buffer_unmap (cur, adapter->priv->cdata, adapter->priv->csize);
    adapter->priv->cdata = NULL;
  }
}

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