summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2013-07-22 15:23:12 +0100
committerLionel Landwerlin <llandwerlin@gmail.com>2013-07-22 16:13:48 +0100
commitc97afcf3c3a86a150ffb46cd82a214d6b82492e4 (patch)
tree2dcf486e209682db16517f999dc1288ca5afa548
parent8697f58428f662a6113d9a72d2e8fc853e53751a (diff)
downloadclutter-gst-c97afcf3c3a86a150ffb46cd82a214d6b82492e4.tar.gz
update documentation
-rw-r--r--clutter-gst/Makefile.am4
-rw-r--r--clutter-gst/clutter-gst-aspectratio.c7
-rw-r--r--clutter-gst/clutter-gst-aspectratio.h15
-rw-r--r--clutter-gst/clutter-gst-auto-video-sink.c17
-rw-r--r--clutter-gst/clutter-gst-camera.h3
-rw-r--r--clutter-gst/clutter-gst-content.c7
-rw-r--r--clutter-gst/clutter-gst-content.h4
-rw-r--r--clutter-gst/clutter-gst-crop.c7
-rw-r--r--clutter-gst/clutter-gst-crop.h16
-rw-r--r--clutter-gst/clutter-gst-playback.c7
-rw-r--r--clutter-gst/clutter-gst-playback.h17
-rw-r--r--clutter-gst/clutter-gst-player.c4
-rw-r--r--clutter-gst/clutter-gst-player.h33
-rw-r--r--clutter-gst/shaders/I420.cg54
-rw-r--r--clutter-gst/shaders/I420.h38
-rw-r--r--clutter-gst/shaders/I420.pso36
-rw-r--r--clutter-gst/shaders/Makefile.am52
-rw-r--r--clutter-gst/shaders/YV12.cg54
-rw-r--r--clutter-gst/shaders/YV12.h38
-rw-r--r--clutter-gst/shaders/YV12.pso36
-rw-r--r--configure.ac1
-rw-r--r--doc/reference/Makefile.am14
-rw-r--r--doc/reference/clutter-gst-docs.sgml13
-rw-r--r--doc/reference/clutter-gst-sections.txt262
24 files changed, 295 insertions, 444 deletions
diff --git a/clutter-gst/Makefile.am b/clutter-gst/Makefile.am
index 36cc104..fb88f27 100644
--- a/clutter-gst/Makefile.am
+++ b/clutter-gst/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/build/autotools/Makefile.am.silent
NULL = #
-SUBDIRS = shaders
+SUBDIRS =
CLEANFILES = #
DISTCLEANFILES = #
@@ -65,8 +65,6 @@ libclutter_gst_@CLUTTER_GST_MAJORMINOR@_la_SOURCES = \
INCLUDES = \
-I$(top_srcdir) \
- -I$(top_builddir)/clutter-gst/shaders \
- -I$(top_srcdir)/clutter-gst/shaders \
$(NULL)
AM_CPPFLAGS = \
diff --git a/clutter-gst/clutter-gst-aspectratio.c b/clutter-gst/clutter-gst-aspectratio.c
index c875a58..aca44f0 100644
--- a/clutter-gst/clutter-gst-aspectratio.c
+++ b/clutter-gst/clutter-gst-aspectratio.c
@@ -27,6 +27,13 @@
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:clutter-gst-aspectratio
+ * @short_description: A #ClutterContent for displaying video frames with respect to their aspect ratio.
+ *
+ * #ClutterGstContent implements the #ClutterContent interface.
+ */
+
#include "clutter-gst-aspectratio.h"
#include "clutter-gst-private.h"
diff --git a/clutter-gst/clutter-gst-aspectratio.h b/clutter-gst/clutter-gst-aspectratio.h
index 3f30dad..3c2e0ba 100644
--- a/clutter-gst/clutter-gst-aspectratio.h
+++ b/clutter-gst/clutter-gst-aspectratio.h
@@ -66,6 +66,15 @@ typedef struct _ClutterGstAspectratio ClutterGstAspectratio;
typedef struct _ClutterGstAspectratioClass ClutterGstAspectratioClass;
typedef struct _ClutterGstAspectratioPrivate ClutterGstAspectratioPrivate;
+/**
+ * ClutterGstAspectratio:
+ *
+ * Implementation of #ClutterGstContent that displays video streams
+ * with respects to their aspect ratio.
+ *
+ * The #ClutterGstAspectratio structure contains only private data and
+ * should not be accessed directly.
+ */
struct _ClutterGstAspectratio
{
/*< private >*/
@@ -74,8 +83,14 @@ struct _ClutterGstAspectratio
ClutterGstAspectratioPrivate *priv;
};
+/**
+ * ClutterGstAspectratioClass:
+ *
+ * Base class for #ClutterGstAspectratio.
+ */
struct _ClutterGstAspectratioClass
{
+ /*< private >*/
ClutterGstContentClass parent_class;
};
diff --git a/clutter-gst/clutter-gst-auto-video-sink.c b/clutter-gst/clutter-gst-auto-video-sink.c
index 4f0fd57..c7c1cd2 100644
--- a/clutter-gst/clutter-gst-auto-video-sink.c
+++ b/clutter-gst/clutter-gst-auto-video-sink.c
@@ -19,23 +19,6 @@
* Boston, MA 02110-1301, USA.
*/
-/**
- * SECTION:element-autovideosink
- * @see_also: autoaudiosink, ximagesink, xvimagesink, sdlvideosink
- *
- * autovideosink is a video sink that automatically detects an appropriate
- * video sink to use. It does so by scanning the registry for all elements
- * that have <quote>Sink</quote> and <quote>Video</quote> in the class field
- * of their element information, and also have a non-zero autoplugging rank.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch-1.0 -v -m videotestsrc ! clutterautovideosink
- * ]|
- * </refsect2>
- */
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff --git a/clutter-gst/clutter-gst-camera.h b/clutter-gst/clutter-gst-camera.h
index 902905b..b3702a6 100644
--- a/clutter-gst/clutter-gst-camera.h
+++ b/clutter-gst/clutter-gst-camera.h
@@ -73,7 +73,8 @@ typedef struct _ClutterGstCameraPrivate ClutterGstCameraPrivate;
/**
* ClutterGstCamera:
*
- * Subclass of #ClutterGstActor that displays camera streams using GStreamer.
+ * Implementation of #ClutterGstPlayer that displays camera streams
+ * using GStreamer.
*
* The #ClutterGstCamera structure contains only private data and
* should not be accessed directly.
diff --git a/clutter-gst/clutter-gst-content.c b/clutter-gst/clutter-gst-content.c
index 59ee668..9ea1d30 100644
--- a/clutter-gst/clutter-gst-content.c
+++ b/clutter-gst/clutter-gst-content.c
@@ -25,6 +25,13 @@
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:clutter-gst-content
+ * @short_description: A #ClutterContent for displaying video frames.
+ *
+ * #ClutterGstContent implements the #ClutterContent interface.
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff --git a/clutter-gst/clutter-gst-content.h b/clutter-gst/clutter-gst-content.h
index c362782..4b13f97 100644
--- a/clutter-gst/clutter-gst-content.h
+++ b/clutter-gst/clutter-gst-content.h
@@ -78,6 +78,10 @@ struct _ClutterGstContentClass
GType clutter_gst_content_get_type (void) G_GNUC_CONST;
+ClutterContent * clutter_gst_content_new (void);
+
+ClutterContent * clutter_gst_content_new_with_sink (CoglGstVideoSink *sink);
+
ClutterGstFrame * clutter_gst_content_get_frame (ClutterGstContent *self);
void clutter_gst_content_set_sink (ClutterGstContent *self,
diff --git a/clutter-gst/clutter-gst-crop.c b/clutter-gst/clutter-gst-crop.c
index 2e01295..e3cf348 100644
--- a/clutter-gst/clutter-gst-crop.c
+++ b/clutter-gst/clutter-gst-crop.c
@@ -26,6 +26,13 @@
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:clutter-gst-crop
+ * @short_description: A #ClutterContent for displaying part of video frames
+ *
+ * #ClutterGstCrop sub-classes #ClutterGstContent.
+ */
+
#include "clutter-gst-crop.h"
#include "clutter-gst-private.h"
diff --git a/clutter-gst/clutter-gst-crop.h b/clutter-gst/clutter-gst-crop.h
index 0ec830d..a992aa9 100644
--- a/clutter-gst/clutter-gst-crop.h
+++ b/clutter-gst/clutter-gst-crop.h
@@ -65,15 +65,31 @@ typedef struct _ClutterGstCrop ClutterGstCrop;
typedef struct _ClutterGstCropClass ClutterGstCropClass;
typedef struct _ClutterGstCropPrivate ClutterGstCropPrivate;
+/**
+ * ClutterGstCrop:
+ *
+ * Implementation of #ClutterGstContent that displays a sub region of
+ * video streams.
+ *
+ * The #ClutterGstCrop structure contains only private data and
+ * should not be accessed directly.
+ */
struct _ClutterGstCrop
{
+ /*< private >*/
ClutterGstContent parent;
ClutterGstCropPrivate *priv;
};
+/**
+ * ClutterGstCropClass:
+ *
+ * Base class for #ClutterGstCrop.
+ */
struct _ClutterGstCropClass
{
+ /*< private >*/
ClutterGstContentClass parent_class;
};
diff --git a/clutter-gst/clutter-gst-playback.c b/clutter-gst/clutter-gst-playback.c
index 7939fbb..93e1a25 100644
--- a/clutter-gst/clutter-gst-playback.c
+++ b/clutter-gst/clutter-gst-playback.c
@@ -31,6 +31,13 @@
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:clutter-gst-playback
+ * @short_description: A #ClutterGstPlayback to play media streams
+ *
+ * #ClutterGstPlayback implements #ClutterGstPlayer.
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
diff --git a/clutter-gst/clutter-gst-playback.h b/clutter-gst/clutter-gst-playback.h
index 373379f..ba8ae3e 100644
--- a/clutter-gst/clutter-gst-playback.h
+++ b/clutter-gst/clutter-gst-playback.h
@@ -73,6 +73,15 @@ typedef struct _ClutterGstPlayback ClutterGstPlayback;
typedef struct _ClutterGstPlaybackClass ClutterGstPlaybackClass;
typedef struct _ClutterGstPlaybackPrivate ClutterGstPlaybackPrivate;
+/**
+ * ClutterGstPlayback:
+ *
+ * Implementation of #ClutterGstPlayback that displays media streams
+ * using GStreamer.
+ *
+ * The #ClutterGstPlayback structure contains only private data and
+ * should not be accessed directly.
+ */
struct _ClutterGstPlayback
{
GObject parent;
@@ -80,10 +89,18 @@ struct _ClutterGstPlayback
ClutterGstPlaybackPrivate *priv;
};
+/**
+ * ClutterGstPlaybackClass:
+ * @download_buffering: signal class closure for #ClutterGstPlayback::download-buffering
+ *
+ * Base class for #ClutterGstPlayback.
+ */
struct _ClutterGstPlaybackClass
{
+ /*< private >*/
GObjectClass parent_class;
+ /*< public >*/
/* signals */
void (* download_buffering) (ClutterGstPlayback *self,
gdouble start,
diff --git a/clutter-gst/clutter-gst-player.c b/clutter-gst/clutter-gst-player.c
index 186ff9a..0d8ef2b 100644
--- a/clutter-gst/clutter-gst-player.c
+++ b/clutter-gst/clutter-gst-player.c
@@ -36,9 +36,7 @@
* @short_description: An interface for controlling playback of media data
*
* #ClutterGstPlayer is an interface for controlling playback of media
- * sources. Contrary to most interfaces, you don't need to implement
- * #ClutterGstPlayer. It already provides an implementation/logic
- * leaving you only tweak a few properties to get the desired behavior.
+ * sources.
*/
#ifdef HAVE_CONFIG_H
diff --git a/clutter-gst/clutter-gst-player.h b/clutter-gst/clutter-gst-player.h
index 5d0ea7f..7855c97 100644
--- a/clutter-gst/clutter-gst-player.h
+++ b/clutter-gst/clutter-gst-player.h
@@ -76,8 +76,19 @@ typedef struct _ClutterGstPlayerIfacePrivate ClutterGstPlayerIfacePrivate;
/**
* ClutterGstPlayerIface:
- * @download_buffering: handler for the #ClutterGstPlayer::download-buffering
- * signal
+ * @get_frame: virtual function; returns the current visible frame
+ * @get_pipeline: virtual function; returns the current GStreamer pipeline
+ * @get_video_sink: virtual function; returns the current Cogl video sink
+ * @get_idle: virtual function; returns whether the player is currently in idle state
+ * @get_audio_volume: virtual function; returns the current audio volume
+ * @set_audio_volume: virtual function; sets the audio volume
+ * @get_playing: virtual function; returns whether the player is currently playing
+ * @set_playing: virtual function; starts or stops the player from playing
+ * @new_frame: signal class closure for #ClutterGstPlayer::new-frame
+ * @ready: signal class closure for #ClutterGstPlayer::ready
+ * @eos: signal class closure for #ClutterGstPlayer::eos
+ * @error: signal class closure for #ClutterGstPlayer::error
+ * @size_change: signal class closure for #ClutterGstPlayer::size-change
*
* Interface vtable for #ClutterGstPlayer implementations
*
@@ -105,13 +116,10 @@ struct _ClutterGstPlayerIface
void (* set_playing) (ClutterGstPlayer *self,
gboolean playing);
- void (* _iface_reserved7) (void);
- void (* _iface_reserved8) (void);
- void (* _iface_reserved9) (void);
- void (* _iface_reserved10) (void);
- void (* _iface_reserved11) (void);
- void (* _iface_reserved12) (void);
+ /*< private >*/
+ gpointer _padding_vfuncs[16];
+ /*< public >*/
/* signals */
void (* new_frame) (ClutterGstPlayer *self, ClutterGstFrame *frame);
void (* ready) (ClutterGstPlayer *self);
@@ -122,13 +130,8 @@ struct _ClutterGstPlayerIface
gint width,
gint height);
- void (* _clutter_reserved6) (void);
- void (* _clutter_reserved7) (void);
- void (* _clutter_reserved8) (void);
- void (* _clutter_reserved9) (void);
- void (* _clutter_reserved10) (void);
- void (* _clutter_reserved11) (void);
- void (* _clutter_reserved12) (void);
+ /*< private >*/
+ gpointer _padding_signals[8];
};
GType clutter_gst_player_get_type (void) G_GNUC_CONST;
diff --git a/clutter-gst/shaders/I420.cg b/clutter-gst/shaders/I420.cg
deleted file mode 100644
index 6950afe..0000000
--- a/clutter-gst/shaders/I420.cg
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Clutter-gst
- *
- * GStreamer integration library for Clutter.
- *
- * Authored By: Damien Lespiau <damien.lespiau@intel.com>
- *
- * Copyright (C) 2009 Intel Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-struct I420_output
-{
- float4 color : COLOR;
-};
-
-struct I420_input
-{
- float4 color : COLOR;
- float2 Y : TEXCOORD0;
- sampler2D Y_tex : TEXUNIT0;
- sampler2D U_tex : TEXUNIT1;
- sampler2D V_tex : TEXUNIT2;
-};
-
-I420_output I420_main (I420_input IN)
-{
- I420_output OUT;
-
- float y = 1.1640625 * (tex2D (IN.Y_tex, IN.Y).g - 0.0625);
- float u = tex2D (IN.U_tex, IN.Y).g - 0.5;
- float v = tex2D (IN.V_tex, IN.Y).g - 0.5;
-
- OUT.color.r = y + 1.59765625 * v;
- OUT.color.g = y - 0.390625 * u - 0.8125 * v;
- OUT.color.b = y + 2.015625 * u;
- OUT.color.rgb *= IN.color.a;
- OUT.color.a = IN.color.a;
-
- return OUT;
-}
-
diff --git a/clutter-gst/shaders/I420.h b/clutter-gst/shaders/I420.h
deleted file mode 100644
index 474f6e2..0000000
--- a/clutter-gst/shaders/I420.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * This file was generated by pso2h.
- */
-
-#ifndef __I420_H__
-#define __I420_H__
-
-/*
- * This define is the size of the shader in bytes. More precisely it's the
- * sum of strlen() of every string in the array.
- */
-#define I420_FP_SZ 564
-
-static const char *I420_fp[] =
-{
- "!!ARBfp1.0\n",
- "PARAM c[2] = { { 1.1640625, 0.0625, 2.015625, 0.5 },\n",
- "{ 0.390625, 0.8125, 1.5976562 } };\n",
- "TEMP R0;\n",
- "TEMP R1;\n",
- "TEX R1.y, fragment.texcoord[0], texture[0], 2D;\n",
- "ADD R0.x, R1.y, -c[0].y;\n",
- "TEX R0.y, fragment.texcoord[0], texture[2], 2D;\n",
- "TEX R1.y, fragment.texcoord[0], texture[1], 2D;\n",
- "MUL R0.x, R0, c[0];\n",
- "ADD R0.w, R1.y, -c[0];\n",
- "MAD R0.z, R0.w, c[0], R0.x;\n",
- "ADD R0.y, R0, -c[0].w;\n",
- "MAD R0.w, -R0, c[1].x, R0.x;\n",
- "MAD R0.x, R0.y, c[1].z, R0;\n",
- "MAD R0.y, -R0, c[1], R0.w;\n",
- "MUL result.color.xyz, fragment.color.primary.w, R0;\n",
- "MOV result.color.w, fragment.color.primary;\n",
- "END\n",
- NULL
-};
-
-#endif
diff --git a/clutter-gst/shaders/I420.pso b/clutter-gst/shaders/I420.pso
deleted file mode 100644
index bd01d38..0000000
--- a/clutter-gst/shaders/I420.pso
+++ /dev/null
@@ -1,36 +0,0 @@
-!!ARBfp1.0
-# cgc version 3.0.0016, build date Feb 10 2011
-# command line args: -profile arbfp1
-# source file: I420.cg
-#vendor NVIDIA Corporation
-#version 3.0.0.16
-#profile arbfp1
-#program I420_main
-#semantic I420_main.IN
-#var float4 IN.color : $vin.COLOR : COL0 : 0 : 1
-#var float2 IN.Y : $vin.TEXCOORD0 : TEX0 : 0 : 1
-#var sampler2D IN.Y_tex : TEXUNIT0 : texunit 0 : 0 : 1
-#var sampler2D IN.U_tex : TEXUNIT1 : texunit 1 : 0 : 1
-#var sampler2D IN.V_tex : TEXUNIT2 : texunit 2 : 0 : 1
-#var float4 I420_main.color : $vout.COLOR : COL : -1 : 1
-#const c[0] = 1.1640625 0.0625 2.015625 0.5
-#const c[1] = 0.390625 0.8125 1.5976562
-PARAM c[2] = { { 1.1640625, 0.0625, 2.015625, 0.5 },
- { 0.390625, 0.8125, 1.5976562 } };
-TEMP R0;
-TEMP R1;
-TEX R1.y, fragment.texcoord[0], texture[0], 2D;
-ADD R0.x, R1.y, -c[0].y;
-TEX R0.y, fragment.texcoord[0], texture[2], 2D;
-TEX R1.y, fragment.texcoord[0], texture[1], 2D;
-MUL R0.x, R0, c[0];
-ADD R0.w, R1.y, -c[0];
-MAD R0.z, R0.w, c[0], R0.x;
-ADD R0.y, R0, -c[0].w;
-MAD R0.w, -R0, c[1].x, R0.x;
-MAD R0.x, R0.y, c[1].z, R0;
-MAD R0.y, -R0, c[1], R0.w;
-MUL result.color.xyz, fragment.color.primary.w, R0;
-MOV result.color.w, fragment.color.primary;
-END
-# 13 instructions, 2 R-regs
diff --git a/clutter-gst/shaders/Makefile.am b/clutter-gst/shaders/Makefile.am
deleted file mode 100644
index d6a9e2f..0000000
--- a/clutter-gst/shaders/Makefile.am
+++ /dev/null
@@ -1,52 +0,0 @@
-include $(top_srcdir)/build/autotools/Makefile.am.silent
-
-NULL = #
-
-CLEANFILES =
-EXTRA_DIST = I420.cg I420.pso I420.h \
- YV12.cg YV12.pso YV12.h \
- $(NULL)
-
-#
-# If we have python we are able to build the headers holding the fragment
-# programs.
-#
-
-if HAVE_PYTHON
-
-BUILT_SOURCES = I420.h \
- YV12.h \
- $(NULL)
-
-CLEANFILES += I420.h \
- YV12.h \
- $(NULL)
-
-# Don't use GNU make extension to avoid automake warnings, yeah I know, that's
-# annoying.
-
-I420.h: I420.pso
- $(QUIET_GEN)$(top_srcdir)/scripts/pso2h.py -n I420_fp -o $@ $^
-
-YV12.h: YV12.pso
- $(QUIET_GEN)$(top_srcdir)/scripts/pso2h.py -n YV12_fp -o $@ $^
-
-endif
-
-#
-# Only add those targets if we the Cg compiler is around.
-#
-
-if HAVE_CGC
-
-CLEANFILES += I420.pso \
- YV12.pso \
- $(NULL)
-
-I420.pso: I420.cg
- $(QUIET_CGC)cgc -entry I420_main -profile arbfp1 -o $@ $^
-
-YV12.pso: YV12.cg
- $(QUIET_CGC)cgc -entry YV12_main -profile arbfp1 -o $@ $^
-
-endif
diff --git a/clutter-gst/shaders/YV12.cg b/clutter-gst/shaders/YV12.cg
deleted file mode 100644
index df70903..0000000
--- a/clutter-gst/shaders/YV12.cg
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Clutter-gst
- *
- * GStreamer integration library for Clutter.
- *
- * Authored By: Damien Lespiau <damien.lespiau@intel.com>
- *
- * Copyright (C) 2009 Intel Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-struct YV12_output
-{
- float4 color : COLOR;
-};
-
-struct YV12_input
-{
- float4 color : COLOR;
- float2 Y : TEXCOORD0;
- sampler2D Y_tex : TEXUNIT0;
- sampler2D U_tex : TEXUNIT2;
- sampler2D V_tex : TEXUNIT1;
-};
-
-YV12_output YV12_main (YV12_input IN)
-{
- YV12_output OUT;
-
- float y = 1.1640625 * (tex2D (IN.Y_tex, IN.Y).g - 0.0625);
- float u = tex2D (IN.U_tex, IN.Y).g - 0.5;
- float v = tex2D (IN.V_tex, IN.Y).g - 0.5;
-
- OUT.color.r = y + 1.59765625 * v;
- OUT.color.g = y - 0.390625 * u - 0.8125 * v;
- OUT.color.b = y + 2.015625 * u;
- OUT.color.rgb *= IN.color.a;
- OUT.color.a = IN.color.a;
-
- return OUT;
-}
-
diff --git a/clutter-gst/shaders/YV12.h b/clutter-gst/shaders/YV12.h
deleted file mode 100644
index dbc56fe..0000000
--- a/clutter-gst/shaders/YV12.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * This file was generated by pso2h.
- */
-
-#ifndef __YV12_H__
-#define __YV12_H__
-
-/*
- * This define is the size of the shader in bytes. More precisely it's the
- * sum of strlen() of every string in the array.
- */
-#define YV12_FP_SZ 564
-
-static const char *YV12_fp[] =
-{
- "!!ARBfp1.0\n",
- "PARAM c[2] = { { 1.1640625, 0.0625, 2.015625, 0.5 },\n",
- "{ 0.390625, 0.8125, 1.5976562 } };\n",
- "TEMP R0;\n",
- "TEMP R1;\n",
- "TEX R1.y, fragment.texcoord[0], texture[0], 2D;\n",
- "ADD R0.x, R1.y, -c[0].y;\n",
- "TEX R0.y, fragment.texcoord[0], texture[1], 2D;\n",
- "TEX R1.y, fragment.texcoord[0], texture[2], 2D;\n",
- "MUL R0.x, R0, c[0];\n",
- "ADD R0.w, R1.y, -c[0];\n",
- "MAD R0.z, R0.w, c[0], R0.x;\n",
- "ADD R0.y, R0, -c[0].w;\n",
- "MAD R0.w, -R0, c[1].x, R0.x;\n",
- "MAD R0.x, R0.y, c[1].z, R0;\n",
- "MAD R0.y, -R0, c[1], R0.w;\n",
- "MUL result.color.xyz, fragment.color.primary.w, R0;\n",
- "MOV result.color.w, fragment.color.primary;\n",
- "END\n",
- NULL
-};
-
-#endif
diff --git a/clutter-gst/shaders/YV12.pso b/clutter-gst/shaders/YV12.pso
deleted file mode 100644
index e43f5e0..0000000
--- a/clutter-gst/shaders/YV12.pso
+++ /dev/null
@@ -1,36 +0,0 @@
-!!ARBfp1.0
-# cgc version 3.0.0016, build date Feb 10 2011
-# command line args: -profile arbfp1
-# source file: YV12.cg
-#vendor NVIDIA Corporation
-#version 3.0.0.16
-#profile arbfp1
-#program YV12_main
-#semantic YV12_main.IN
-#var float4 IN.color : $vin.COLOR : COL0 : 0 : 1
-#var float2 IN.Y : $vin.TEXCOORD0 : TEX0 : 0 : 1
-#var sampler2D IN.Y_tex : TEXUNIT0 : texunit 0 : 0 : 1
-#var sampler2D IN.U_tex : TEXUNIT2 : texunit 2 : 0 : 1
-#var sampler2D IN.V_tex : TEXUNIT1 : texunit 1 : 0 : 1
-#var float4 YV12_main.color : $vout.COLOR : COL : -1 : 1
-#const c[0] = 1.1640625 0.0625 2.015625 0.5
-#const c[1] = 0.390625 0.8125 1.5976562
-PARAM c[2] = { { 1.1640625, 0.0625, 2.015625, 0.5 },
- { 0.390625, 0.8125, 1.5976562 } };
-TEMP R0;
-TEMP R1;
-TEX R1.y, fragment.texcoord[0], texture[0], 2D;
-ADD R0.x, R1.y, -c[0].y;
-TEX R0.y, fragment.texcoord[0], texture[1], 2D;
-TEX R1.y, fragment.texcoord[0], texture[2], 2D;
-MUL R0.x, R0, c[0];
-ADD R0.w, R1.y, -c[0];
-MAD R0.z, R0.w, c[0], R0.x;
-ADD R0.y, R0, -c[0].w;
-MAD R0.w, -R0, c[1].x, R0.x;
-MAD R0.x, R0.y, c[1].z, R0;
-MAD R0.y, -R0, c[1], R0.w;
-MUL result.color.xyz, fragment.color.primary.w, R0;
-MOV result.color.w, fragment.color.primary;
-END
-# 13 instructions, 2 R-regs
diff --git a/configure.ac b/configure.ac
index 5c65591..1809fd0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -309,7 +309,6 @@ AC_OUTPUT([
scripts/Makefile
clutter-gst/Makefile
clutter-gst/clutter-gst-version.h
- clutter-gst/shaders/Makefile
tests/Makefile
examples/Makefile
doc/Makefile
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index 290cc3a..c01f26f 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -25,7 +25,7 @@ DOC_SOURCE_DIR=../../clutter-gst
SCANGOBJ_OPTIONS=--type-init-func="clutter_gst_init(0,0)"
# Extra options to supply to gtkdoc-scan.
-# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=--rebuild-types
# Extra options to supply to gtkdoc-mkdb.
@@ -38,7 +38,14 @@ MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
-FIXXREF_OPTIONS=
+FIXXREF_OPTIONS= \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/cogl \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/cogl-gst \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gdk-pixbuf \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gstreamer-1.0 \
+ $(NULL)
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
@@ -49,12 +56,9 @@ CFILE_GLOB=$(top_srcdir)/clutter-gst/*.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES= \
- I420.h \
- YV12.h \
clutter-gst.h \
clutter-gst-debug.h \
clutter-gst-private.h \
- clutter-gst-shaders.h \
clutter-gst-auto-video-sink.h \
$(NULL)
diff --git a/doc/reference/clutter-gst-docs.sgml b/doc/reference/clutter-gst-docs.sgml
index 780a4fc..ace3805 100644
--- a/doc/reference/clutter-gst-docs.sgml
+++ b/doc/reference/clutter-gst-docs.sgml
@@ -54,11 +54,18 @@
</chapter>
<chapter>
- <title>Clutter Actors And Objects</title>
+ <title>Clutter content objects</title>
+ <xi:include href="xml/clutter-gst-content.xml"/>
+ <xi:include href="xml/clutter-gst-aspectratio.xml"/>
+ <xi:include href="xml/clutter-gst-crop.xml"/>
+ </chapter>
+
+ <chapter>
+ <title>ClutterGst players</title>
<xi:include href="xml/clutter-gst-player.xml"/>
- <xi:include href="xml/clutter-gst-camera-actor.xml"/>
+ <xi:include href="xml/clutter-gst-camera.xml"/>
<xi:include href="xml/clutter-gst-camera-device.xml"/>
- <xi:include href="xml/clutter-gst-types.xml"/>
+ <xi:include href="xml/clutter-gst-playback.xml"/>
<xi:include href="xml/clutter-gst-util.xml"/>
<xi:include href="xml/clutter-gst-version.xml"/>
</chapter>
diff --git a/doc/reference/clutter-gst-sections.txt b/doc/reference/clutter-gst-sections.txt
index 7e2c39c..36af9c4 100644
--- a/doc/reference/clutter-gst-sections.txt
+++ b/doc/reference/clutter-gst-sections.txt
@@ -8,6 +8,77 @@ clutter_gst_seek_flags_get_type
CLUTTER_GST_TYPE_SEEK_FLAGS
clutter_gst_buffering_mode_get_type
CLUTTER_GST_TYPE_BUFFERING_MODE
+<SUBSECTION Standard>
+ClutterGstBox
+clutter_gst_box_get_width
+clutter_gst_box_get_height
+clutter_gst_box_get_type
+CLUTTER_GST_TYPE_BOX
+<SUBSECTION Standard>
+ClutterGstFrame
+clutter_gst_frame_get_type
+CLUTTER_GST_TYPE_FRAME
+ClutterGstVideoResolution
+</SECTION>
+
+<SECTION>
+<FILE>clutter-gst-content</FILE>
+<TITLE>ClutterGstContent</TITLE>
+ClutterGstContent
+ClutterGstContentClass
+clutter_gst_content_new
+clutter_gst_content_new_with_sink
+clutter_gst_content_get_frame
+clutter_gst_content_get_player
+clutter_gst_content_get_sink
+clutter_gst_content_set_player
+clutter_gst_content_set_sink
+<SUBSECTION Standard>
+CLUTTER_GST_CONTENT
+CLUTTER_GST_IS_CONTENT
+CLUTTER_GST_TYPE_CONTENT
+clutter_gst_content_get_type
+CLUTTER_GST_CONTENT_CLASS
+CLUTTER_GST_CONTENT_GET_CLASS
+CLUTTER_GST_IS_CONTENT_CLASS
+<SUBSECTION Private>
+ClutterGstContentPrivate
+</SECTION>
+
+<SECTION>
+<FILE>clutter-gst-aspectratio</FILE>
+<TITLE>ClutterGstAspectratio</TITLE>
+ClutterGstAspectratio
+ClutterGstAspectratioClass
+clutter_gst_aspectratio_new
+<SUBSECTION Standard>
+CLUTTER_GST_ASPECTRATIO
+CLUTTER_GST_IS_ASPECTRATIO
+CLUTTER_GST_TYPE_ASPECTRATIO
+clutter_gst_aspectratio_get_type
+CLUTTER_GST_ASPECTRATIO_CLASS
+CLUTTER_GST_ASPECTRATIO_GET_CLASS
+CLUTTER_GST_IS_ASPECTRATIO_CLASS
+<SUBSECTION Private>
+ClutterGstAspectratioPrivate
+</SECTION>
+
+<SECTION>
+<FILE>clutter-gst-crop</FILE>
+<TITLE>ClutterGstCrop</TITLE>
+ClutterGstCrop
+ClutterGstCropClass
+clutter_gst_crop_new
+<SUBSECTION Standard>
+CLUTTER_GST_CROP
+CLUTTER_GST_IS_CROP
+CLUTTER_GST_TYPE_CROP
+clutter_gst_crop_get_type
+CLUTTER_GST_CROP_CLASS
+CLUTTER_GST_CROP_GET_CLASS
+CLUTTER_GST_IS_CROP_CLASS
+<SUBSECTION Private>
+ClutterGstCropPrivate
</SECTION>
<SECTION>
@@ -15,45 +86,14 @@ CLUTTER_GST_TYPE_BUFFERING_MODE
<TITLE>ClutterGstPlayer</TITLE>
ClutterGstPlayer
ClutterGstPlayerIface
-clutter_gst_player_class_init
-clutter_gst_player_init
-clutter_gst_player_deinit
+clutter_gst_player_get_frame
clutter_gst_player_get_pipeline
-clutter_gst_player_set_uri
-clutter_gst_player_get_uri
-clutter_gst_player_set_filename
+clutter_gst_player_get_video_sink
+clutter_gst_player_get_idle
+clutter_gst_player_get_playing
clutter_gst_player_set_playing
-clutter_gst_player_is_playing
-clutter_gst_player_get_user_agent
-clutter_gst_player_set_user_agent
-clutter_gst_player_get_seek_flags
-clutter_gst_player_set_seek_flags
-clutter_gst_player_get_buffering_mode
-clutter_gst_player_set_buffering_mode
-clutter_gst_player_get_buffer_fill
-clutter_gst_player_get_buffer_size
-clutter_gst_player_set_buffer_size
-clutter_gst_player_get_buffer_duration
-clutter_gst_player_set_buffer_duration
-clutter_gst_player_set_audio_volume
clutter_gst_player_get_audio_volume
-clutter_gst_player_get_audio_streams
-clutter_gst_player_get_audio_stream
-clutter_gst_player_set_audio_stream
-clutter_gst_player_set_subtitle_uri
-clutter_gst_player_get_subtitle_uri
-clutter_gst_player_set_subtitle_font_name
-clutter_gst_player_get_subtitle_font_name
-clutter_gst_player_get_subtitle_tracks
-clutter_gst_player_get_subtitle_track
-clutter_gst_player_set_subtitle_track
-clutter_gst_player_get_idle
-clutter_gst_player_get_can_seek
-clutter_gst_player_get_in_seek
-clutter_gst_player_set_progress
-clutter_gst_player_get_progress
-clutter_gst_player_get_duration
-clutter_gst_player_is_live_media
+clutter_gst_player_set_audio_volume
<SUBSECTION Standard>
CLUTTER_GST_PLAYER
CLUTTER_GST_IS_PLAYER
@@ -65,58 +105,55 @@ ClutterGstPlayerIfacePrivate
</SECTION>
<SECTION>
-<FILE>clutter-gst-camera-actor</FILE>
-<TITLE>ClutterGstCameraActor</TITLE>
-ClutterGstCameraActor
-ClutterGstCameraActorClass
-clutter_gst_camera_actor_get_brightness
-clutter_gst_camera_actor_get_brightness_range
-clutter_gst_camera_actor_get_camera_device
-clutter_gst_camera_actor_get_camera_devices
-clutter_gst_camera_actor_get_camerabin
-clutter_gst_camera_actor_get_color_balance_property
-clutter_gst_camera_actor_get_color_balance_property_range
-clutter_gst_camera_actor_get_contrast
-clutter_gst_camera_actor_get_contrast_range
-clutter_gst_camera_actor_get_filter
-clutter_gst_camera_actor_get_gamma
-clutter_gst_camera_actor_get_gamma_range
-clutter_gst_camera_actor_get_hue
-clutter_gst_camera_actor_get_hue_range
-clutter_gst_camera_actor_get_pipeline
-clutter_gst_camera_actor_get_saturation
-clutter_gst_camera_actor_get_saturation_range
-clutter_gst_camera_actor_is_playing
-clutter_gst_camera_actor_is_ready_for_capture
-clutter_gst_camera_actor_is_recording_video
-clutter_gst_camera_actor_new
-clutter_gst_camera_actor_remove_filter
-clutter_gst_camera_actor_set_brightness
-clutter_gst_camera_actor_set_camera_device
-clutter_gst_camera_actor_set_color_balance_property
-clutter_gst_camera_actor_set_contrast
-clutter_gst_camera_actor_set_filter
-clutter_gst_camera_actor_set_gamma
-clutter_gst_camera_actor_set_hue
-clutter_gst_camera_actor_set_photo_profile
-clutter_gst_camera_actor_set_playing
-clutter_gst_camera_actor_set_saturation
-clutter_gst_camera_actor_set_video_profile
-clutter_gst_camera_actor_start_video_recording
-clutter_gst_camera_actor_stop_video_recording
-clutter_gst_camera_actor_supports_color_balance
-clutter_gst_camera_actor_supports_gamma_correction
-clutter_gst_camera_actor_take_photo
-clutter_gst_camera_actor_take_photo_pixbuf
+<FILE>clutter-gst-camera</FILE>
+<TITLE>ClutterGstCamera</TITLE>
+ClutterGstCamera
+ClutterGstCameraClass
+clutter_gst_camera_new
+clutter_gst_camera_get_brightness
+clutter_gst_camera_get_brightness_range
+clutter_gst_camera_get_camera_device
+clutter_gst_camera_get_camera_devices
+clutter_gst_camera_get_color_balance_property
+clutter_gst_camera_get_color_balance_property_range
+clutter_gst_camera_get_contrast
+clutter_gst_camera_get_contrast_range
+clutter_gst_camera_get_filter
+clutter_gst_camera_get_gamma
+clutter_gst_camera_get_gamma_range
+clutter_gst_camera_get_hue
+clutter_gst_camera_get_hue_range
+clutter_gst_camera_get_saturation
+clutter_gst_camera_get_saturation_range
+clutter_gst_camera_is_ready_for_capture
+clutter_gst_camera_is_recording_video
+clutter_gst_camera_remove_filter
+clutter_gst_camera_set_brightness
+clutter_gst_camera_set_camera_device
+clutter_gst_camera_set_color_balance_property
+clutter_gst_camera_set_contrast
+clutter_gst_camera_set_filter
+clutter_gst_camera_set_gamma
+clutter_gst_camera_set_hue
+clutter_gst_camera_set_photo_profile
+clutter_gst_camera_set_saturation
+clutter_gst_camera_set_video_profile
+clutter_gst_camera_start_video_recording
+clutter_gst_camera_stop_video_recording
+clutter_gst_camera_supports_color_balance
+clutter_gst_camera_supports_gamma_correction
+clutter_gst_camera_take_photo
+clutter_gst_camera_take_photo_pixbuf
<SUBSECTION Standard>
-CLUTTER_GST_CAMERA_ACTOR
-CLUTTER_GST_CAMERA_ACTOR_CLASS
-CLUTTER_GST_CAMERA_ACTOR_GET_CLASS
-CLUTTER_GST_IS_CAMERA_ACTOR
-CLUTTER_GST_IS_CAMERA_ACTOR_CLASS
-CLUTTER_GST_TYPE_CAMERA_ACTOR
-ClutterGstCameraActorPrivate
-clutter_gst_camera_actor_get_type
+CLUTTER_GST_CAMERA
+CLUTTER_GST_CAMERA_CLASS
+CLUTTER_GST_CAMERA_GET_CLASS
+CLUTTER_GST_IS_CAMERA
+CLUTTER_GST_IS_CAMERA_CLASS
+CLUTTER_GST_TYPE_CAMERA
+clutter_gst_camera_get_type
+<SUBSECTION Private>
+ClutterGstCameraPrivate
</SECTION>
<SECTION>
@@ -136,8 +173,56 @@ CLUTTER_GST_CAMERA_DEVICE_GET_CLASS
CLUTTER_GST_IS_CAMERA_DEVICE
CLUTTER_GST_IS_CAMERA_DEVICE_CLASS
CLUTTER_GST_TYPE_CAMERA_DEVICE
-ClutterGstCameraDevicePrivate
clutter_gst_camera_device_get_type
+<SUBSECTION Private>
+ClutterGstCameraDevicePrivate
+</SECTION>
+
+<SECTION>
+<FILE>clutter-gst-playback</FILE>
+<TITLE>ClutterGstPlayback</TITLE>
+ClutterGstPlayback
+ClutterGstPlaybackClass
+clutter_gst_playback_new
+clutter_gst_playback_get_audio_stream
+clutter_gst_playback_get_audio_streams
+clutter_gst_playback_get_buffer_duration
+clutter_gst_playback_get_buffer_fill
+clutter_gst_playback_get_buffering_mode
+clutter_gst_playback_get_buffer_size
+clutter_gst_playback_get_duration
+clutter_gst_playback_get_in_seek
+clutter_gst_playback_get_progress
+clutter_gst_playback_get_seek_flags
+clutter_gst_playback_get_subtitle_font_name
+clutter_gst_playback_get_subtitle_track
+clutter_gst_playback_get_subtitle_tracks
+clutter_gst_playback_get_subtitle_uri
+clutter_gst_playback_get_uri
+clutter_gst_playback_get_user_agent
+clutter_gst_playback_is_live_media
+clutter_gst_playback_set_audio_stream
+clutter_gst_playback_set_buffer_duration
+clutter_gst_playback_set_buffering_mode
+clutter_gst_playback_set_buffer_size
+clutter_gst_playback_set_filename
+clutter_gst_playback_set_progress
+clutter_gst_playback_set_seek_flags
+clutter_gst_playback_set_subtitle_font_name
+clutter_gst_playback_set_subtitle_track
+clutter_gst_playback_set_subtitle_uri
+clutter_gst_playback_set_uri
+clutter_gst_playback_set_user_agent
+<SUBSECTION Standard>
+CLUTTER_GST_PLAYBACK
+CLUTTER_GST_PLAYBACK_CLASS
+CLUTTER_GST_PLAYBACK_GET_CLASS
+CLUTTER_GST_IS_PLAYBACK
+CLUTTER_GST_IS_PLAYBACK_CLASS
+CLUTTER_GST_TYPE_PLAYBACK
+clutter_gst_playback_get_type
+<SUBSECTION Private>
+ClutterGstPlaybackPrivate
</SECTION>
<SECTION>
@@ -145,6 +230,7 @@ clutter_gst_camera_device_get_type
<TITLE>Utilities</TITLE>
clutter_gst_init
clutter_gst_init_with_args
+clutter_gst_create_video_sink
</SECTION>
<SECTION>