From 708b6793e67fa44c335af83af51f8da36f3f68ca Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 2 Mar 2015 11:41:47 +0000 Subject: 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 Signed-off-by: Richard Purdie --- .../gstreamer/gst-player/gtk2.patch | 71 ++++++++++++++++++++++ .../recipes-multimedia/gstreamer/gst-player_git.bb | 3 +- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/gstreamer/gst-player/gtk2.patch 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 + + +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" -- cgit 1.2.3-korg