summaryrefslogtreecommitdiff
path: root/libmatemixer/matemixer-backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmatemixer/matemixer-backend.c')
-rw-r--r--libmatemixer/matemixer-backend.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/libmatemixer/matemixer-backend.c b/libmatemixer/matemixer-backend.c
index 4201e4a..56efd94 100644
--- a/libmatemixer/matemixer-backend.c
+++ b/libmatemixer/matemixer-backend.c
@@ -425,7 +425,7 @@ mate_mixer_backend_list_devices (MateMixerBackend *backend)
klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
- if G_LIKELY (klass->list_devices != NULL)
+ if (klass->list_devices != NULL)
return klass->list_devices (backend);
return NULL;
@@ -440,7 +440,7 @@ mate_mixer_backend_list_streams (MateMixerBackend *backend)
klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
- if G_LIKELY (klass->list_streams != NULL)
+ if (klass->list_streams != NULL)
return klass->list_streams (backend);
return NULL;
@@ -473,21 +473,26 @@ gboolean
mate_mixer_backend_set_default_input_stream (MateMixerBackend *backend,
MateMixerStream *stream)
{
+ MateMixerBackendClass *klass;
+
g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), FALSE);
g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), FALSE);
- if (backend->priv->default_input != stream) {
- MateMixerBackendClass *klass;
+ klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
+ if (klass->set_default_input_stream == NULL)
+ return FALSE;
- klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
+ if (backend->priv->default_input != stream) {
+ if (mate_mixer_stream_get_direction (stream) != MATE_MIXER_DIRECTION_INPUT) {
+ g_warning ("Unable to set non-input stream as the default input stream");
+ return FALSE;
+ }
- if (klass->set_default_input_stream == NULL ||
- klass->set_default_input_stream (backend, stream) == FALSE)
+ if (klass->set_default_input_stream (backend, stream) == FALSE)
return FALSE;
_mate_mixer_backend_set_default_input_stream (backend, stream);
}
-
return TRUE;
}
@@ -503,21 +508,26 @@ gboolean
mate_mixer_backend_set_default_output_stream (MateMixerBackend *backend,
MateMixerStream *stream)
{
+ MateMixerBackendClass *klass;
+
g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), FALSE);
g_return_val_if_fail (MATE_MIXER_IS_STREAM (stream), FALSE);
- if (backend->priv->default_input != stream) {
- MateMixerBackendClass *klass;
+ klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
+ if (klass->set_default_output_stream == NULL)
+ return FALSE;
- klass = MATE_MIXER_BACKEND_GET_CLASS (backend);
+ if (backend->priv->default_input != stream) {
+ if (mate_mixer_stream_get_direction (stream) != MATE_MIXER_DIRECTION_OUTPUT) {
+ g_warning ("Unable to set non-output stream as the default output stream");
+ return FALSE;
+ }
- if (klass->set_default_output_stream == NULL ||
- klass->set_default_output_stream (backend, stream) == FALSE)
+ if (klass->set_default_output_stream (backend, stream) == FALSE)
return FALSE;
_mate_mixer_backend_set_default_output_stream (backend, stream);
}
-
return TRUE;
}