[Bug 686459] pulsesink: playbin uri=x.mp3 audio-sink='identity ! pulsesink' => not-negotiated flow error

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu May 30 06:08:39 PDT 2013


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

--- Comment #9 from Arun Raghavan <arun at accosted.net> 2013-05-30 13:08:32 UTC ---
(In reply to comment #7)
> Review of attachment 245366 [details]:
> 
> Seems a bit risky to hold the object lock that long over that many function

I couldn't think of a better way to deal with the problem of making sure that
only the real stream or probe stream can exist at any given time.

That said, there's potential to improve the lock granularity by dropping the
object lock once the probe stream is set up. I'll try to hack this up shortly.

> calls. Did you check that nothing called there can ever take the object lock
> itself, and that there's no lock order inversion anywhere (you introduce
> object_lock > mainloop lock here)

The only callers of GST_OBJECT_LOCK within that file are the ones I've added.
All other locks on the object are taken at the GstAudioRingBuffer class level
so the object lock -> mainloop lock order should always hold.

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