clutter-gstreamer 2.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +70 -0
  3. data/lib/clutter-gst.rb +79 -0
  4. data/lib/clutter-gstreamer.rb +17 -0
  5. data/sample/media-actions-pause.png +0 -0
  6. data/sample/media-actions-start.png +0 -0
  7. data/sample/vid-panel.png +0 -0
  8. data/sample/video-player.rb +376 -0
  9. data/sample/video-sink-navigation.rb +98 -0
  10. data/sample/video-sink.rb +87 -0
  11. data/test/clutter-gstreamer-test-utils.rb +41 -0
  12. data/test/run-test.rb +63 -0
  13. data/test/test-clutter-gst.rb +26 -0
  14. data/vendor/local/bin/libclutter-gst-3.0-0.dll +0 -0
  15. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-aspectratio.h +105 -0
  16. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera-device.h +119 -0
  17. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera-manager.h +100 -0
  18. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-camera.h +206 -0
  19. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-content.h +107 -0
  20. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-crop.h +104 -0
  21. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-enum-types.h +23 -0
  22. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-playback.h +169 -0
  23. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-player.h +157 -0
  24. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-types.h +167 -0
  25. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-util.h +53 -0
  26. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-version.h +98 -0
  27. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst-video-sink.h +124 -0
  28. data/vendor/local/include/clutter-gst-3.0/clutter-gst/clutter-gst.h +47 -0
  29. data/vendor/local/lib/girepository-1.0/ClutterGst-3.0.typelib +0 -0
  30. data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.dll +0 -0
  31. data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.dll.a +0 -0
  32. data/vendor/local/lib/gstreamer-1.0/libgstclutter-3.0.la +41 -0
  33. data/vendor/local/lib/libclutter-gst-3.0.dll.a +0 -0
  34. data/vendor/local/lib/libclutter-gst-3.0.la +41 -0
  35. data/vendor/local/lib/pkgconfig/clutter-gst-3.0.pc +12 -0
  36. data/vendor/local/share/gir-1.0/ClutterGst-3.0.gir +3308 -0
  37. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstAspectratio.html +171 -0
  38. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCamera.html +1528 -0
  39. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCameraDevice.html +418 -0
  40. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstContent.html +551 -0
  41. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstCrop.html +198 -0
  42. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstPlayback.html +1559 -0
  43. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ClutterGstPlayer.html +805 -0
  44. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch01.html +33 -0
  45. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch02.html +42 -0
  46. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch03.html +45 -0
  47. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch04.html +35 -0
  48. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/ch05.html +39 -0
  49. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-3.0.devhelp2 +197 -0
  50. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Utilities.html +316 -0
  51. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Versioning-Macros.html +176 -0
  52. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/clutter-gst-Video-Sink.html +560 -0
  53. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/home.png +0 -0
  54. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/index.html +98 -0
  55. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/index.sgml +273 -0
  56. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/left-insensitive.png +0 -0
  57. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/left.png +0 -0
  58. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/license.html +59 -0
  59. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/right-insensitive.png +0 -0
  60. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/right.png +0 -0
  61. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/style.css +476 -0
  62. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/up-insensitive.png +0 -0
  63. data/vendor/local/share/gtk-doc/html/clutter-gst-3.0/up.png +0 -0
  64. data/vendor/local/share/license/clutter-gst/AUTHORS +7 -0
  65. data/vendor/local/share/license/clutter-gst/COPYING +502 -0
  66. 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__ */