snappy-player

This commit is contained in:
milisbir 2018-01-19 06:30:57 +02:00
parent fd9919b246
commit f24e4b8ea1
3 changed files with 216 additions and 0 deletions

View File

@ -0,0 +1,25 @@
From 7ccb21a78cb85cf0d12232ec2c82ca194956dd44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 15 Apr 2015 15:46:14 +0200
Subject: [PATCH] Set windowing backend to X11
This required to work with Clutter 1.22.
---
src/snappy.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/snappy.c b/src/snappy.c
index 6054c88..c2bb2d0 100644
--- a/src/snappy.c
+++ b/src/snappy.c
@@ -179,6 +179,7 @@ main (int argc, char *argv[])
context = g_option_context_new ("<media file> - Play movie files");
+ clutter_set_windowing_backend (CLUTTER_WINDOWING_X11);
ci_err = gtk_clutter_init (&argc, &argv);
if (ci_err != CLUTTER_INIT_SUCCESS)
goto quit;
--
2.3.5

View File

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

View File

@ -0,0 +1,27 @@
# Tanım: Minimalist bir arayüzü olan güçlü medya oynatıcı
# URL: https://wiki.gnome.org/Apps/Snappy
# Paketçi: Cihan_Alkan
# Gerekler: gstreamer-plugins-base clutter-gst clutter-gtk
# Grup: medya
isim=snappy-player
surum=1.0
devir=1
kaynak=(https://download.gnome.org/sources/snappy/$surum/snappy-$surum.tar.xz
0001-Set-windowing-backend-to-X11.patch
clutter-gst3.patch)
derle() {
cd snappy-$surum
# Fix compatibility with Clutter 1.22
patch -Np1 -i ../0001-Set-windowing-backend-to-X11.patch
# Port to clutter-gst 3.0
patch -Np1 -i ../clutter-gst3.patch
autoreconf -fi
./configure --prefix=/usr
make
make DESTDIR=$PKG install
}