diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/pulse/pulse-client-stream.c | 17 | ||||
-rw-r--r-- | backends/pulse/pulse-ext-stream.c | 41 | ||||
-rw-r--r-- | backends/pulse/pulse-sink-input.c | 6 | ||||
-rw-r--r-- | backends/pulse/pulse-source-output.c | 6 |
4 files changed, 22 insertions, 48 deletions
diff --git a/backends/pulse/pulse-client-stream.c b/backends/pulse/pulse-client-stream.c index d725146..b99c498 100644 --- a/backends/pulse/pulse-client-stream.c +++ b/backends/pulse/pulse-client-stream.c @@ -26,6 +26,8 @@ #include <pulse/pulseaudio.h> #include "pulse-client-stream.h" +#include "pulse-sink.h" +#include "pulse-source.h" #include "pulse-stream.h" struct _PulseClientStreamPrivate @@ -335,6 +337,7 @@ pulse_client_stream_get_parent (MateMixerClientStream *client) static gboolean pulse_client_stream_set_parent (MateMixerClientStream *client, MateMixerStream *parent) { + MateMixerStreamFlags flags; PulseClientStream *pclient; PulseClientStreamClass *klass; @@ -347,6 +350,20 @@ pulse_client_stream_set_parent (MateMixerClientStream *client, MateMixerStream * if (pclient->priv->parent == parent) return TRUE; + flags = mate_mixer_stream_get_flags (MATE_MIXER_STREAM (pclient)); + + /* Validate the parent stream */ + if (flags & MATE_MIXER_STREAM_INPUT && !PULSE_IS_SOURCE (parent)) { + g_warning ("Could not change stream parent to %s: not a parent input stream", + mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); + return FALSE; + } else if (flags & MATE_MIXER_STREAM_OUTPUT && !PULSE_IS_SINK (parent)) { + g_warning ("Could not change stream parent to %s: not a parent output stream", + mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); + return FALSE; + } + + /* Set the parent */ if (klass->set_parent (pclient, PULSE_STREAM (parent)) == FALSE) return FALSE; diff --git a/backends/pulse/pulse-ext-stream.c b/backends/pulse/pulse-ext-stream.c index 96164e8..b00e967 100644 --- a/backends/pulse/pulse-ext-stream.c +++ b/backends/pulse/pulse-ext-stream.c @@ -30,8 +30,6 @@ #include "pulse-client-stream.h" #include "pulse-ext-stream.h" #include "pulse-helpers.h" -#include "pulse-sink.h" -#include "pulse-source.h" #include "pulse-stream.h" static void pulse_ext_stream_class_init (PulseExtStreamClass *klass); @@ -189,16 +187,10 @@ pulse_ext_stream_set_mute (PulseStream *pstream, gboolean mute) info.mute = mute; map = pulse_stream_get_channel_map (pstream); - if (map != NULL) - info.channel_map = *map; - else - pa_channel_map_init (&info.channel_map); + info.channel_map = *map; cvolume = pulse_stream_get_cvolume (pstream); - if (cvolume != NULL) - info.volume = *cvolume; - else - pa_cvolume_init (&info.volume); + info.volume = *cvolume; parent = mate_mixer_client_stream_get_parent (MATE_MIXER_CLIENT_STREAM (pstream)); if (parent != NULL) @@ -223,10 +215,7 @@ pulse_ext_stream_set_volume (PulseStream *pstream, pa_cvolume *cvolume) info.mute = mate_mixer_stream_get_mute (MATE_MIXER_STREAM (pstream)); map = pulse_stream_get_channel_map (pstream); - if (map != NULL) - info.channel_map = *map; - else - pa_channel_map_init (&info.channel_map); + info.channel_map = *map; parent = mate_mixer_client_stream_get_parent (MATE_MIXER_CLIENT_STREAM (pstream)); if (parent != NULL) @@ -242,7 +231,6 @@ pulse_ext_stream_set_volume (PulseStream *pstream, pa_cvolume *cvolume) static gboolean pulse_ext_stream_set_parent (PulseClientStream *pclient, PulseStream *parent) { - MateMixerStreamFlags flags; PulseStream *pstream; const pa_channel_map *map; const pa_cvolume *cvolume; @@ -251,35 +239,16 @@ pulse_ext_stream_set_parent (PulseClientStream *pclient, PulseStream *parent) g_return_val_if_fail (PULSE_IS_EXT_STREAM (pclient), FALSE); g_return_val_if_fail (PULSE_IS_STREAM (parent), FALSE); - flags = mate_mixer_stream_get_flags (MATE_MIXER_STREAM (pclient)); - - /* Validate the parent stream */ - if (flags & MATE_MIXER_STREAM_INPUT && !PULSE_IS_SOURCE (parent)) { - g_warning ("Could not change stream parent to %s: not a parent input stream", - mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); - return FALSE; - } else if (!PULSE_IS_SINK (parent)) { - g_warning ("Could not change stream parent to %s: not a parent output stream", - mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); - return FALSE; - } - pstream = PULSE_STREAM (pclient); info.name = mate_mixer_stream_get_name (MATE_MIXER_STREAM (pstream)); info.mute = mate_mixer_stream_get_mute (MATE_MIXER_STREAM (pstream)); map = pulse_stream_get_channel_map (pstream); - if (map != NULL) - info.channel_map = *map; - else - pa_channel_map_init (&info.channel_map); + info.channel_map = *map; cvolume = pulse_stream_get_cvolume (pstream); - if (cvolume != NULL) - info.volume = *cvolume; - else - pa_cvolume_init (&info.volume); + info.volume = *cvolume; info.device = mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent)); diff --git a/backends/pulse/pulse-sink-input.c b/backends/pulse/pulse-sink-input.c index 54cd3b3..1d5f9c2 100644 --- a/backends/pulse/pulse-sink-input.c +++ b/backends/pulse/pulse-sink-input.c @@ -253,12 +253,6 @@ pulse_sink_input_set_parent (PulseClientStream *pclient, PulseStream *parent) g_return_val_if_fail (PULSE_IS_SINK_INPUT (pclient), FALSE); - if (!PULSE_IS_SINK (parent)) { - g_warning ("Could not change stream parent to %s: not a parent output stream", - mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); - return FALSE; - } - pstream = PULSE_STREAM (pclient); return pulse_connection_move_sink_input (pulse_stream_get_connection (pstream), diff --git a/backends/pulse/pulse-source-output.c b/backends/pulse/pulse-source-output.c index c46b65b..6cbd888 100644 --- a/backends/pulse/pulse-source-output.c +++ b/backends/pulse/pulse-source-output.c @@ -243,12 +243,6 @@ pulse_source_output_set_parent (PulseClientStream *pclient, PulseStream *parent) g_return_val_if_fail (PULSE_IS_SOURCE_OUTPUT (pclient), FALSE); - if (!PULSE_IS_SOURCE (parent)) { - g_warning ("Could not change stream parent to %s: not a parent input stream", - mate_mixer_stream_get_name (MATE_MIXER_STREAM (parent))); - return FALSE; - } - pstream = PULSE_STREAM (pclient); return pulse_connection_move_sink_input (pulse_stream_get_connection (pstream), |