diff options
Diffstat (limited to 'backends/pulse')
-rw-r--r-- | backends/pulse/pulse-ext-stream.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/backends/pulse/pulse-ext-stream.c b/backends/pulse/pulse-ext-stream.c index 48b11d1..8e503b2 100644 --- a/backends/pulse/pulse-ext-stream.c +++ b/backends/pulse/pulse-ext-stream.c @@ -43,6 +43,7 @@ struct _PulseExtStreamPrivate enum { PROP_0, PROP_CONNECTION, + PROP_APP_INFO, N_PROPERTIES }; @@ -148,6 +149,15 @@ pulse_ext_stream_class_init (PulseExtStreamClass *klass) G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + properties[PROP_APP_INFO] = + g_param_spec_boxed ("app-info", + "Application information", + "Application information", + MATE_MIXER_TYPE_APP_INFO, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, N_PROPERTIES, properties); g_type_class_add_private (object_class, sizeof (PulseExtStreamPrivate)); @@ -167,6 +177,9 @@ pulse_ext_stream_get_property (GObject *object, case PROP_CONNECTION: g_value_set_object (value, ext->priv->connection); break; + case PROP_APP_INFO: + g_value_set_boxed (value, ext->priv->app_info); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -188,6 +201,10 @@ pulse_ext_stream_set_property (GObject *object, /* Construct-only object */ ext->priv->connection = g_value_dup_object (value); break; + case PROP_APP_INFO: + /* Construct-only boxed */ + ext->priv->app_info = g_value_dup_boxed (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -302,13 +319,14 @@ pulse_ext_stream_new (PulseConnection *connection, "role", role, "media-role", media_role, "name", info->name, - "connection", connection, "direction", direction, "stream", parent, + "connection", connection, + "app-info", app_info, NULL); - // XXX property? - ext->priv->app_info = app_info; + if (app_info != NULL) + _mate_mixer_app_info_free (app_info); /* Store values which are expected to be changed */ pulse_ext_stream_update (ext, info, parent); |