[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

philn at webkit.org philn at webkit.org
Thu Apr 8 02:22:45 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b8bdaf64e1e05daca24301760f8136f97e5042ff
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 15 20:11:55 2010 +0000

    2010-03-15  Philippe Normand  <pnormand at igalia.com>
    
            Reviewed by Gustavo Noronha Silva.
    
            [GStreamer] updateStates called for all elements posting a state-change
            https://bugs.webkit.org/show_bug.cgi?id=36115
    
            * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
            (WebCore::mediaPlayerPrivateMessageCallback): Update player state
            only for state-change messages coming from playbin2 directly.
            * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
            (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
            playbin element.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5b06cee..37ebcd9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -44,6 +44,20 @@
 
 2010-03-15  Philippe Normand  <pnormand at igalia.com>
 
+        Reviewed by Gustavo Noronha Silva.
+
+        [GStreamer] updateStates called for all elements posting a state-change
+        https://bugs.webkit.org/show_bug.cgi?id=36115
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::mediaPlayerPrivateMessageCallback): Update player state
+        only for state-change messages coming from playbin2 directly.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+        (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
+        playbin element.
+
+2010-03-15  Philippe Normand  <pnormand at igalia.com>
+
         Reviewed by  Gustavo Noronha Silva.
 
         [GTK] video playback position query flood when mouse over the video element
diff --git a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
index c58f705..ea268ed 100644
--- a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
+++ b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
@@ -93,6 +93,7 @@ gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpo
     MediaPlayerPrivate* mp = reinterpret_cast<MediaPlayerPrivate*>(data);
     bool issueError = true;
     bool attemptNextLocation = false;
+    GstElement* pipeline = mp->pipeline();
 
     if (message->structure) {
         const gchar* messageTypeName = gst_structure_get_name(message->structure);
@@ -137,7 +138,10 @@ gboolean mediaPlayerPrivateMessageCallback(GstBus* bus, GstMessage* message, gpo
         mp->didEnd();
         break;
     case GST_MESSAGE_STATE_CHANGED:
-        mp->updateStates();
+        // Ignore state changes from internal elements. They are
+        // forwarded to playbin2 anyway.
+        if (GST_MESSAGE_SRC(message) == reinterpret_cast<GstObject*>(pipeline))
+            mp->updateStates();
         break;
     case GST_MESSAGE_BUFFERING:
         mp->processBufferingStats(message);
diff --git a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
index a7daf00..4389b28 100644
--- a/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
+++ b/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
@@ -118,6 +118,7 @@ class MediaPlayerPrivate : public MediaPlayerPrivateInterface {
 
             bool supportsFullscreen() const;
 
+            GstElement* pipeline() const { return m_playBin; }
             bool pipelineReset() const { return m_resetPipeline; }
 
         private:

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list