[Bug 681247] [0.11] pulsesrc breaks when reconfiguring

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 14 04:47:15 PDT 2012


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

--- Comment #6 from Arun Raghavan <arun at accosted.net> 2012-08-14 11:47:13 UTC ---
Created an attachment (id=221129)
 View: https://bugzilla.gnome.org/attachment.cgi?id=221129
 Review: https://bugzilla.gnome.org/review?bug=681247&attachment=221129

This makes renegotiation work. Tested with the attached case -- you'll get a

warning message when the stream is killed, but a new stream is set up and
seems to work fine. Not sure if we can make a testcase of this (needs a
running PulseAudio server), but doing so would be nice.

The patch sits on a few other minor fixes that I've got, pending review at:
http://cgit.collabora.com/git/user/arun/gst-plugins-good.git/log/?h=pulse

----

pulsesrc: Handle negotiation events

This makes sure that we:

a) Destroy an existing stream if a negotiate() request comes in: this is
required when receiving a downstream renegotiation request after a
stream has been created.

b) Create a new stream on prepare(): this is required since we do a
setcaps() in negotiate(), which causes the stream to be dropped by a
ringbuffer release() call (this does not happen during first negotiation
since the release is only done on a running ringbuffer). The subsequent
call to ringbuffer acquire() fails because the stream was lost on
release().

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