[Bug 729099] rtmpsrc: Crash due to unsafe thread handling in librtmp when setting state from PLAYING->PAUSED

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Jul 19 13:44:06 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=729099

Vladimir Yakovlev <yvnmad at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |yvnmad at gmail.com

--- Comment #7 from Vladimir Yakovlev <yvnmad at gmail.com> ---
I have found here is the solution:

gstrtmpsrc.c

...

static GstFlowReturn
gst_rtmp_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer)
{
   ...

  GST_OBJECT_LOCK(src);

  while (todo > 0) {
    int read = RTMP_Read (src->rtmp, (char *) data, todo);
    ...
    } else {
      bsize += todo;
      todo = 0;
    }
    GST_LOG ("  got size %d", read);
  }

  GST_OBJECT_UNLOCK(src);
  ...
}

...

static gboolean
gst_rtmp_src_unlock (GstBaseSrc * basesrc)
{
  ...
  GST_OBJECT_LOCK(rtmpsrc);
  if (rtmpsrc->rtmp) {
    RTMP_Close (rtmpsrc->rtmp);
  }
  GST_OBJECT_UNLOCK(rtmpsrc);

  return TRUE;
}


Still no failures were.

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