[rhythmbox] playbin: ignore tags received during stream changes



commit eeee291273a0b6171f0b0bcc75f52ed46fb8339e
Author: Jonathan Matthew <jonathan d14n org>
Date:   Fri May 9 08:53:50 2014 +1000

    playbin: ignore tags received during stream changes
    
    These are always from the previous stream, which it's too late to apply
    them to, and we don't want to apply them to the next stream.

 backends/gstreamer/rb-player-gst.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/backends/gstreamer/rb-player-gst.c b/backends/gstreamer/rb-player-gst.c
index f5c00d6..97f3dab 100644
--- a/backends/gstreamer/rb-player-gst.c
+++ b/backends/gstreamer/rb-player-gst.c
@@ -574,9 +574,15 @@ bus_cb (GstBus *bus, GstMessage *message, RBPlayerGst *mp)
 
        case GST_MESSAGE_TAG: {
                GstTagList *tags;
+
+               if (mp->priv->playbin_stream_changing) {
+                       rb_debug ("ignoring tags during playbin stream change");
+                       break;
+               }
+
                gst_message_parse_tag (message, &tags);
 
-               if (mp->priv->stream_change_pending || mp->priv->playbin_stream_changing) {
+               if (mp->priv->stream_change_pending) {
                        mp->priv->stream_tags = g_list_append (mp->priv->stream_tags, tags);
                } else {
                        gst_tag_list_foreach (tags, (GstTagForeachFunc) process_tag, mp);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]