clutter-gstreamer 2.2.4-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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__ */
|