Title: [123339] trunk
Revision
123339
Author
[email protected]
Date
2012-07-23 08:39:36 -0700 (Mon, 23 Jul 2012)

Log Message

[GTK][jhbuild] Switch to GStreamer 0.11 build
https://bugs.webkit.org/show_bug.cgi?id=91727

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Add a new function to encapsulate the GStreamer API removal of
GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
macro can now be replaced by calling the g_object_is_floating
function.

* platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
* platform/graphics/gstreamer/GStreamerVersioning.cpp:
(gstObjectIsFloating):
* platform/graphics/gstreamer/GStreamerVersioning.h:

Tools:

Switch build-webkit --gtk to GStreamer 0.11 support and build the
necessary GStreamer git modules from JHBuild.

* Scripts/webkitdirs.pm:
(buildAutotoolsProject): Build WebKit with GStreamer 0.11 support.
* gtk/jhbuild.modules: GStreamer build support.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (123338 => 123339)


--- trunk/Source/WebCore/ChangeLog	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Source/WebCore/ChangeLog	2012-07-23 15:39:36 UTC (rev 123339)
@@ -1,3 +1,21 @@
+2012-07-23  Philippe Normand  <[email protected]>
+
+        [GTK][jhbuild] Switch to GStreamer 0.11 build
+        https://bugs.webkit.org/show_bug.cgi?id=91727
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Add a new function to encapsulate the GStreamer API removal of
+        GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
+        macro can now be replaced by calling the g_object_is_floating
+        function.
+
+        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
+        (WTF::adoptGRef):
+        * platform/graphics/gstreamer/GStreamerVersioning.cpp:
+        (gstObjectIsFloating):
+        * platform/graphics/gstreamer/GStreamerVersioning.h:
+
 2012-07-23  Christophe Dumez  <[email protected]>
 
         [EFL] media/controls-styling.html is failing

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp (123338 => 123339)


--- trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GRefPtrGStreamer.cpp	2012-07-23 15:39:36 UTC (rev 123339)
@@ -28,7 +28,7 @@
 
 template <> GRefPtr<GstElement> adoptGRef(GstElement* ptr)
 {
-    ASSERT(!ptr || !GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!ptr || !gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstElement>(ptr, GRefPtrAdopt);
 }
 
@@ -48,7 +48,7 @@
 
 template <> GRefPtr<GstPad> adoptGRef(GstPad* ptr)
 {
-    ASSERT(!ptr || !GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!ptr || !gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstPad>(ptr, GRefPtrAdopt);
 }
 
@@ -68,7 +68,7 @@
 
 template <> GRefPtr<GstPadTemplate> adoptGRef(GstPadTemplate* ptr)
 {
-    ASSERT(!ptr || !GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!ptr || !gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstPadTemplate>(ptr, GRefPtrAdopt);
 }
 
@@ -102,7 +102,7 @@
 
 template <> GRefPtr<GstTask> adoptGRef(GstTask* ptr)
 {
-    ASSERT(!GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstTask>(ptr, GRefPtrAdopt);
 }
 
@@ -122,7 +122,7 @@
 
 template <> GRefPtr<GstBus> adoptGRef(GstBus* ptr)
 {
-    ASSERT(!GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstBus>(ptr, GRefPtrAdopt);
 }
 
@@ -142,7 +142,7 @@
 
 template <> GRefPtr<GstElementFactory> adoptGRef(GstElementFactory* ptr)
 {
-    ASSERT(!GST_OBJECT_IS_FLOATING(GST_OBJECT(ptr)));
+    ASSERT(!gstObjectIsFloating(GST_OBJECT(ptr)));
     return GRefPtr<GstElementFactory>(ptr, GRefPtrAdopt);
 }
 

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.cpp (123338 => 123339)


--- trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.cpp	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.cpp	2012-07-23 15:39:36 UTC (rev 123339)
@@ -105,3 +105,12 @@
     gst_element_class_set_details_simple(elementClass, name, longName, description, author);
 #endif
 }
+
+bool gstObjectIsFloating(GstObject* gstObject)
+{
+#ifdef GST_API_VERSION_1
+    return g_object_is_floating(G_OBJECT(gstObject));
+#else
+    return GST_OBJECT_IS_FLOATING(gstObject);
+#endif
+}

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.h (123338 => 123339)


--- trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.h	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.h	2012-07-23 15:39:36 UTC (rev 123339)
@@ -32,4 +32,5 @@
 bool getVideoSizeAndFormatFromCaps(GstCaps*, WebCore::IntSize&, GstVideoFormat&, int& pixelAspectRatioNumerator, int& pixelAspectRatioDenominator, int& stride);
 GstBuffer* createGstBuffer(GstBuffer*);
 void setGstElementClassMetadata(GstElementClass*, const char* name, const char* longName, const char* description, const char* author);
+bool gstObjectIsFloating(GstObject*);
 #endif // GStreamerVersioning_h

Modified: trunk/Tools/ChangeLog (123338 => 123339)


--- trunk/Tools/ChangeLog	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Tools/ChangeLog	2012-07-23 15:39:36 UTC (rev 123339)
@@ -1,3 +1,17 @@
+2012-07-23  Philippe Normand  <[email protected]>
+
+        [GTK][jhbuild] Switch to GStreamer 0.11 build
+        https://bugs.webkit.org/show_bug.cgi?id=91727
+
+        Reviewed by Gustavo Noronha Silva.
+
+        Switch build-webkit --gtk to GStreamer 0.11 support and build the
+        necessary GStreamer git modules from JHBuild.
+
+        * Scripts/webkitdirs.pm:
+        (buildAutotoolsProject): Build WebKit with GStreamer 0.11 support.
+        * gtk/jhbuild.modules: GStreamer build support.
+
 2012-07-23  Christophe Dumez  <[email protected]>
 
         WebKit2 needs layoutTestController.setAlwaysAcceptCookies

Modified: trunk/Tools/Scripts/webkitdirs.pm (123338 => 123339)


--- trunk/Tools/Scripts/webkitdirs.pm	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Tools/Scripts/webkitdirs.pm	2012-07-23 15:39:36 UTC (rev 123339)
@@ -2090,6 +2090,11 @@
     # Enable unstable features when building through build-webkit.
     push @buildArgs, "--enable-unstable-features";
 
+    # Enable upcoming GStreamer 1.0 build support through build-webkit.
+    if ($project eq 'WebKit') {
+        push @buildArgs, "--with-gstreamer=1.0";
+    }
+
     # We might need to update jhbuild dependencies.
     my $needUpdate = 0;
     if (jhbuildConfigurationChanged()) {

Modified: trunk/Tools/gtk/jhbuild.modules (123338 => 123339)


--- trunk/Tools/gtk/jhbuild.modules	2012-07-23 15:01:14 UTC (rev 123338)
+++ trunk/Tools/gtk/jhbuild.modules	2012-07-23 15:39:36 UTC (rev 123339)
@@ -18,6 +18,11 @@
       <dep package="libsoup"/>
       <dep package="at-spi2-core"/>
       <dep package="at-spi2-atk"/>
+      <dep package="gstreamer"/>
+      <dep package="gst-plugins-base"/>
+      <dep package="gst-plugins-good"/>
+      <dep package="gst-plugins-bad"/>
+      <dep package="gst-ffmpeg"/>
     </dependencies>
   </metamodule>
 
@@ -37,6 +42,12 @@
       href=""
   <repository type="tarball" name="freedesktop.org"
       href=""
+  <repository type="git" name="gstreamer"
+      href=""
+  <repository type="git" name="entropywave"
+      href=""
+  <repository type="tarball" name="xiph"
+              href=""
 
   <autotools id="make" autogen-sh="configure">
     <branch repo="ftp.gnu.org"
@@ -210,4 +221,67 @@
     </dependencies>
   </autotools>
 
+  <autotools id="orc">
+    <branch repo="entropywave" module="orc.git" checkoutdir="orc" tag="orc-0.4.16" />
+  </autotools>
+
+  <autotools id="gstreamer">
+    <branch repo="gstreamer" module="gstreamer" checkoutdir="gstreamer" revision="80f94703f985d8f125196dec1baa08d46657923f"/>
+  </autotools>
+
+  <autotools id="libogg" autogen-sh="configure" >
+     <branch repo="xiph" module="ogg/libogg-1.3.0.tar.gz"
+             hash="sha256:a8de807631014615549d2356fd36641833b8288221cea214f8a72750efe93780"
+             md5sum="0a7eb40b86ac050db3a789ab65fe21c2"
+             version="1.3.0"/>
+  </autotools>
+  <autotools id="libvorbis" autogen-sh="configure" autogenargs="--disable-examples" >
+     <branch repo="xiph" module="vorbis/libvorbis-1.3.3.tar.gz"
+             hash="sha256:6d747efe7ac4ad249bf711527882cef79fb61d9194c45b5ca5498aa60f290762"
+             md5sum="6b1a36f0d72332fae5130688e65efe1f"
+             version="1.3.3"/>
+  </autotools>
+  <autotools id="libtheora" autogen-sh="configure" autogenargs="--disable-examples">
+     <branch repo="xiph" module="theora/libtheora-1.1.1.tar.gz"
+             hash="sha256:40952956c47811928d1e7922cda3bc1f427eb75680c3c37249c91e949054916b"
+             md5sum="bb4dc37f0dc97db98333e7160bfbb52b"
+             version="1.1.1"/>
+    <dependencies>
+      <dep package="libogg"/>
+      <dep package="libvorbis"/>
+    </dependencies>
+  </autotools>
+
+  <autotools id="gst-plugins-base" autogenargs="--disable-examples">
+    <dependencies>
+      <dep package="gstreamer"/>
+      <dep package="libogg"/>
+      <dep package="libvorbis"/>
+      <dep package="libtheora"/>
+      <dep package="orc"/>
+    </dependencies>
+    <branch repo="gstreamer" module="gst-plugins-base" checkoutdir="gst-plugins-base" revision="4b56b731d26eca35967075c34f375788f4a531b3"/>
+  </autotools>
+
+  <autotools id="gst-plugins-good" autogenargs="--disable-examples">
+    <dependencies>
+      <dep package="gst-plugins-base"/>
+    </dependencies>
+    <branch repo="gstreamer" module="gst-plugins-good" checkoutdir="gst-plugins-good" revision="cc6d533521841bc949136e969d96230ad7a30bd2"/>
+  </autotools>
+
+  <autotools id="gst-plugins-bad" autogenargs="--disable-examples">
+    <dependencies>
+      <dep package="gst-plugins-base"/>
+    </dependencies>
+    <branch repo="gstreamer" module="gst-plugins-bad" checkoutdir="gst-plugins-bad" revision="62e5afb95e3e11c4269664c2d782d4e4e7bc803e"/>
+  </autotools>
+
+  <autotools id="gst-ffmpeg" autogenargs="--with-libav-extra-configure='--disable-yasm'">
+    <dependencies>
+      <dep package="gst-plugins-base"/>
+    </dependencies>
+    <branch repo="gstreamer" module="gst-ffmpeg" checkoutdir="gst-ffmpeg" revision="c77db02d6e8a0e5a5190f01d1fe334e13d192766"/>
+  </autotools>
+
 </moduleset>
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to