[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

philn at webkit.org philn at webkit.org
Wed Dec 22 14:45:18 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 14c1ba08eb587f9b93b79a5d6ff4c6a3d529abc5
Author: philn at webkit.org <philn at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 19 12:15:52 2010 +0000

    2010-10-19  Philippe Normand  <pnormand at igalia.com>
    
            Reviewed by Martin Robinson.
    
            GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
            https://bugs.webkit.org/show_bug.cgi?id=46790
    
            Simple API addition to PlatformVideoWindow to allow
            implementations to optionally prepare their own PlatformWidget
            before applying the GStreamer XOverlay to it. This will likely be
            needed on Mac OSX only.
    
            * platform/graphics/gstreamer/GStreamerGWorld.cpp:
            (WebCore::GStreamerGWorld::setWindowOverlay):
            * platform/graphics/gstreamer/PlatformVideoWindow.h:
            * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
            (PlatformVideoWindow::prepareForOverlay):
            * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
            (PlatformVideoWindow::prepareForOverlay):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70048 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index c0c686b..a6a29bd 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2010-10-19  Philippe Normand  <pnormand at igalia.com>
+
+        Reviewed by Martin Robinson.
+
+        GStreamer PlatformVideoWindow needs an API to prepare the widget before applying the overlay
+        https://bugs.webkit.org/show_bug.cgi?id=46790
+
+        Simple API addition to PlatformVideoWindow to allow
+        implementations to optionally prepare their own PlatformWidget
+        before applying the GStreamer XOverlay to it. This will likely be
+        needed on Mac OSX only.
+
+        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
+        (WebCore::GStreamerGWorld::setWindowOverlay):
+        * platform/graphics/gstreamer/PlatformVideoWindow.h:
+        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
+        (PlatformVideoWindow::prepareForOverlay):
+        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
+        (PlatformVideoWindow::prepareForOverlay):
+
 2010-10-19  Ben Murdoch  <benm at google.com>
 
         Reviewed by Steve Block.
diff --git a/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp b/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
index 539d92a..1cb561e 100644
--- a/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
+++ b/WebCore/platform/graphics/gstreamer/GStreamerGWorld.cpp
@@ -194,12 +194,14 @@ void GStreamerGWorld::setWindowOverlay(GstMessage* message)
     if (g_object_class_find_property(G_OBJECT_GET_CLASS(sink), "force-aspect-ratio"))
         g_object_set(sink, "force-aspect-ratio", TRUE, NULL);
 
-    if (m_videoWindow)
+    if (m_videoWindow) {
+        m_videoWindow->prepareForOverlay(message);
 #if GST_CHECK_VERSION(0, 10, 31) || GST_VERSION_NANO
         gst_x_overlay_set_window_handle(GST_X_OVERLAY(sink), m_videoWindow->videoWindowId());
 #else
         gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(sink), m_videoWindow->videoWindowId());
 #endif
+    }
 }
 
 }
diff --git a/WebCore/platform/graphics/gstreamer/PlatformVideoWindow.h b/WebCore/platform/graphics/gstreamer/PlatformVideoWindow.h
index f3df207..f2a3ff2 100644
--- a/WebCore/platform/graphics/gstreamer/PlatformVideoWindow.h
+++ b/WebCore/platform/graphics/gstreamer/PlatformVideoWindow.h
@@ -25,6 +25,8 @@
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefCounted.h>
 
+typedef struct _GstMessage GstMessage;
+
 namespace WebCore {
 
 class PlatformVideoWindow : public RefCounted<PlatformVideoWindow> {
@@ -34,6 +36,8 @@ class PlatformVideoWindow : public RefCounted<PlatformVideoWindow> {
         PlatformVideoWindow();
         ~PlatformVideoWindow();
 
+
+        void prepareForOverlay(GstMessage*);
         PlatformWidget window() const { return m_window; }
         unsigned long videoWindowId() const { return m_videoWindowId; }
 
diff --git a/WebCore/platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp b/WebCore/platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp
index c55b9cc..0097716 100644
--- a/WebCore/platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp
+++ b/WebCore/platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp
@@ -35,4 +35,8 @@ PlatformVideoWindow::~PlatformVideoWindow()
     notImplemented();
 }
 
+void PlatformVideoWindow::prepareForOverlay(GstMessage*)
+{
+}
+
 #endif // USE(GSTREAMER)
diff --git a/WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp b/WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp
index 77343ae..c2f76cd 100644
--- a/WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp
+++ b/WebCore/platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp
@@ -61,4 +61,9 @@ PlatformVideoWindow::~PlatformVideoWindow()
 
     m_videoWindowId = 0;
 }
+
+void PlatformVideoWindow::prepareForOverlay(GstMessage*)
+{
+}
 #endif // USE(GSTREAMER)
+

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list