[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