diff options
Diffstat (limited to 'libmatemixer')
-rw-r--r-- | libmatemixer/matemixer-backend-module.h | 1 | ||||
-rw-r--r-- | libmatemixer/matemixer-backend.c | 16 | ||||
-rw-r--r-- | libmatemixer/matemixer-backend.h | 3 | ||||
-rw-r--r-- | libmatemixer/matemixer-context.c | 5 | ||||
-rw-r--r-- | libmatemixer/matemixer-enums.h | 23 |
5 files changed, 19 insertions, 29 deletions
diff --git a/libmatemixer/matemixer-backend-module.h b/libmatemixer/matemixer-backend-module.h index dc95633..be2f7d1 100644 --- a/libmatemixer/matemixer-backend-module.h +++ b/libmatemixer/matemixer-backend-module.h @@ -61,6 +61,7 @@ struct _MateMixerBackendInfo gchar *name; guint priority; GType g_type; + MateMixerBackendFlags backend_flags; MateMixerBackendType backend_type; }; diff --git a/libmatemixer/matemixer-backend.c b/libmatemixer/matemixer-backend.c index b8177e3..4201e4a 100644 --- a/libmatemixer/matemixer-backend.c +++ b/libmatemixer/matemixer-backend.c @@ -356,14 +356,6 @@ mate_mixer_backend_get_state (MateMixerBackend *backend) return backend->priv->state; } -MateMixerBackendFlags -mate_mixer_backend_get_flags (MateMixerBackend *backend) -{ - g_return_val_if_fail (MATE_MIXER_IS_BACKEND (backend), MATE_MIXER_BACKEND_NO_FLAGS); - - return backend->priv->flags; -} - MateMixerDevice * mate_mixer_backend_get_device (MateMixerBackend *backend, const gchar *name) { @@ -612,14 +604,6 @@ _mate_mixer_backend_set_state (MateMixerBackend *backend, MateMixerState state) } void -_mate_mixer_backend_set_flags (MateMixerBackend *backend, MateMixerBackendFlags flags) -{ - g_return_if_fail (MATE_MIXER_IS_BACKEND (backend)); - - backend->priv->flags = flags; -} - -void _mate_mixer_backend_set_default_input_stream (MateMixerBackend *backend, MateMixerStream *stream) { diff --git a/libmatemixer/matemixer-backend.h b/libmatemixer/matemixer-backend.h index 41ffb40..06082f9 100644 --- a/libmatemixer/matemixer-backend.h +++ b/libmatemixer/matemixer-backend.h @@ -99,7 +99,6 @@ gboolean mate_mixer_backend_open (MateMixerB void mate_mixer_backend_close (MateMixerBackend *backend); MateMixerState mate_mixer_backend_get_state (MateMixerBackend *backend); -MateMixerBackendFlags mate_mixer_backend_get_flags (MateMixerBackend *backend); MateMixerDevice * mate_mixer_backend_get_device (MateMixerBackend *backend, const gchar *name); @@ -123,8 +122,6 @@ gboolean mate_mixer_backend_set_default_output_stream (MateMixerB /* Protected functions */ void _mate_mixer_backend_set_state (MateMixerBackend *backend, MateMixerState state); -void _mate_mixer_backend_set_flags (MateMixerBackend *backend, - MateMixerBackendFlags flags); void _mate_mixer_backend_set_default_input_stream (MateMixerBackend *backend, MateMixerStream *stream); diff --git a/libmatemixer/matemixer-context.c b/libmatemixer/matemixer-context.c index bf31eb3..bb24416 100644 --- a/libmatemixer/matemixer-context.c +++ b/libmatemixer/matemixer-context.c @@ -1180,7 +1180,10 @@ mate_mixer_context_get_backend_flags (MateMixerContext *context) { g_return_val_if_fail (MATE_MIXER_IS_CONTEXT (context), MATE_MIXER_BACKEND_NO_FLAGS); - return mate_mixer_backend_get_flags (context->priv->backend); + if (context->priv->backend_chosen == FALSE) + return MATE_MIXER_BACKEND_NO_FLAGS; + + return mate_mixer_backend_module_get_info (context->priv->module)->backend_flags; } static void diff --git a/libmatemixer/matemixer-enums.h b/libmatemixer/matemixer-enums.h index 3f2fa44..601dc86 100644 --- a/libmatemixer/matemixer-enums.h +++ b/libmatemixer/matemixer-enums.h @@ -79,21 +79,26 @@ typedef enum { * @MATE_MIXER_BACKEND_NO_FLAGS: * No flags. * @MATE_MIXER_BACKEND_HAS_APPLICATION_CONTROLS: - * The backend includes support for application stream controls. + * The sound system backend includes support for application stream controls. + * @MATE_MIXER_BACKEND_HAS_STORED_CONTROLS: + * The sound system backend includes support for stored controls. The presence + * of this flag does not guarantee that this feature is enabled in the sound + * system's configuration. * @MATE_MIXER_BACKEND_CAN_SET_DEFAULT_INPUT_STREAM: - * The backend is able to change the current default input stream using - * the mate_mixer_context_set_default_input_stream() function. + * The sound system backend is able to change the current default input stream + * using the mate_mixer_context_set_default_input_stream() function. * @MATE_MIXER_BACKEND_CAN_SET_DEFAULT_OUTPUT_STREAM: - * The backend is able to change the current default output stream using - * the mate_mixer_context_set_default_output_stream() function. + * The sound system backend is able to change the current default output stream + * using the mate_mixer_context_set_default_output_stream() function. * * Flags describing capabilities of a sound system. */ typedef enum { /*< flags >*/ - MATE_MIXER_BACKEND_NO_FLAGS = 0, - MATE_MIXER_BACKEND_HAS_APPLICATION_CONTROLS = 1 << 0, - MATE_MIXER_BACKEND_CAN_SET_DEFAULT_INPUT_STREAM = 1 << 1, - MATE_MIXER_BACKEND_CAN_SET_DEFAULT_OUTPUT_STREAM = 1 << 2 + MATE_MIXER_BACKEND_NO_FLAGS = 0, + MATE_MIXER_BACKEND_HAS_APPLICATION_CONTROLS = 1 << 0, + MATE_MIXER_BACKEND_HAS_STORED_CONTROLS = 1 << 1, + MATE_MIXER_BACKEND_CAN_SET_DEFAULT_INPUT_STREAM = 1 << 2, + MATE_MIXER_BACKEND_CAN_SET_DEFAULT_OUTPUT_STREAM = 1 << 3 } MateMixerBackendFlags; /** |