diff --git a/src/client/stream.c b/src/client/stream.c index c632dbf32..020e336a5 100644 --- a/src/client/stream.c +++ b/src/client/stream.c @@ -869,7 +869,7 @@ on_stream_started (GObject *source_object, gint fd_idx, fd; gchar *format; GError *error = NULL; - GVariant *result; + GVariant *result, *properties; result = g_dbus_proxy_call_with_unix_fd_list_finish (priv->source_output, &out_fd_list, @@ -879,18 +879,25 @@ on_stream_started (GObject *source_object, goto start_failed; g_variant_get (result, - "(hs)", + "(hs@a{sv})", &fd_idx, - &format); + &format, + &properties); g_variant_unref (result); if (priv->format) g_bytes_unref (priv->format); - priv->format = g_bytes_new (format, strlen (format) + 1); - + priv->format = g_bytes_new_take (format, strlen (format) + 1); g_object_notify (G_OBJECT (stream), "format"); + if (priv->properties) + pinos_properties_free (priv->properties); + priv->properties = pinos_properties_from_variant (properties); + g_variant_unref (properties); + + g_object_notify (G_OBJECT (stream), "properties"); + if ((fd = g_unix_fd_list_get (out_fd_list, fd_idx, &error)) < 0) goto fd_failed; diff --git a/src/dbus/org.pinos.xml b/src/dbus/org.pinos.xml index 783341760..8cd5573b5 100644 --- a/src/dbus/org.pinos.xml +++ b/src/dbus/org.pinos.xml @@ -143,16 +143,19 @@ @requested_format: requested formats @fd: output file descriptor @format: output format + @properties: output properties Start the datatransfer of the source with @requested_format. The result is a file descriptor that can be used to get metadata - and media. @format contains the final media format. + and media. @format contains the final media format and @properties + the extra properties that describe the media format. --> +