On 7 November 2012 06:46, David Henningsson <david.henningsson at canonical.com> wrote: > On 11/07/2012 12:52 AM, Ian Malone wrote: >> >> On 6 November 2012 15:58, Ian Malone <ibmalone at gmail.com> wrote: >> etc. >> >> >>> >>> I'll speculate that something somewhere is confused by the presence of >>> two devices and either Audio1 isn't being provided correctly by pulse >>> (though it does create it) or requested properly by Jack (though with >>> only one parameter that's difficult to believe). >>> >> >> I now know enough about dbus to confirm this, the second interface is >> not created properly for some reason. >> >> Here's Audio0: >> [liveuser at localhost ~]$ dbus-send --session --print-reply >> --reply-timeout=2000 --type=method_call >> --dest=org.freedesktop.ReserveDevice1.Audio0 >> /org/freedesktop/ReserveDevice1/Audio0 >> org.freedesktop.DBus.Introspectable.Introspect >> method return sender=:1.119 -> dest=:1.154 reply_serial=2 >> string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object >> Introspection 1.0//EN" >> "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> >> <node> <!-- If you are looking for documentation make sure to check out >> http://git.0pointer.de/?p=reserve.git;a=blob;f=reserve.txt --> >> <interface name="org.freedesktop.ReserveDevice1"> <method >> name="RequestRelease"> <arg name="priority" type="i" >> direction="in"/> <arg name="result" type="b" direction="out"/> >> </method> <property name="Priority" type="i" access="read"/> >> <property name="ApplicationName" type="s" access="read"/> <property >> name="ApplicationDeviceName" type="s" access="read"/> </interface> >> <interface name="org.freedesktop.DBus.Properties"> <method >> name="Get"> <arg name="interface" direction="in" type="s"/> <arg >> name="property" direction="in" type="s"/> <arg name="value" >> direction="out" type="v"/> </method> </interface> <interface >> name="org.freedesktop.DBus.Introspectable"> <method >> name="Introspect"> <arg name="data" type="s" direction="out"/> >> </method> </interface></node>" >> >> Here's Audio1: >> [liveuser at localhost ~]$ dbus-send --session --print-reply >> --reply-timeout=2000 --type=method_call >> --dest=org.freedesktop.ReserveDevice1.Audio1 >> /org/freedesktop/ReserveDevice1/Audio1 >> org.freedesktop.DBus.Introspectable.Introspect >> method return sender=:1.119 -> dest=:1.155 reply_serial=2 >> string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object >> Introspection 1.0//EN" >> "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> >> <node> >> </node> >> " >> >> At this point I don't think I have any doubt there's a bug in the >> pulse dbus handling. > > > Hi, > > FWIW, I tried to reproduce this last evening under Ubuntu 12.10 (which uses > PulseAudio 2.1), but it seems to create properly interfaces for the two card > scenario here. I used the "d-feet" introspect program to verify. > (Jackd2-dbus seemed to crash on startup for some reason I have not tracked > down.) > > Thanks for trying. I've had a look at d-feet and noticed that org.freedesktop.ReserveDevice1.Audio0 and org.freedesktop.ReserveDevice1.Audio1 both look okay,ReserveDevice1 is there. EXCEPT that the object path for both is org.freedesktop.ReserveDevice1.Audio0. In other words, N.B. different dest and path: $ dbus-send --session --print-reply --reply-timeout=2000 --type=method_call --dest=org.freedesktop.ReserveDevice1.Audio1 /org/freedesktop/ReserveDevice1/Audio0 org.freedesktop.DBus.Introspectable.Introspect method return sender=:1.35 -> dest=:1.113 reply_serial=2 string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> <node> <!-- If you are looking for documentation make sure to check out http://git.0pointer.de/?p=reserve.git;a=blob;f=reserve.txt --> <interface name="org.freedesktop.ReserveDevice1"> <method name="RequestRelease"> <arg name="priority" type="i" direction="in"/> <arg name="result" type="b" direction="out"/> </method> <property name="Priority" type="i" access="read"/> <property name="ApplicationName" type="s" access="read"/> <property name="ApplicationDeviceName" type="s" access="read"/> </interface> <interface name="org.freedesktop.DBus.Properties"> <method name="Get"> <arg name="interface" direction="in" type="s"/> <arg name="property" direction="in" type="s"/> <arg name="value" direction="out" type="v"/> </method> </interface> <interface name="org.freedesktop.DBus.Introspectable"> <method name="Introspect"> <arg name="data" type="s" direction="out"/> </method> </interface></node>" I don't know very much about dbus, but I haven't seen that before. The is pulseaudio-2.1-4.fc18.x86_64, but from the dates in git I don't think the dbus code has been touched in a while. -- imalone http://ibmalone.blogspot.co.uk