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,98 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This sample code is a port of clutter-gst/examples/video-sink-navigation.c.
4
+ # It is licensed under the terms of the GNU Lesser General Public
5
+ # License, version 2.1 or (at your option) later.
6
+ #
7
+ # The original header:
8
+ # video-sink.c - A small example around the videotestsrc ! capsfilter !
9
+ # navigationtest ! videoconvert ! cluttersink pipeline.
10
+ #
11
+ # Copyright (C) 2007,2008 OpenedHand
12
+ #
13
+ # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
14
+ #
15
+ # This library is free software; you can redistribute it and/or
16
+ # modify it under the terms of the GNU Lesser General Public
17
+ # License as published by the Free Software Foundation; either
18
+ # version 2.1 of the License, or (at your option) any later version.
19
+ #
20
+ # This library is distributed in the hope that it will be useful,
21
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23
+ # Lesser General Public License for more details.
24
+ #
25
+ # You should have received a copy of the GNU Lesser General Public
26
+ # License along with this library; if not, write to the Free Software
27
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
28
+
29
+ require "clutter-gst"
30
+
31
+ stage = Clutter::Stage.new
32
+ stage.user_resizable = true
33
+ stage.signal_connect("destroy") do
34
+ Clutter.main_quit
35
+ end
36
+
37
+ # Make a timeline
38
+ timeline = Clutter::Timeline.new(1000)
39
+ timeline.loop = true
40
+
41
+ # We need to set certain props on the target texture currently for
42
+ # efficient/correct playback onto the texture (which sucks a bit)
43
+ texture = Clutter::Texture.new
44
+ # NOTE: Because warning is given, I comment out.
45
+ #texture.set_property("disable-slicing", true)
46
+
47
+ texture.signal_connect("size-change") do |texture, width, height|
48
+ stage = texture.stage
49
+ next if stage.nil? # go out of the block if stage is nil
50
+ stage_width, stage_height = stage.size
51
+ new_height = (height * stage_width) / width
52
+ if new_height <= stage_height
53
+ new_width = stage_width
54
+ new_x = 0
55
+ new_y = (stage_height - new_height) / 2
56
+ else
57
+ new_width = (width * stage_height) / height
58
+ new_height = stage_height
59
+ new_x = (stage_width - new_width) / 2
60
+ new_y = 0
61
+ end
62
+ texture.set_position(new_x, new_y)
63
+ texture.set_size(new_width, new_height)
64
+ end
65
+
66
+ # Set up pipeline
67
+ pipeline = Gst::Pipeline.new("pipeline")
68
+
69
+ src = Gst::ElementFactory.make("videotestsrc")
70
+ filter = Gst.parse_launch("capsfilter caps=video/x-raw,pixel-aspect-ratio=1/4")
71
+
72
+ test = Gst::ElementFactory.make("navigationtest")
73
+ colorspace = Gst::ElementFactory.make("videoconvert")
74
+ sink = ClutterGst::VideoSink.new(texture)
75
+
76
+ # We can try other patterns
77
+ # src.pattern = 10
78
+
79
+ pipeline << src << filter << test << colorspace << sink
80
+ src >> filter >> test >> colorspace >> sink
81
+ pipeline.play
82
+
83
+ # Resize with the window
84
+ constraint = Clutter::BindConstraint.new(stage, :size, 0.0)
85
+ texture.constraints = constraint
86
+
87
+ # Rotate a bit
88
+ texture.set_pivot_point(0.5, 0.5)
89
+ texture.set_rotation_angle(:z_axis, 45.0)
90
+
91
+ # start the timeline
92
+ timeline.start
93
+
94
+ stage.add_child(texture)
95
+ # texture.opacity = 0x11
96
+ stage.show
97
+
98
+ Clutter.main
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # This sample code is a port of clutter-gst/examples/video-sink.c.
4
+ # It is licensed under the terms of the GNU Lesser General Public
5
+ # License, version 2.1 or (at your option) later.
6
+ #
7
+ # The original header:
8
+ # video-sink.c - A small example around the videotestsrc ! warptv !
9
+ # videoconvert ! cluttersink pipeline.
10
+ #
11
+ # Copyright (C) 2007,2008 OpenedHand
12
+ #
13
+ # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
14
+ #
15
+ # This library is free software; you can redistribute it and/or
16
+ # modify it under the terms of the GNU Lesser General Public
17
+ # License as published by the Free Software Foundation; either
18
+ # version 2.1 of the License, or (at your option) any later version.
19
+ #
20
+ # This library is distributed in the hope that it will be useful,
21
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23
+ # Lesser General Public License for more details.
24
+ #
25
+ # You should have received a copy of the GNU Lesser General Public
26
+ # License along with this library; if not, write to the Free Software
27
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
28
+
29
+ require "clutter-gst"
30
+
31
+ stage = Clutter::Stage.new
32
+ stage.signal_connect("destroy") do
33
+ Clutter.main_quit
34
+ end
35
+
36
+ # Make a timeline
37
+ timeline = Clutter::Timeline.new(1000)
38
+ timeline.loop = true
39
+
40
+ # We need to set certain props on the target texture currently for
41
+ # efficient/correct playback onto the texture (which sucks a bit)
42
+ texture = Clutter::Texture.new
43
+ # NOTE: Because warning is given, I comment out.
44
+ #texture.set_property("disable-slicing", true)
45
+
46
+ texture.signal_connect("size-change") do |widget, width, height|
47
+ stage = widget.stage
48
+ next if stage.nil? # go out of the block if stage is nil
49
+ stage_width, stage_height = stage.size
50
+ new_height = (height * stage_width) / width
51
+ if new_height <= stage_height
52
+ new_width = stage_width
53
+ new_x = 0
54
+ new_y = (stage_height - new_height) / 2
55
+ else
56
+ new_width = (width * stage_height) / height
57
+ new_height = stage_height
58
+ new_x = (stage_width - new_width) / 2
59
+ new_y = 0
60
+ end
61
+ widget.set_position(new_x, new_y)
62
+ widget.set_size(new_width, new_height)
63
+ end
64
+
65
+ # Set up pipeline
66
+ pipeline = Gst::Pipeline.new("pipeline")
67
+
68
+ src = Gst::ElementFactory.make("videotestsrc")
69
+ warp = Gst::ElementFactory.make("warptv")
70
+ colorspace = Gst::ElementFactory.make("videoconvert")
71
+ sink = ClutterGst::VideoSink.new(texture)
72
+
73
+ # We can try other patterns
74
+ # src.pattern = 10
75
+
76
+ pipeline << src << warp << colorspace << sink
77
+ src >> warp >> colorspace >> sink
78
+ pipeline.play
79
+
80
+ # start the timeline
81
+ timeline.start
82
+
83
+ stage.add_child(texture)
84
+ # texture.opacity = 0x11
85
+ stage.show
86
+
87
+ Clutter.main
@@ -0,0 +1,41 @@
1
+ # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "test-unit"
18
+ require "test/unit/notify"
19
+
20
+ module ClutterGStreamerTestUtils
21
+ def later_version?(major, minor, micro=nil)
22
+ micro ||= 0
23
+ clutter_gstreamer_version = [
24
+ ClutterGst::MAJOR_VERSION,
25
+ ClutterGst::MINOR_VERSION,
26
+ ClutterGst::MICRO_VERSION,
27
+ ]
28
+ (clutter_gstreamer_version <=> [major, minor, micro]) >= 0
29
+ end
30
+
31
+ def only_clutter_gstreamer_version(major, minor, micro=nil)
32
+ micro ||= 0
33
+ unless later_version?(major, minor, micro)
34
+ omit("Require Clutter-GStreamer >= #{major}.#{minor}.#{micro}")
35
+ end
36
+ end
37
+
38
+ def omit_on_travis_ci
39
+ omit("This test can't be run on Travis CI") if ENV["CI"]
40
+ end
41
+ end
data/test/run-test.rb ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ have_make = system("which make > /dev/null")
20
+
21
+ ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
22
+ ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
23
+
24
+ glib_base = File.join(ruby_gnome2_base, "glib2")
25
+ cairo_gobject_base = File.join(ruby_gnome2_base, "cairo-gobject")
26
+ gobject_introspection_base = File.join(ruby_gnome2_base, "gobject-introspection")
27
+ clutter_base = File.join(ruby_gnome2_base, "clutter")
28
+ gstreamer_base = File.join(ruby_gnome2_base, "gstreamer")
29
+ clutter_gstreamer_base = File.join(ruby_gnome2_base, "clutter-gstreamer")
30
+
31
+ modules = [
32
+ [glib_base, "glib2"],
33
+ [cairo_gobject_base, "cairo-gobject"],
34
+ [gobject_introspection_base, "gobject-introspection"],
35
+ [clutter_base, "clutter"],
36
+ [gstreamer_base, "gstreamer"],
37
+ [clutter_gstreamer_base, "clutter-gst"],
38
+ ]
39
+ modules.each do |target, module_name|
40
+ if File.exist?(File.join(target, "Makefile")) and have_make
41
+ `make -C #{target.dump} > /dev/null` or exit(false)
42
+ end
43
+ $LOAD_PATH.unshift(File.join(target, "ext", module_name))
44
+ $LOAD_PATH.unshift(File.join(target, "lib"))
45
+ end
46
+
47
+ $LOAD_PATH.unshift(File.join(glib_base, "test"))
48
+ require "glib-test-init"
49
+
50
+ $VERBOSE = false # TODO: remove me
51
+
52
+ $LOAD_PATH.unshift(File.join(gobject_introspection_base, "test"))
53
+ require "gobject-introspection-test-utils"
54
+
55
+ $LOAD_PATH.unshift(File.join(clutter_base, "test"))
56
+ require "clutter-test-utils"
57
+
58
+ $LOAD_PATH.unshift(File.join(clutter_gstreamer_base, "test"))
59
+ require "clutter-gstreamer-test-utils"
60
+
61
+ require "clutter-gst"
62
+
63
+ exit Test::Unit::AutoRunner.run(true)
@@ -0,0 +1,26 @@
1
+ # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class ClutterGstTest < Test::Unit::TestCase
18
+ include ClutterGStreamerTestUtils
19
+
20
+ def test_init
21
+ omit_on_travis_ci
22
+ assert_nothing_raised do
23
+ ClutterGst.init
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,105 @@
1
+ /*
2
+ * Clutter-GStreamer.
3
+ *
4
+ * GStreamer integration library for Clutter.
5
+ *
6
+ * clutter-gst-aspectratio.c - An object implementing the
7
+ * ClutterContent interface to render a video with respect to its
8
+ * aspect ratio.
9
+ *
10
+ * Authored by Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com>
11
+ *
12
+ * Copyright (C) 2013 Intel Corporation
13
+ *
14
+ * This library is free software; you can redistribute it and/or
15
+ * modify it under the terms of the GNU Lesser General Public
16
+ * License as published by the Free Software Foundation; either
17
+ * version 2 of the License, or (at your option) any later version.
18
+ *
19
+ * This library is distributed in the hope that it will be useful,
20
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
+ * Lesser General Public License for more details.
23
+ *
24
+ * You should have received a copy of the GNU Lesser General Public
25
+ * License along with this library; if not, write to the
26
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
27
+ * Boston, MA 02111-1307, USA.
28
+ */
29
+
30
+ #if !defined(__CLUTTER_GST_H_INSIDE__) && !defined(CLUTTER_GST_COMPILATION)
31
+ #error "Only <clutter-gst/clutter-gst.h> can be include directly."
32
+ #endif
33
+
34
+ #ifndef __CLUTTER_GST_ASPECTRATIO_H__
35
+ #define __CLUTTER_GST_ASPECTRATIO_H__
36
+
37
+ #include <glib-object.h>
38
+
39
+ #include <clutter-gst/clutter-gst-content.h>
40
+
41
+ G_BEGIN_DECLS
42
+
43
+ #define CLUTTER_GST_TYPE_ASPECTRATIO clutter_gst_aspectratio_get_type()
44
+
45
+ #define CLUTTER_GST_ASPECTRATIO(obj) \
46
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
47
+ CLUTTER_GST_TYPE_ASPECTRATIO, ClutterGstAspectratio))
48
+
49
+ #define CLUTTER_GST_ASPECTRATIO_CLASS(klass) \
50
+ (G_TYPE_CHECK_CLASS_CAST ((klass), \
51
+ CLUTTER_GST_TYPE_ASPECTRATIO, ClutterGstAspectratioClass))
52
+
53
+ #define CLUTTER_GST_IS_ASPECTRATIO(obj) \
54
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
55
+ CLUTTER_GST_TYPE_ASPECTRATIO))
56
+
57
+ #define CLUTTER_GST_IS_ASPECTRATIO_CLASS(klass) \
58
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), \
59
+ CLUTTER_GST_TYPE_ASPECTRATIO))
60
+
61
+ #define CLUTTER_GST_ASPECTRATIO_GET_CLASS(obj) \
62
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
63
+ CLUTTER_GST_TYPE_ASPECTRATIO, ClutterGstAspectratioClass))
64
+
65
+ typedef struct _ClutterGstAspectratio ClutterGstAspectratio;
66
+ typedef struct _ClutterGstAspectratioClass ClutterGstAspectratioClass;
67
+ typedef struct _ClutterGstAspectratioPrivate ClutterGstAspectratioPrivate;
68
+
69
+ /**
70
+ * ClutterGstAspectratio:
71
+ *
72
+ * Implementation of #ClutterGstContent that displays video streams
73
+ * with respects to their aspect ratio.
74
+ *
75
+ * The #ClutterGstAspectratio structure contains only private data and
76
+ * should not be accessed directly.
77
+ */
78
+ struct _ClutterGstAspectratio
79
+ {
80
+ /*< private >*/
81
+ ClutterGstContent parent;
82
+
83
+ ClutterGstAspectratioPrivate *priv;
84
+ };
85
+
86
+ /**
87
+ * ClutterGstAspectratioClass:
88
+ *
89
+ * Base class for #ClutterGstAspectratio.
90
+ */
91
+ struct _ClutterGstAspectratioClass
92
+ {
93
+ /*< private >*/
94
+ ClutterGstContentClass parent_class;
95
+
96
+ void *_padding_dummy[8];
97
+ };
98
+
99
+ GType clutter_gst_aspectratio_get_type (void) G_GNUC_CONST;
100
+
101
+ ClutterContent *clutter_gst_aspectratio_new (void);
102
+
103
+ G_END_DECLS
104
+
105
+ #endif /* __CLUTTER_GST_ASPECTRATIO_H__ */
@@ -0,0 +1,119 @@
1
+ /*
2
+ * Clutter-GStreamer.
3
+ *
4
+ * GStreamer integration library for Clutter.
5
+ *
6
+ * clutter-gst-camera-device.h - GObject representing a camera device using GStreamer.
7
+ *
8
+ * Authored By Andre Moreira Magalhaes <andre.magalhaes@collabora.co.uk>
9
+ *
10
+ * Copyright (C) 2012 Collabora Ltd. <http://www.collabora.co.uk/>
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
+ #ifndef __CLUTTER_GST_CAMERA_DEVICE_H__
33
+ #define __CLUTTER_GST_CAMERA_DEVICE_H__
34
+
35
+ #include <glib-object.h>
36
+ #include <gst/gstelement.h>
37
+
38
+ G_BEGIN_DECLS
39
+
40
+ #define CLUTTER_GST_TYPE_CAMERA_DEVICE clutter_gst_camera_device_get_type()
41
+
42
+ #define CLUTTER_GST_CAMERA_DEVICE(obj) \
43
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
44
+ CLUTTER_GST_TYPE_CAMERA_DEVICE, ClutterGstCameraDevice))
45
+
46
+ #define CLUTTER_GST_CAMERA_DEVICE_CLASS(klass) \
47
+ (G_TYPE_CHECK_CLASS_CAST ((klass), \
48
+ CLUTTER_GST_TYPE_CAMERA_DEVICE, ClutterGstCameraDeviceClass))
49
+
50
+ #define CLUTTER_GST_IS_CAMERA_DEVICE(obj) \
51
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
52
+ CLUTTER_GST_TYPE_CAMERA_DEVICE))
53
+
54
+ #define CLUTTER_GST_IS_CAMERA_DEVICE_CLASS(klass) \
55
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), \
56
+ CLUTTER_GST_TYPE_CAMERA_DEVICE))
57
+
58
+ #define CLUTTER_GST_CAMERA_DEVICE_GET_CLASS(obj) \
59
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
60
+ CLUTTER_GST_TYPE_CAMERA_DEVICE, ClutterGstCameraDeviceClass))
61
+
62
+ typedef struct _ClutterGstCameraDevice ClutterGstCameraDevice;
63
+ typedef struct _ClutterGstCameraDeviceClass ClutterGstCameraDeviceClass;
64
+ typedef struct _ClutterGstCameraDevicePrivate ClutterGstCameraDevicePrivate;
65
+
66
+ /**
67
+ * ClutterGstCameraDevice:
68
+ *
69
+ * GObject representing a camera device using GStreamer.
70
+ *
71
+ * The #ClutterGstCameraDevice structure contains only private data and
72
+ * should not be accessed directly.
73
+ */
74
+ struct _ClutterGstCameraDevice
75
+ {
76
+ /*< private >*/
77
+ GObject parent;
78
+ ClutterGstCameraDevicePrivate *priv;
79
+ };
80
+
81
+ /**
82
+ * ClutterGstCameraDeviceClass:
83
+ *
84
+ * Base class for #ClutterGstCameraDevice.
85
+ */
86
+ struct _ClutterGstCameraDeviceClass
87
+ {
88
+ /*< private >*/
89
+ GObjectClass parent_class;
90
+
91
+ void (* capture_resolution_changed) (ClutterGstCameraDevice *device,
92
+ gint width,
93
+ gint height);
94
+
95
+ /* Future padding */
96
+ void (* _clutter_reserved1) (void);
97
+ void (* _clutter_reserved2) (void);
98
+ void (* _clutter_reserved3) (void);
99
+ void (* _clutter_reserved4) (void);
100
+ void (* _clutter_reserved5) (void);
101
+ void (* _clutter_reserved6) (void);
102
+ };
103
+
104
+ GType clutter_gst_camera_device_get_type (void) G_GNUC_CONST;
105
+
106
+ const gchar * clutter_gst_camera_device_get_node (ClutterGstCameraDevice *device);
107
+ const gchar * clutter_gst_camera_device_get_name (ClutterGstCameraDevice *device);
108
+
109
+ const GPtrArray * clutter_gst_camera_device_get_supported_resolutions (ClutterGstCameraDevice *device);
110
+ void clutter_gst_camera_device_get_capture_resolution (ClutterGstCameraDevice *device,
111
+ gint *width,
112
+ gint *height);
113
+ void clutter_gst_camera_device_set_capture_resolution (ClutterGstCameraDevice *device,
114
+ gint width,
115
+ gint height);
116
+
117
+ G_END_DECLS
118
+
119
+ #endif /* __CLUTTER_GST_CAMERA_DEVICE_H__ */