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.
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__ */