summaryrefslogtreecommitdiff
path: root/libmatemixer/matemixer-backend.c
diff options
context:
space:
mode:
authorMichal Ratajsky <[email protected]>2014-06-07 01:07:02 +0200
committerMichal Ratajsky <[email protected]>2014-06-07 01:07:02 +0200
commitd2c3a4be634018a2b63f4c80a26f9024a0d3de47 (patch)
treef0f8128aa2e914de6c1449bf5ef999dfebbc9767 /libmatemixer/matemixer-backend.c
parent9b4cafb0b47c6ec453d301bd812ae7001955dc2a (diff)
downloadlibmatemixer-d2c3a4be634018a2b63f4c80a26f9024a0d3de47.tar.bz2
libmatemixer-d2c3a4be634018a2b63f4c80a26f9024a0d3de47.tar.xz
Weekly update
Diffstat (limited to 'libmatemixer/matemixer-backend.c')
-rw-r--r--libmatemixer/matemixer-backend.c45
1 files changed, 40 insertions, 5 deletions
diff --git a/libmatemixer/matemixer-backend.c b/libmatemixer/matemixer-backend.c
index 18e622f..890c34b 100644
--- a/libmatemixer/matemixer-backend.c
+++ b/libmatemixer/matemixer-backend.c
@@ -19,6 +19,7 @@
#include <glib-object.h>
#include "matemixer-backend.h"
+#include "matemixer-stream.h"
G_DEFINE_INTERFACE (MateMixerBackend, mate_mixer_backend, G_TYPE_OBJECT)
@@ -32,9 +33,10 @@ mate_mixer_backend_open (MateMixerBackend *backend)
{
MateMixerBackendInterface *iface;
- g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
+ g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), FALSE);
iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
+
if (iface->open)
return iface->open (backend);
@@ -46,9 +48,10 @@ mate_mixer_backend_close (MateMixerBackend *backend)
{
MateMixerBackendInterface *iface;
- g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
+ g_return_if_fail (MATE_MIXER_IS_BACKEND (backend));
iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
+
if (iface->close)
iface->close (backend);
}
@@ -61,6 +64,7 @@ mate_mixer_backend_list_devices (MateMixerBackend *backend)
g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
+
if (iface->list_devices)
return iface->list_devices (backend);
@@ -68,15 +72,46 @@ mate_mixer_backend_list_devices (MateMixerBackend *backend)
}
GList *
-mate_mixer_backend_list_tracks (MateMixerBackend *backend)
+mate_mixer_backend_list_streams (MateMixerBackend *backend)
+{
+ MateMixerBackendInterface *iface;
+
+ g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
+
+ iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
+
+ if (iface->list_streams)
+ return iface->list_streams (backend);
+
+ return NULL;
+}
+
+MateMixerStream *
+mate_mixer_backend_get_default_input_stream (MateMixerBackend *backend)
+{
+ MateMixerBackendInterface *iface;
+
+ g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
+
+ iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
+
+ if (iface->get_default_input_stream)
+ return iface->get_default_input_stream (backend);
+
+ return NULL;
+}
+
+MateMixerStream *
+mate_mixer_backend_get_default_output_stream (MateMixerBackend *backend)
{
MateMixerBackendInterface *iface;
g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), NULL);
iface = MATE_MIXER_BACKEND_GET_INTERFACE (backend);
- if (iface->list_tracks)
- return iface->list_tracks (backend);
+
+ if (iface->get_default_output_stream)
+ return iface->get_default_output_stream (backend);
return NULL;
}