[pulseaudio-discuss] jackdbus module, pulse fails to conform on device reservation API

Ian Malone ibmalone at gmail.com
Wed Nov 21 00:04:02 PST 2012


On 20 November 2012 14:01, Tanu Kaskinen <tanuk at iki.fi> wrote:
> On Tue, 2012-11-20 at 20:43 +0200, Tanu Kaskinen wrote:
>> On Tue, 2012-11-20 at 17:59 +0000, Ian Malone wrote:
>> > Thanks, I'll give it a go. I think handling the already_owner case in
>> > reserve.c as well might be worthwhile since there may be other ways to
>> > get to that state.
>>
>> I think it's a bug in the application if it calls rd_acquire for a
>> device that it already owns. An assertion might be the way to go. If not
>> an assertion, then at least an error.
>
> When writing that, I didn't realize that the current code already
> returns an error if dbus_bus_request_name() returns
> DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER. I think that's a fine way of
> handling it, so in my opinion nothing needs to be done here.
>

Okay I agree there is probably a more serious bug somewhere. I'll just
point out that the current response does not result in an error in
verbose output and that encountering that response results in removing
the reserve method and handlers, meaning if the service isn't broken
before it happens then it certainly is afterwards.

Moving on: 0001-reserve-Call-change_cb-only-if-there-actually-was-a-.patch
I think we might be getting somewhere. This doesn't actually fix the
problem, the service without a reservedevice1/audioN method still gets
produced (this is the use case of trying KDE audio properties), but
playback doesn't work, so it may be doing something related to the
problem:

pulseaudio -v output, no patch: http://pastebin.com/yfGEu1qx
pulseaudio -v output, patched: http://pastebin.com/HkjSST4p


-- 
imalone
http://ibmalone.blogspot.co.uk


More information about the pulseaudio-discuss mailing list