diff --git a/panel-plugin/pulseaudio-volume.c b/panel-plugin/pulseaudio-volume.c index c181ae5..830b3a0 100644 --- a/panel-plugin/pulseaudio-volume.c +++ b/panel-plugin/pulseaudio-volume.c @@ -321,17 +321,17 @@ pulseaudio_volume_subscribe_cb (pa_context *context, switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) { case PA_SUBSCRIPTION_EVENT_SINK : - pulseaudio_volume_sink_source_check (volume, context); + /*pulseaudio_volume_sink_source_check (volume, context);*/ pulseaudio_debug ("received sink event"); break; case PA_SUBSCRIPTION_EVENT_SINK_INPUT : - pulseaudio_volume_sink_source_check (volume, context); + /*pulseaudio_volume_sink_source_check (volume, context);*/ pulseaudio_debug ("received sink output event"); break; case PA_SUBSCRIPTION_EVENT_SOURCE : - pulseaudio_volume_sink_source_check (volume, context); + /*pulseaudio_volume_sink_source_check (volume, context);*/ pulseaudio_debug ("received source event"); break; @@ -922,6 +922,23 @@ pulseaudio_volume_default_sink_changed (pa_context *context, +static void +pulseaudio_volume_move_sink_input (pa_context *context, + const pa_sink_input_info *i, + int eol, + void *userdata) +{ + PulseaudioVolume *volume = PULSEAUDIO_VOLUME (userdata); + + if (i == NULL) return; + if (eol > 0) return; + + g_print ("Moving Sink Input: %s\n", i->name); + pa_context_move_sink_input_by_name (context, i->index, volume->default_sink_name, NULL, NULL); +} + + + void pulseaudio_volume_set_default_output (PulseaudioVolume *volume, const gchar *name) @@ -932,7 +949,9 @@ pulseaudio_volume_set_default_output (PulseaudioVolume *volume, g_free (volume->default_sink_name); volume->default_sink_name = g_strdup (name); + g_print ("Set default output: %s\n", name); pa_context_set_default_sink (volume->pa_context, name, pulseaudio_volume_default_sink_changed, volume); + pa_context_get_sink_input_info_list (volume->pa_context, pulseaudio_volume_move_sink_input, volume); }