Updating branch refs/heads/master to 5a131b68acad5f22e0e56f1c8814a8747c6d54ac (commit) from 01c98b546a494d63225b8101ff17b3f01df62277 (commit)
commit 5a131b68acad5f22e0e56f1c8814a8747c6d54ac Author: Sean Davis <smd.seanda...@gmail.com> Date: Sun Nov 17 15:19:44 2013 -0500 Add bitrate src/gst/parole-gst.c | 8 ++++++++ src/misc/parole-stream.c | 25 +++++++++++++++++++++++++ src/plugins/mpris2/mpris2-provider.c | 8 +++++--- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/gst/parole-gst.c b/src/gst/parole-gst.c index e6528b0..b18f425 100644 --- a/src/gst/parole-gst.c +++ b/src/gst/parole-gst.c @@ -1367,6 +1367,14 @@ parole_gst_get_meta_data_local_file (ParoleGst *gst, GstTagList *tag) NULL); } + if ( gst_tag_list_get_uint (tag, GST_TAG_BITRATE, &integer) ) + { + TRACE ("bitrate:%i", integer); + g_object_set (G_OBJECT (gst->priv->stream), + "bitrate", integer, + NULL); + } + pixbuf = parole_gst_tag_list_get_cover (gst, tag); if (pixbuf) { diff --git a/src/misc/parole-stream.c b/src/misc/parole-stream.c index 2744f06..82d8e32 100644 --- a/src/misc/parole-stream.c +++ b/src/misc/parole-stream.c @@ -72,6 +72,7 @@ struct _ParoleStreamPrivate gchar *album; gchar *comment; gchar *genre; + guint bitrate; GdkPixbuf *image; gchar *image_uri, *previous_image; @@ -103,6 +104,7 @@ enum PROP_ALBUM, PROP_COMMENT, PROP_GENRE, + PROP_BITRATE, PROP_IMAGE_URI }; @@ -230,6 +232,9 @@ static void parole_stream_set_property (GObject *object, case PROP_GENRE: PAROLE_STREAM_DUP_GVALUE_STRING (PAROLE_STREAM_GET_PRIVATE (stream)->genre, value); break; + case PROP_BITRATE: + PAROLE_STREAM_GET_PRIVATE (stream)->bitrate = g_value_get_uint (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -315,6 +320,9 @@ static void parole_stream_get_property (GObject *object, case PROP_GENRE: g_value_set_string (value, PAROLE_STREAM_GET_PRIVATE (stream)->genre); break; + case PROP_BITRATE: + g_value_set_uint (value, PAROLE_STREAM_GET_PRIVATE (stream)->bitrate); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -749,6 +757,22 @@ parole_stream_class_init (ParoleStreamClass *klass) "URI for the album artwork", NULL, G_PARAM_READWRITE)); + + /** + * ParoleStream:bitrate: + * + * Current bitrate in bits/s. + * + * Since: 0.6 + **/ + g_object_class_install_property (object_class, + PROP_BITRATE, + g_param_spec_uint ("bitrate", + "Bitrate", + "Bitrate", + 0, 2147483647, + 0, + G_PARAM_READWRITE)); g_type_class_add_private (klass, sizeof (ParoleStreamPrivate)); } @@ -787,6 +811,7 @@ void parole_stream_init_properties (ParoleStream *stream) priv->track = 1; priv->disp_par_n = 1; priv->disp_par_d = 1; + priv->bitrate = 0; PAROLE_STREAM_FREE_STR_PROP (priv->title); PAROLE_STREAM_FREE_STR_PROP (priv->uri); diff --git a/src/plugins/mpris2/mpris2-provider.c b/src/plugins/mpris2/mpris2-provider.c index 2d6709e..01c0bea 100644 --- a/src/plugins/mpris2/mpris2-provider.c +++ b/src/plugins/mpris2/mpris2-provider.c @@ -442,7 +442,7 @@ static void handle_strings_request(GVariantBuilder *b, const gchar *tag, const g static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b) { gchar *title, *album, *artist, *year, *comment, *stream_uri, *genre, *image_uri; - gint track_id; + gint track_id, bitrate; gint64 duration; g_object_get (G_OBJECT (stream), @@ -456,6 +456,7 @@ static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b) "genre", &genre, "image_uri", &image_uri, "track", &track_id, + "bitrate", &bitrate, NULL); g_variant_builder_add (b, "{sv}", "mpris:trackid", @@ -477,8 +478,8 @@ static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b) handle_strings_request(b, "xesam:comment", comment); g_variant_builder_add (b, "{sv}", "mpris:length", g_variant_new_int64((gint64)duration * 1000000)); - g_variant_builder_add (b, "{sv}", "audio-bitrate", // GST_TAG_BITRATE - g_variant_new_int32(0)); + g_variant_builder_add (b, "{sv}", "audio-bitrate", + g_variant_new_int32(bitrate)); g_variant_builder_add (b, "{sv}", "audio-channels", // No GST_TAG g_variant_new_int32(0)); g_variant_builder_add (b, "{sv}", "audio-samplerate", // No GST_TAG @@ -490,6 +491,7 @@ static void handle_get_metadata (const ParoleStream *stream, GVariantBuilder *b) g_free(year); g_free(comment); g_free(stream_uri); + g_free(image_uri); } static GVariant* mpris_Player_get_Metadata (GError **error, Mpris2Provider *provider) _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits