diff options
author | Michal Ratajsky <[email protected]> | 2014-06-07 01:07:02 +0200 |
---|---|---|
committer | Michal Ratajsky <[email protected]> | 2014-06-07 01:07:02 +0200 |
commit | d2c3a4be634018a2b63f4c80a26f9024a0d3de47 (patch) | |
tree | f0f8128aa2e914de6c1449bf5ef999dfebbc9767 /libmatemixer/matemixer-backend.c | |
parent | 9b4cafb0b47c6ec453d301bd812ae7001955dc2a (diff) | |
download | libmatemixer-d2c3a4be634018a2b63f4c80a26f9024a0d3de47.tar.bz2 libmatemixer-d2c3a4be634018a2b63f4c80a26f9024a0d3de47.tar.xz |
Weekly update
Diffstat (limited to 'libmatemixer/matemixer-backend.c')
-rw-r--r-- | libmatemixer/matemixer-backend.c | 45 |
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; } |