summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan de Groot2015-11-04 10:00:14 +0000
committerJan de Groot2015-11-04 10:00:14 +0000
commitbddfb0cece1aa04a4582cd9599f590fb1002753f (patch)
tree6c438f2a917d273b4ad0145277c8353543bc3026
parentacd88c406f82544bbc227d8cf3c2dcee2d9b2a49 (diff)
downloadaur-bddfb0cece1aa04a4582cd9599f590fb1002753f.tar.gz
Port to clutter-gst3
-rw-r--r--PKGBUILD12
-rw-r--r--clutter-gst3.patch164
2 files changed, 172 insertions, 4 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 870139c6f8c3..06b3d6e1e89a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,12 +3,12 @@
pkgname=snappy-player
_pkgname=snappy
pkgver=1.0
-pkgrel=2
+pkgrel=3
pkgdesc="Powerful media player with a minimalistic interface"
arch=('i686' 'x86_64')
url="https://wiki.gnome.org/Apps/Snappy"
license=('GPL')
-depends=('gst-plugins-base' 'clutter-gst2' 'clutter-gtk' 'desktop-file-utils')
+depends=('gst-plugins-base' 'clutter-gst' 'clutter-gtk' 'desktop-file-utils')
optdepends=('gst-plugins-good: Extra media codecs'
'gst-plugins-bad: Extra media codecs'
'gst-plugins-ugly: Extra media codecs'
@@ -16,18 +16,22 @@ optdepends=('gst-plugins-good: Extra media codecs'
'gst-vaapi: Hardware accelerated video decode')
install=$pkgname.install
source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/$pkgver/$_pkgname-$pkgver.tar.xz
- 0001-Set-windowing-backend-to-X11.patch)
+ 0001-Set-windowing-backend-to-X11.patch
+ clutter-gst3.patch)
sha256sums=('0d33a05c1ad3cc075b8b9bf38d45634ea5204159454597b0882dd6a8d9763f58'
- 'cfd50c1768d206feb3bb7310e53363ca02a78ce200b1e2ba7b16bccd4720b176')
+ 'cfd50c1768d206feb3bb7310e53363ca02a78ce200b1e2ba7b16bccd4720b176'
+ '0c9e0f5cacd03c204871e301e11e5cc904e7fbece38f0162ff63b3e2b3bbc7bf')
prepare() {
cd $_pkgname-$pkgver
# Fix compatibility with Clutter 1.22
patch -Np1 -i ../0001-Set-windowing-backend-to-X11.patch
+ patch -Np1 -i ../clutter-gst3.patch
}
build() {
cd $_pkgname-$pkgver
+ autoreconf -fi
./configure --prefix=/usr
make
}
diff --git a/clutter-gst3.patch b/clutter-gst3.patch
new file mode 100644
index 000000000000..8f6a56360b2a
--- /dev/null
+++ b/clutter-gst3.patch
@@ -0,0 +1,164 @@
+From 872fc2ed3d0339559e4023523fa0935f168f631a Mon Sep 17 00:00:00 2001
+From: Luis de Bethencourt <luis@debethencourt.com>
+Date: Tue, 28 Jul 2015 12:06:16 +0100
+Subject: clutter: upgrade to clutter-gst-3.0
+
+---
+ configure.ac | 4 ++--
+ src/gst_engine.c | 2 +-
+ src/gst_engine.h | 5 +++--
+ src/snappy.c | 7 ++-----
+ src/user_interface.h | 4 ++++
+ 5 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b2986c6..75ffb8d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,7 +35,7 @@ AC_CANONICAL_HOST
+ # keep one single GST_REQ, core/base should be same versions anyway
+ GST_REQ=1.0.0
+ CLUTTER_REQS=1.12.0
+-CLUTTER_GST_REQS=2.0.0
++CLUTTER_GST_REQS=2.99.2
+ CLUTTER_GTK_REQS=1.0.2
+ GTK_REQS=3.5.0
+ GIO_REQ=2.32
+@@ -55,7 +55,7 @@ PKG_CHECK_MODULES([CLUTTER],
+ AC_SUBST(CLUTTER_CFLAGS)
+ AC_SUBST(CLUTTER_LIBS)
+
+-PKG_CHECK_MODULES([CLUTTER_GST], [clutter-gst-2.0 >= $CLUTTER_GST_REQS])
++PKG_CHECK_MODULES([CLUTTER_GST], [clutter-gst-3.0 >= $CLUTTER_GST_REQS])
+ AC_SUBST(CLUTTER_GST_CFLAGS)
+ AC_SUBST(CLUTTER_GST_LIBS)
+
+diff --git a/src/gst_engine.c b/src/gst_engine.c
+index 8fc16d4..431d77c 100644
+--- a/src/gst_engine.c
++++ b/src/gst_engine.c
+@@ -724,7 +724,7 @@ cycle_streams (GstEngine * engine, guint streamid)
+
+ /* Init GstEngine variables */
+ gboolean
+-engine_init (GstEngine * engine, GstElement * sink)
++engine_init (GstEngine * engine, ClutterGstVideoSink * sink)
+ {
+ engine->playing = FALSE;
+ engine->direction_foward = TRUE;
+diff --git a/src/gst_engine.h b/src/gst_engine.h
+index 70dce63..1c044eb 100644
+--- a/src/gst_engine.h
++++ b/src/gst_engine.h
+@@ -24,6 +24,7 @@
+ #define __GST_ENGINE_H__
+
+ #include <gst/gst.h>
++#include <clutter-gst/clutter-gst.h>
+
+ /* GStreamer Interfaces */
+ #include <gst/video/navigation.h>
+@@ -50,7 +51,7 @@ struct _GstEngine
+ gchar *uri;
+
+ GstElement *player;
+- GstElement *sink;
++ ClutterGstVideoSink *sink;
+
+ GstBus *bus;
+
+@@ -64,7 +65,7 @@ gboolean bus_call (GstBus * bus, GstMessage * msg, gpointer data);
+ gboolean change_state (GstEngine * engine, gchar * state);
+ gboolean check_missing_plugins_error (GstEngine * engine, GstMessage * msg);
+ gboolean cycle_streams (GstEngine * engine, guint streamid);
+-gboolean engine_init (GstEngine * engine, GstElement * sink);
++gboolean engine_init (GstEngine * engine, ClutterGstVideoSink * sink);
+ gboolean engine_change_offset (GstEngine * engine, gint64 av_offest);
+ gboolean engine_change_speed (GstEngine * engine, gdouble rate);
+ void engine_load_uri (GstEngine * engine, gchar * uri);
+diff --git a/src/snappy.c b/src/snappy.c
+index c2bb2d0..c06fd10 100644
+--- a/src/snappy.c
++++ b/src/snappy.c
+@@ -29,9 +29,6 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <clutter/clutter.h>
+-#include <clutter-gst/clutter-gst.h>
+-#include <clutter-gtk/clutter-gtk.h>
+
+ #include "user_interface.h"
+
+@@ -160,7 +157,7 @@ main (int argc, char *argv[])
+ UserInterface *ui = NULL;
+ GstEngine *engine = NULL;
+ ClutterActor *video_texture;
+- GstElement *sink;
++ ClutterGstVideoSink *sink;
+
+ gboolean ok, blind = FALSE, fullscreen = FALSE, hide = FALSE, loop = FALSE;
+ gboolean secret = FALSE, tags = FALSE;
+@@ -230,7 +227,7 @@ main (int argc, char *argv[])
+
+ /* Gstreamer engine */
+ engine = g_new (GstEngine, 1);
+- sink = gst_element_factory_make ("cluttersink", "video-sink");
++ sink = clutter_gst_video_sink_new ();
+ if (sink == NULL) {
+ g_print ("ERROR: Failed to create clutter-gst sink element\n");
+ return FALSE;
+diff --git a/src/user_interface.h b/src/user_interface.h
+index 6fe43c5..b011da0 100644
+--- a/src/user_interface.h
++++ b/src/user_interface.h
+@@ -23,6 +23,10 @@
+ #ifndef __USER_INTERFACE_H__
+ #define __USER_INTERFACE_H__
+
++#include <clutter/clutter.h>
++#include <clutter-gst/clutter-gst.h>
++#include <clutter-gtk/clutter-gtk.h>
++
+ #include <gtk/gtk.h>
+
+ #include "gst_engine.h"
+--
+cgit v0.11.2
+
+From f33f7a5e9424544884a37b264bf88ee1866a56ac Mon Sep 17 00:00:00 2001
+From: Luis de Bethencourt <luis@debethencourt.com>
+Date: Tue, 28 Jul 2015 14:02:44 +0100
+Subject: clutter: update method to create video texture
+
+---
+ src/snappy.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/snappy.c b/src/snappy.c
+index c06fd10..94b6e5b 100644
+--- a/src/snappy.c
++++ b/src/snappy.c
+@@ -222,8 +222,6 @@ main (int argc, char *argv[])
+ ui->tags = tags;
+ ui->data_dir = data_dir;
+ interface_init (ui);
+- video_texture = g_object_new (CLUTTER_TYPE_TEXTURE, "disable-slicing", TRUE,
+- NULL);
+
+ /* Gstreamer engine */
+ engine = g_new (GstEngine, 1);
+@@ -232,7 +230,9 @@ main (int argc, char *argv[])
+ g_print ("ERROR: Failed to create clutter-gst sink element\n");
+ return FALSE;
+ }
+- g_object_set (G_OBJECT (sink), "texture", video_texture, NULL);
++ video_texture = g_object_new (CLUTTER_TYPE_ACTOR, "content",
++ g_object_new (CLUTTER_GST_TYPE_CONTENT, "sink", sink, NULL),
++ "name", "texture", NULL);
+
+ ok = engine_init (engine, sink);
+ if (!ok)
+--
+cgit v0.11.2
+