clutter-gstreamer 2.2.4-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +70 -0
- data/lib/clutter-gst.rb +79 -0
- data/lib/clutter-gstreamer.rb +17 -0
- data/sample/media-actions-pause.png +0 -0
- data/sample/media-actions-start.png +0 -0
- data/sample/vid-panel.png +0 -0
- data/sample/video-player.rb +376 -0
- data/sample/video-sink-navigation.rb +98 -0
- data/sample/video-sink.rb +87 -0
- data/test/clutter-gstreamer-test-utils.rb +41 -0
- data/test/run-test.rb +63 -0
- data/test/test-clutter-gst.rb +26 -0
- data/vendor/local/bin/libclutter-gst-3.0-0.dll +0 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-aspectratio.h +105 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera-device.h +119 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera-manager.h +100 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera.h +206 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-content.h +107 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-crop.h +104 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-enum-types.h +23 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-playback.h +169 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-player.h +157 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-types.h +167 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-util.h +53 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-version.h +98 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-video-sink.h +124 -0
- data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst.h +47 -0
- data/vendor/local/lib/girepository-1.0/ClutterGst-3.0.typelib +0 -0
- data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.dll +0 -0
- data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.dll.a +0 -0
- data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.la +41 -0
- data/vendor/local/lib/libclutter-gst-3.0.dll.a +0 -0
- data/vendor/local/lib/libclutter-gst-3.0.la +41 -0
- data/vendor/local/lib/pkgconfig/clutter-gst-3.0.pc +12 -0
- data/vendor/local/share/gir-1.0/ClutterGst-3.0.gir +3308 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstAspectratio.html +171 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCamera.html +1528 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCameraDevice.html +418 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstContent.html +551 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCrop.html +198 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstPlayback.html +1559 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstPlayer.html +805 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch01.html +33 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch02.html +42 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch03.html +45 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch04.html +35 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch05.html +39 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-3.0.devhelp2 +197 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Utilities.html +316 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Versioning-Macros.html +176 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Video-Sink.html +560 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/index.html +98 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/index.sgml +273 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/license.html +59 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/style.css +476 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/up.png +0 -0
- data/vendor/local/share/license/clutter-gst/AUTHORS +7 -0
- data/vendor/local/share/license/clutter-gst/COPYING +502 -0
- metadata +163 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
/* Generated data (by glib-mkenums) */
|
3
|
+
|
4
|
+
#ifndef __CLUTTER_GST_ENUM_TYPES_H__
|
5
|
+
#define __CLUTTER_GST_ENUM_TYPES_H__
|
6
|
+
|
7
|
+
#include <glib-object.h>
|
8
|
+
|
9
|
+
G_BEGIN_DECLS
|
10
|
+
|
11
|
+
/* enumerations from "./clutter-gst-types.h" */
|
12
|
+
GType clutter_gst_seek_flags_get_type (void) G_GNUC_CONST;
|
13
|
+
#define CLUTTER_GST_TYPE_SEEK_FLAGS (clutter_gst_seek_flags_get_type())
|
14
|
+
|
15
|
+
GType clutter_gst_buffering_mode_get_type (void) G_GNUC_CONST;
|
16
|
+
#define CLUTTER_GST_TYPE_BUFFERING_MODE (clutter_gst_buffering_mode_get_type())
|
17
|
+
|
18
|
+
G_END_DECLS
|
19
|
+
|
20
|
+
#endif /* !__CLUTTER_GST_ENUM_TYPES_H__ */
|
21
|
+
|
22
|
+
/* Generated data ends here */
|
23
|
+
|
@@ -0,0 +1,169 @@
|
|
1
|
+
/*
|
2
|
+
* Clutter-GStreamer.
|
3
|
+
*
|
4
|
+
* GStreamer integration library for Clutter.
|
5
|
+
*
|
6
|
+
* clutter-gst-player.h - Wrap some convenience functions around playbin2
|
7
|
+
*
|
8
|
+
* Authored By Damien Lespiau <damien.lespiau@intel.com>
|
9
|
+
* Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
|
10
|
+
* Matthew Allum <mallum@openedhand.com>
|
11
|
+
* Emmanuele Bassi <ebassi@linux.intel.com>
|
12
|
+
* Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
|
13
|
+
*
|
14
|
+
* Copyright (C) 2006 OpenedHand
|
15
|
+
* Copyright (C) 2009-2013 Intel Corporation
|
16
|
+
* Copyright (C) 2012 Collabora Ltd. <http://www.collabora.co.uk/>
|
17
|
+
*
|
18
|
+
* This library is free software; you can redistribute it and/or
|
19
|
+
* modify it under the terms of the GNU Lesser General Public
|
20
|
+
* License as published by the Free Software Foundation; either
|
21
|
+
* version 2 of the License, or (at your option) any later version.
|
22
|
+
*
|
23
|
+
* This library is distributed in the hope that it will be useful,
|
24
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
25
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
26
|
+
* Lesser General Public License for more details.
|
27
|
+
*
|
28
|
+
* You should have received a copy of the GNU Lesser General Public
|
29
|
+
* License along with this library; if not, write to the
|
30
|
+
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
31
|
+
* Boston, MA 02111-1307, USA.
|
32
|
+
*/
|
33
|
+
|
34
|
+
#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
|
35
|
+
#error "Only <clutter-gst/clutter-gst.h> can be include directly."
|
36
|
+
#endif
|
37
|
+
|
38
|
+
#ifndef __CLUTTER_GST_PLAYBACK_H__
|
39
|
+
#define __CLUTTER_GST_PLAYBACK_H__
|
40
|
+
|
41
|
+
#include <glib-object.h>
|
42
|
+
|
43
|
+
#include <clutter-gst/clutter-gst-types.h>
|
44
|
+
#include <gst/gst.h>
|
45
|
+
|
46
|
+
G_BEGIN_DECLS
|
47
|
+
|
48
|
+
#define CLUTTER_GST_TYPE_PLAYBACK clutter_gst_playback_get_type()
|
49
|
+
|
50
|
+
#define CLUTTER_GST_PLAYBACK(obj) \
|
51
|
+
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
|
52
|
+
CLUTTER_GST_TYPE_PLAYBACK, \
|
53
|
+
ClutterGstPlayback))
|
54
|
+
|
55
|
+
#define CLUTTER_GST_PLAYBACK_CLASS(klass) \
|
56
|
+
(G_TYPE_CHECK_CLASS_CAST ((klass), \
|
57
|
+
CLUTTER_GST_TYPE_PLAYBACK, \
|
58
|
+
ClutterGstPlaybackClass))
|
59
|
+
|
60
|
+
#define CLUTTER_GST_IS_PLAYBACK(obj) \
|
61
|
+
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
|
62
|
+
CLUTTER_GST_TYPE_PLAYBACK))
|
63
|
+
|
64
|
+
#define CLUTTER_GST_IS_PLAYBACK_CLASS(klass) \
|
65
|
+
(G_TYPE_CHECK_CLASS_TYPE ((klass), \
|
66
|
+
CLUTTER_GST_TYPE_PLAYBACK))
|
67
|
+
|
68
|
+
#define CLUTTER_GST_PLAYBACK_GET_CLASS(obj) \
|
69
|
+
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
|
70
|
+
CLUTTER_GST_TYPE_PLAYBACK, \
|
71
|
+
ClutterGstPlaybackClass))
|
72
|
+
|
73
|
+
typedef struct _ClutterGstPlayback ClutterGstPlayback;
|
74
|
+
typedef struct _ClutterGstPlaybackClass ClutterGstPlaybackClass;
|
75
|
+
typedef struct _ClutterGstPlaybackPrivate ClutterGstPlaybackPrivate;
|
76
|
+
|
77
|
+
/**
|
78
|
+
* ClutterGstPlayback:
|
79
|
+
*
|
80
|
+
* Implementation of #ClutterGstPlayback that displays media streams
|
81
|
+
* using GStreamer.
|
82
|
+
*
|
83
|
+
* The #ClutterGstPlayback structure contains only private data and
|
84
|
+
* should not be accessed directly.
|
85
|
+
*/
|
86
|
+
struct _ClutterGstPlayback
|
87
|
+
{
|
88
|
+
GObject parent;
|
89
|
+
|
90
|
+
ClutterGstPlaybackPrivate *priv;
|
91
|
+
};
|
92
|
+
|
93
|
+
/**
|
94
|
+
* ClutterGstPlaybackClass:
|
95
|
+
* @download_buffering: signal class closure for #ClutterGstPlayback::download-buffering
|
96
|
+
*
|
97
|
+
* Base class for #ClutterGstPlayback.
|
98
|
+
*/
|
99
|
+
struct _ClutterGstPlaybackClass
|
100
|
+
{
|
101
|
+
/*< private >*/
|
102
|
+
GObjectClass parent_class;
|
103
|
+
|
104
|
+
/*< public >*/
|
105
|
+
/* signals */
|
106
|
+
gboolean (* should_buffer) (ClutterGstPlayback *self,
|
107
|
+
GstQuery *query);
|
108
|
+
};
|
109
|
+
|
110
|
+
GType clutter_gst_playback_get_type (void) G_GNUC_CONST;
|
111
|
+
|
112
|
+
ClutterGstPlayback * clutter_gst_playback_new (void);
|
113
|
+
|
114
|
+
void clutter_gst_playback_set_uri (ClutterGstPlayback *self,
|
115
|
+
const gchar *uri);
|
116
|
+
gchar * clutter_gst_playback_get_uri (ClutterGstPlayback *self);
|
117
|
+
void clutter_gst_playback_set_filename (ClutterGstPlayback *self,
|
118
|
+
const gchar *filename);
|
119
|
+
|
120
|
+
gchar * clutter_gst_playback_get_user_agent (ClutterGstPlayback *self);
|
121
|
+
void clutter_gst_playback_set_user_agent (ClutterGstPlayback *self,
|
122
|
+
const gchar *user_agent);
|
123
|
+
|
124
|
+
ClutterGstSeekFlags clutter_gst_playback_get_seek_flags (ClutterGstPlayback *self);
|
125
|
+
void clutter_gst_playback_set_seek_flags (ClutterGstPlayback *self,
|
126
|
+
ClutterGstSeekFlags flags);
|
127
|
+
|
128
|
+
ClutterGstBufferingMode clutter_gst_playback_get_buffering_mode (ClutterGstPlayback *self);
|
129
|
+
void clutter_gst_playback_set_buffering_mode (ClutterGstPlayback *self,
|
130
|
+
ClutterGstBufferingMode mode);
|
131
|
+
gdouble clutter_gst_playback_get_buffer_fill (ClutterGstPlayback *self);
|
132
|
+
gint clutter_gst_playback_get_buffer_size (ClutterGstPlayback *self);
|
133
|
+
void clutter_gst_playback_set_buffer_size (ClutterGstPlayback *self,
|
134
|
+
gint size);
|
135
|
+
gint64 clutter_gst_playback_get_buffer_duration (ClutterGstPlayback *self);
|
136
|
+
void clutter_gst_playback_set_buffer_duration (ClutterGstPlayback *self,
|
137
|
+
gint64 duration);
|
138
|
+
|
139
|
+
GList * clutter_gst_playback_get_audio_streams (ClutterGstPlayback *self);
|
140
|
+
gint clutter_gst_playback_get_audio_stream (ClutterGstPlayback *self);
|
141
|
+
void clutter_gst_playback_set_audio_stream (ClutterGstPlayback *self,
|
142
|
+
gint index_);
|
143
|
+
|
144
|
+
void clutter_gst_playback_set_subtitle_uri (ClutterGstPlayback *self,
|
145
|
+
const gchar *uri);
|
146
|
+
gchar * clutter_gst_playback_get_subtitle_uri (ClutterGstPlayback *self);
|
147
|
+
void clutter_gst_playback_set_subtitle_font_name
|
148
|
+
(ClutterGstPlayback *self,
|
149
|
+
const char *font_name);
|
150
|
+
gchar * clutter_gst_playback_get_subtitle_font_name
|
151
|
+
(ClutterGstPlayback *self);
|
152
|
+
GList * clutter_gst_playback_get_subtitle_tracks (ClutterGstPlayback *self);
|
153
|
+
gint clutter_gst_playback_get_subtitle_track (ClutterGstPlayback *self);
|
154
|
+
void clutter_gst_playback_set_subtitle_track (ClutterGstPlayback *self,
|
155
|
+
gint index_);
|
156
|
+
|
157
|
+
gboolean clutter_gst_playback_get_in_seek (ClutterGstPlayback *self);
|
158
|
+
|
159
|
+
void clutter_gst_playback_set_progress (ClutterGstPlayback *self,
|
160
|
+
gdouble progress);
|
161
|
+
gdouble clutter_gst_playback_get_progress (ClutterGstPlayback *self);
|
162
|
+
gdouble clutter_gst_playback_get_position (ClutterGstPlayback *self);
|
163
|
+
gdouble clutter_gst_playback_get_duration (ClutterGstPlayback *self);
|
164
|
+
|
165
|
+
gboolean clutter_gst_playback_is_live_media (ClutterGstPlayback *self);
|
166
|
+
|
167
|
+
G_END_DECLS
|
168
|
+
|
169
|
+
#endif /* __CLUTTER_GST_PLAYBACK_H__ */
|
@@ -0,0 +1,157 @@
|
|
1
|
+
/*
|
2
|
+
* Clutter-GStreamer.
|
3
|
+
*
|
4
|
+
* GStreamer integration library for Clutter.
|
5
|
+
*
|
6
|
+
* clutter-gst-player.h - Wrap some convenience functions around playbin2
|
7
|
+
*
|
8
|
+
* Authored By Damien Lespiau <damien.lespiau@intel.com>
|
9
|
+
* Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
|
10
|
+
* Matthew Allum <mallum@openedhand.com>
|
11
|
+
* Emmanuele Bassi <ebassi@linux.intel.com>
|
12
|
+
* Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
|
13
|
+
*
|
14
|
+
* Copyright (C) 2006 OpenedHand
|
15
|
+
* Copyright (C) 2009-2013 Intel Corporation
|
16
|
+
* Copyright (C) 2012 Collabora Ltd. <http://www.collabora.co.uk/>
|
17
|
+
*
|
18
|
+
* This library is free software; you can redistribute it and/or
|
19
|
+
* modify it under the terms of the GNU Lesser General Public
|
20
|
+
* License as published by the Free Software Foundation; either
|
21
|
+
* version 2 of the License, or (at your option) any later version.
|
22
|
+
*
|
23
|
+
* This library is distributed in the hope that it will be useful,
|
24
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
25
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
26
|
+
* Lesser General Public License for more details.
|
27
|
+
*
|
28
|
+
* You should have received a copy of the GNU Lesser General Public
|
29
|
+
* License along with this library; if not, write to the
|
30
|
+
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
31
|
+
* Boston, MA 02111-1307, USA.
|
32
|
+
*/
|
33
|
+
|
34
|
+
#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
|
35
|
+
#error "Only <clutter-gst/clutter-gst.h> can be include directly."
|
36
|
+
#endif
|
37
|
+
|
38
|
+
#ifndef __CLUTTER_GST_PLAYER_H__
|
39
|
+
#define __CLUTTER_GST_PLAYER_H__
|
40
|
+
|
41
|
+
#include <glib-object.h>
|
42
|
+
#include <gst/gst.h>
|
43
|
+
|
44
|
+
#include <clutter-gst/clutter-gst-types.h>
|
45
|
+
#include <clutter-gst/clutter-gst-video-sink.h>
|
46
|
+
|
47
|
+
G_BEGIN_DECLS
|
48
|
+
|
49
|
+
#define CLUTTER_GST_TYPE_PLAYER clutter_gst_player_get_type()
|
50
|
+
|
51
|
+
#define CLUTTER_GST_PLAYER(obj) \
|
52
|
+
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
|
53
|
+
CLUTTER_GST_TYPE_PLAYER, \
|
54
|
+
ClutterGstPlayer))
|
55
|
+
#define CLUTTER_GST_IS_PLAYER(obj) \
|
56
|
+
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
|
57
|
+
CLUTTER_GST_TYPE_PLAYER))
|
58
|
+
#define CLUTTER_GST_PLAYER_GET_INTERFACE(obj) \
|
59
|
+
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), \
|
60
|
+
CLUTTER_GST_TYPE_PLAYER, \
|
61
|
+
ClutterGstPlayerIface))
|
62
|
+
|
63
|
+
typedef struct _ClutterGstPlayer ClutterGstPlayer;
|
64
|
+
typedef struct _ClutterGstPlayerIface ClutterGstPlayerIface;
|
65
|
+
typedef struct _ClutterGstPlayerIfacePrivate ClutterGstPlayerIfacePrivate;
|
66
|
+
|
67
|
+
|
68
|
+
/**
|
69
|
+
* ClutterGstPlayer:
|
70
|
+
*
|
71
|
+
* #ClutterGstPlayer is an opaque structure whose members cannot be
|
72
|
+
* directly accessed
|
73
|
+
*
|
74
|
+
* Since: 1.4
|
75
|
+
*/
|
76
|
+
|
77
|
+
/**
|
78
|
+
* ClutterGstPlayerIface:
|
79
|
+
* @get_frame: virtual function; returns the current visible frame
|
80
|
+
* @get_pipeline: virtual function; returns the current GStreamer pipeline
|
81
|
+
* @get_video_sink: virtual function; returns the current ClutterGst video sink
|
82
|
+
* @get_idle: virtual function; returns whether the player is currently in idle state
|
83
|
+
* @get_audio_volume: virtual function; returns the current audio volume
|
84
|
+
* @set_audio_volume: virtual function; sets the audio volume
|
85
|
+
* @get_playing: virtual function; returns whether the player is currently playing
|
86
|
+
* @set_playing: virtual function; starts or stops the player from playing
|
87
|
+
* @new_frame: signal class closure for #ClutterGstPlayer::new-frame
|
88
|
+
* @ready: signal class closure for #ClutterGstPlayer::ready
|
89
|
+
* @eos: signal class closure for #ClutterGstPlayer::eos
|
90
|
+
* @error: signal class closure for #ClutterGstPlayer::error
|
91
|
+
* @size_change: signal class closure for #ClutterGstPlayer::size-change
|
92
|
+
*
|
93
|
+
* Interface vtable for #ClutterGstPlayer implementations
|
94
|
+
*
|
95
|
+
* Since: 1.4
|
96
|
+
*/
|
97
|
+
struct _ClutterGstPlayerIface
|
98
|
+
{
|
99
|
+
/*< private >*/
|
100
|
+
GTypeInterface base_iface;
|
101
|
+
|
102
|
+
ClutterGstPlayerIfacePrivate *priv;
|
103
|
+
|
104
|
+
/*< public >*/
|
105
|
+
ClutterGstFrame *(* get_frame) (ClutterGstPlayer *self);
|
106
|
+
GstElement * (* get_pipeline) (ClutterGstPlayer *self);
|
107
|
+
ClutterGstVideoSink *(* get_video_sink) (ClutterGstPlayer *self);
|
108
|
+
|
109
|
+
gboolean (* get_idle) (ClutterGstPlayer *self);
|
110
|
+
|
111
|
+
gdouble (* get_audio_volume) (ClutterGstPlayer *self);
|
112
|
+
void (* set_audio_volume) (ClutterGstPlayer *self,
|
113
|
+
gdouble volume);
|
114
|
+
|
115
|
+
gboolean (* get_playing) (ClutterGstPlayer *self);
|
116
|
+
void (* set_playing) (ClutterGstPlayer *self,
|
117
|
+
gboolean playing);
|
118
|
+
|
119
|
+
/*< private >*/
|
120
|
+
gpointer _padding_vfuncs[16];
|
121
|
+
|
122
|
+
/*< public >*/
|
123
|
+
/* signals */
|
124
|
+
void (* new_frame) (ClutterGstPlayer *self, ClutterGstFrame *frame);
|
125
|
+
void (* ready) (ClutterGstPlayer *self);
|
126
|
+
void (* eos) (ClutterGstPlayer *self);
|
127
|
+
void (* error) (ClutterGstPlayer *self,
|
128
|
+
const GError *error);
|
129
|
+
void (* size_change) (ClutterGstPlayer *self,
|
130
|
+
gint width,
|
131
|
+
gint height);
|
132
|
+
|
133
|
+
/*< private >*/
|
134
|
+
gpointer _padding_signals[8];
|
135
|
+
};
|
136
|
+
|
137
|
+
GType clutter_gst_player_get_type (void) G_GNUC_CONST;
|
138
|
+
|
139
|
+
ClutterGstFrame * clutter_gst_player_get_frame (ClutterGstPlayer *self);
|
140
|
+
|
141
|
+
GstElement * clutter_gst_player_get_pipeline (ClutterGstPlayer *self);
|
142
|
+
|
143
|
+
ClutterGstVideoSink * clutter_gst_player_get_video_sink (ClutterGstPlayer *self);
|
144
|
+
|
145
|
+
gboolean clutter_gst_player_get_idle (ClutterGstPlayer *self);
|
146
|
+
|
147
|
+
gboolean clutter_gst_player_get_playing (ClutterGstPlayer *self);
|
148
|
+
void clutter_gst_player_set_playing (ClutterGstPlayer *self,
|
149
|
+
gboolean playing);
|
150
|
+
|
151
|
+
gdouble clutter_gst_player_get_audio_volume (ClutterGstPlayer *self);
|
152
|
+
void clutter_gst_player_set_audio_volume (ClutterGstPlayer *self,
|
153
|
+
gdouble volume);
|
154
|
+
|
155
|
+
G_END_DECLS
|
156
|
+
|
157
|
+
#endif /* __CLUTTER_GST_PLAYER_H__ */
|
@@ -0,0 +1,167 @@
|
|
1
|
+
/*
|
2
|
+
* Clutter-GStreamer.
|
3
|
+
*
|
4
|
+
* GStreamer integration library for Clutter.
|
5
|
+
*
|
6
|
+
* clutter-gst-types.h - Clutter-Gst common types
|
7
|
+
*
|
8
|
+
* Authored By Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
|
9
|
+
*
|
10
|
+
* Copyright (C) 2011 Intel Corporation
|
11
|
+
*
|
12
|
+
* This library is free software; you can redistribute it and/or
|
13
|
+
* modify it under the terms of the GNU Lesser General Public
|
14
|
+
* License as published by the Free Software Foundation; either
|
15
|
+
* version 2 of the License, or (at your option) any later version.
|
16
|
+
*
|
17
|
+
* This library is distributed in the hope that it will be useful,
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
20
|
+
* Lesser General Public License for more details.
|
21
|
+
*
|
22
|
+
* You should have received a copy of the GNU Lesser General Public
|
23
|
+
* License along with this library; if not, write to the
|
24
|
+
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
25
|
+
* Boston, MA 02111-1307, USA.
|
26
|
+
*/
|
27
|
+
|
28
|
+
#if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
|
29
|
+
#error "Only <clutter-gst/clutter-gst.h> can be included directly."
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#include <cogl/cogl.h>
|
33
|
+
|
34
|
+
#ifndef __CLUTTER_GST_TYPES_H__
|
35
|
+
#define __CLUTTER_GST_TYPES_H__
|
36
|
+
|
37
|
+
#define CLUTTER_GST_TYPE_FRAME (clutter_gst_frame_get_type ())
|
38
|
+
#define CLUTTER_GST_TYPE_BOX (clutter_gst_box_get_type ())
|
39
|
+
#define CLUTTER_GST_TYPE_OVERLAY (clutter_gst_overlay_get_type ())
|
40
|
+
#define CLUTTER_GST_TYPE_OVERLAYS (clutter_gst_overlays_get_type ())
|
41
|
+
|
42
|
+
typedef struct _ClutterGstBox ClutterGstBox;
|
43
|
+
typedef struct _ClutterGstFrame ClutterGstFrame;
|
44
|
+
typedef struct _ClutterGstOverlay ClutterGstOverlay;
|
45
|
+
typedef struct _ClutterGstOverlays ClutterGstOverlays;
|
46
|
+
typedef struct _ClutterGstVideoResolution ClutterGstVideoResolution;
|
47
|
+
|
48
|
+
/**
|
49
|
+
* ClutterGstSeekFlags:
|
50
|
+
* @CLUTTER_GST_SEEK_FLAG_NONE: Fast seeks (key frame boundaries, default)
|
51
|
+
* @CLUTTER_GST_SEEK_FLAG_ACCURATE: Accurate seeks (potentially slower)
|
52
|
+
*
|
53
|
+
* Flags that can be given to clutter_gst_player_set_seek_flags().
|
54
|
+
*
|
55
|
+
* Since: 1.4
|
56
|
+
*/
|
57
|
+
typedef enum _ClutterGstSeekFlags
|
58
|
+
{
|
59
|
+
CLUTTER_GST_SEEK_FLAG_NONE = 0,
|
60
|
+
CLUTTER_GST_SEEK_FLAG_ACCURATE = 1 << 0
|
61
|
+
} ClutterGstSeekFlags;
|
62
|
+
|
63
|
+
/**
|
64
|
+
* ClutterGstBufferingMode:
|
65
|
+
* @CLUTTER_GST_BUFFERING_MODE_STREAM: In-memory buffering
|
66
|
+
* @CLUTTER_GST_BUFFERING_MODE_DOWNLOAD: On-disk buffering
|
67
|
+
*
|
68
|
+
* Different buffering policies clutter-gst supports
|
69
|
+
*
|
70
|
+
* Since: 1.4
|
71
|
+
*/
|
72
|
+
typedef enum _ClutterGstBufferingMode
|
73
|
+
{
|
74
|
+
CLUTTER_GST_BUFFERING_MODE_STREAM,
|
75
|
+
CLUTTER_GST_BUFFERING_MODE_DOWNLOAD
|
76
|
+
} ClutterGstBufferingMode;
|
77
|
+
|
78
|
+
/**
|
79
|
+
* ClutterGstBox:
|
80
|
+
* @x1: X coordinate of the top left corner
|
81
|
+
* @y1: Y coordinate of the top left corner
|
82
|
+
* @x2: X coordinate of the bottom right corner
|
83
|
+
* @y2: Y coordinate of the bottom right corner
|
84
|
+
*
|
85
|
+
* Bounding box of an area in a video texture or actor's allocation.
|
86
|
+
* Coordinates are usually expressed in the [0, 1] interval.
|
87
|
+
*
|
88
|
+
* Since: 3.0
|
89
|
+
*/
|
90
|
+
struct _ClutterGstBox
|
91
|
+
{
|
92
|
+
gfloat x1;
|
93
|
+
gfloat y1;
|
94
|
+
|
95
|
+
gfloat x2;
|
96
|
+
gfloat y2;
|
97
|
+
};
|
98
|
+
|
99
|
+
/**
|
100
|
+
* ClutterGstVideoResolution:
|
101
|
+
* @width: the width, in pixels
|
102
|
+
* @height: the height, in pixels
|
103
|
+
*
|
104
|
+
* A video resolution.
|
105
|
+
*
|
106
|
+
* Since: 3.0
|
107
|
+
*/
|
108
|
+
struct _ClutterGstVideoResolution
|
109
|
+
{
|
110
|
+
gint width;
|
111
|
+
gint height;
|
112
|
+
|
113
|
+
gint par_n;
|
114
|
+
gint par_d;
|
115
|
+
};
|
116
|
+
|
117
|
+
/**
|
118
|
+
* ClutterGstFrame:
|
119
|
+
* @resolution: a #ClutterGstVideoResolution
|
120
|
+
* @pipeline: a #CoglPipeline to paint a frame
|
121
|
+
*
|
122
|
+
* Represents a frame outputted by the #ClutterGstVideoSink.
|
123
|
+
*
|
124
|
+
* Since: 3.0
|
125
|
+
*/
|
126
|
+
struct _ClutterGstFrame
|
127
|
+
{
|
128
|
+
ClutterGstVideoResolution resolution;
|
129
|
+
CoglPipeline *pipeline;
|
130
|
+
};
|
131
|
+
|
132
|
+
/**
|
133
|
+
* ClutterGstOverlay:
|
134
|
+
* @position: a #ClutterGstBox representing the position of the
|
135
|
+
* overlay within a #ClutterGstFrame.
|
136
|
+
* @pipeline: a #CoglPipeline to paint an overlay
|
137
|
+
*
|
138
|
+
* Represents a video overlay outputted by the #ClutterGstVideoSink.
|
139
|
+
*
|
140
|
+
* Since: 3.0
|
141
|
+
*/
|
142
|
+
struct _ClutterGstOverlay
|
143
|
+
{
|
144
|
+
ClutterGstBox position;
|
145
|
+
CoglPipeline *pipeline;
|
146
|
+
};
|
147
|
+
|
148
|
+
/**
|
149
|
+
* ClutterGstOverlays:
|
150
|
+
* @overlays: an array of #ClutterGstOverlay
|
151
|
+
*
|
152
|
+
* Since: 3.0
|
153
|
+
*/
|
154
|
+
struct _ClutterGstOverlays
|
155
|
+
{
|
156
|
+
GPtrArray *overlays;
|
157
|
+
};
|
158
|
+
|
159
|
+
GType clutter_gst_frame_get_type (void) G_GNUC_CONST;
|
160
|
+
GType clutter_gst_box_get_type (void) G_GNUC_CONST;
|
161
|
+
GType clutter_gst_overlay_get_type (void) G_GNUC_CONST;
|
162
|
+
GType clutter_gst_overlays_get_type (void) G_GNUC_CONST;
|
163
|
+
|
164
|
+
gfloat clutter_gst_box_get_width (const ClutterGstBox *box);
|
165
|
+
gfloat clutter_gst_box_get_height (const ClutterGstBox *box);
|
166
|
+
|
167
|
+
#endif /* __CLUTTER_GST_TYPES_H__ */
|