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.

(From OE-Core rev: 708b6793e67fa44c335af83af51f8da36f3f68ca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2015-03-02 11:41:47 +00:00 committed by Richard Purdie
parent 3fb3030f32
commit 03a357765f
2 changed files with 73 additions and 1 deletions

View File

@ -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)

View File

@ -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"