1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
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
|