[pulseaudio-discuss] [PATCH v2 2/9] dbus: Track the default sink and source with hooks
Tanu Kaskinen
tanuk at iki.fi
Mon Mar 18 07:39:38 PDT 2013
On Mon, 2013-03-18 at 14:00 +0100, David Henningsson wrote:
> On 02/20/2013 07:23 PM, Tanu Kaskinen wrote:
> > ---
> > src/modules/dbus/iface-core.c | 173 +++++++++++++++++------------------------
> > 1 file changed, 72 insertions(+), 101 deletions(-)
> >
> > diff --git a/src/modules/dbus/iface-core.c b/src/modules/dbus/iface-core.c
> > index a9716bc..4621726 100644
> > --- a/src/modules/dbus/iface-core.c
> > +++ b/src/modules/dbus/iface-core.c
> > @@ -108,9 +108,8 @@ struct pa_dbusiface_core {
> > pa_hashmap *modules;
> > pa_hashmap *clients;
> >
> > - pa_sink *fallback_sink;
> > - pa_source *fallback_source;
> > -
> > + pa_hook_slot *default_sink_changed_slot;
> > + pa_hook_slot *default_source_changed_slot;
> > pa_hook_slot *sink_put_slot;
> > pa_hook_slot *sink_unlink_slot;
> > pa_hook_slot *source_put_slot;
> > @@ -677,13 +676,12 @@ static void handle_get_fallback_sink(DBusConnection *conn, DBusMessage *msg, voi
> > pa_assert(msg);
> > pa_assert(c);
> >
> > - if (!c->fallback_sink) {
> > - pa_dbus_send_error(conn, msg, PA_DBUS_ERROR_NO_SUCH_PROPERTY,
> > - "There are no sinks, and therefore no fallback sink either.");
> > + if (!c->core->default_sink) {
> > + pa_dbus_send_error(conn, msg, PA_DBUS_ERROR_NO_SUCH_PROPERTY, "No fallback sink set.");
> > return;
> > }
>
> Is there a reason for using core->default_sink instead of
> pa_namereg_get_default_sink?
There's this reason: the property change signals should match what
getting the property would return, at least in my opinion. If we'd call
pa_namereg_get_default_sink() here, then the signals would indicate that
no fallback has been set, but getting the fallback would indicate that
there's some fallback set.
It would definitely be good to have a comment about this here.
> E g, the native protocol (e g pactl stat) uses
> pa_namereg_get_default_sink instead of the direct pointer.
>
> As for the other dbus patches (and "core: Add hooks for default device
> changes"), I looked them briefly through and saw nothing to remark on.
> With the disclaimer that I don't know the dbus stuff very well, but I'd
> just say it's a very welcome fix, if it fixes the occasional crashes on
> device unplug.
OK, if you ack my explanation above, I'll push patches 1-4 (Arun wants
to check patch 5 before I push it). Thanks for the review!
--
Tanu
More information about the pulseaudio-discuss
mailing list