aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2015-03-02 11:41:47 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-02 22:05:28 +0000
commit708b6793e67fa44c335af83af51f8da36f3f68ca (patch)
tree77d0ad700498361575e24e4b3fe7b3f03c381661
parent148c78e0f5de2689de3ad9beaa9f6de618d87758 (diff)
downloadopenembedded-core-contrib-708b6793e67fa44c335af83af51f8da36f3f68ca.tar.gz
gst-player: port to GTK+ 2
Whilst Sato still uses GTK+ 2 we don't want the overhead of building both GTK+ 2 and GKT+ 3. Luckily gtk-play is a simple application and it's just a small patch away from building with GTK+ 2. When Sato is ported to GTK+ 3 (the mythical Shuku proposal) this patch can be removed. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch71
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-player_git.bb3
2 files changed, 73 insertions, 1 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
new file mode 100644
index 0000000000..2cd18bbc95
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch
@@ -0,0 +1,71 @@
+As the rest of Sato is GTK+ 2, patch gtk-play to use GTK+ 2. When the rest of
+Sato has been ported to GTK+ 3 this patch can be dropped.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+
+diff --git a/configure.ac b/configure.ac
+index b8af13b..90ab74c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -60,7 +60,7 @@ AC_SUBST(GLIB_PREFIX)
+ GST_PREFIX="`$PKG_CONFIG --variable=prefix gstreamer-1.0`"
+ AC_SUBST(GST_PREFIX)
+
+-PKG_CHECK_MODULES(GTK, [gtk+-3.0], [have_gtk="yes"], [have_gtk="no"])
++PKG_CHECK_MODULES(GTK, [gtk+-2.0], [have_gtk="yes"], [have_gtk="no"])
+ AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" != "xno")
+
+ GOBJECT_INTROSPECTION_CHECK([1.31.1])
+diff --git a/gtk/gtk-play.c b/gtk/gtk-play.c
+index f015077..954d6fb 100644
+--- a/gtk/gtk-play.c
++++ b/gtk/gtk-play.c
+@@ -34,6 +34,46 @@ typedef struct
+ gulong seekbar_value_changed_signal_id;
+ } GtkPlay;
+
++/* Compat stubs */
++GtkWidget *
++gtk_box_new (GtkOrientation orientation,
++ gint spacing)
++{
++ switch (orientation) {
++ case GTK_ORIENTATION_HORIZONTAL:
++ return gtk_hbox_new (FALSE, spacing);
++ case GTK_ORIENTATION_VERTICAL:
++ return gtk_vbox_new (FALSE, spacing);
++ }
++}
++
++GtkWidget*
++gtk_button_new_from_icon_name (const gchar *icon_name,
++ GtkIconSize size)
++{
++ GtkWidget *button;
++ GtkWidget *image;
++
++ image = gtk_image_new_from_icon_name (icon_name, size);
++ button = g_object_new (GTK_TYPE_BUTTON,
++ "image", image,
++ NULL);
++ return button;
++}
++
++GtkWidget *
++gtk_scale_new_with_range (GtkOrientation orientation,
++ gdouble min,
++ gdouble max,
++ gdouble step)
++{
++ switch (orientation) {
++ case GTK_ORIENTATION_HORIZONTAL:
++ return gtk_hscale_new_with_range (min, max, step);
++ case GTK_ORIENTATION_VERTICAL:
++ return gtk_vscale_new_with_range (min, max, step);
++ }
++}
+
+ static void
+ set_title (GtkPlay * play, const gchar * title)
diff --git a/meta/recipes-multimedia/gstreamer/gst-player_git.bb b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
index cd96d775d8..988c407c9d 100644
--- a/meta/recipes-multimedia/gstreamer/gst-player_git.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-player_git.bb
@@ -3,10 +3,11 @@ SUMMARY="GStreamer playback helper library and examples"
LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://lib/gst/player/gstplayer.c;beginline=1;endline=19;md5=03aeca9d8295f811817909075a15ff65"
-DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+3"
+DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gtk+"
SRC_URI = "git://github.com/sdroege/gst-player.git \
file://filechooser.patch \
+ file://gtk2.patch \
file://gst-player.desktop"
SRCREV = "5386c5b984d40ef5434673ed62204e69aaf52645"