summaryrefslogtreecommitdiff
path: root/backends/pulse
diff options
context:
space:
mode:
Diffstat (limited to 'backends/pulse')
-rw-r--r--backends/pulse/pulse-client-stream.c17
-rw-r--r--backends/pulse/pulse-ext-stream.c41
-rw-r--r--backends/pulse/pulse-sink-input.c6
-rw-r--r--backends/pulse/pulse-source-output.c6
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),