summaryrefslogtreecommitdiffstats
path: root/gst/videomixer/videomixer.c
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2005-12-12 22:29:34 +0000
committerJulien Moutte <julien@moutte.net>2005-12-12 22:29:34 +0000
commitea9090e73fada2f174319b901ec39c4a042992d6 (patch)
tree564536bd656d7f592e3beafc04025db4c59b11e5 /gst/videomixer/videomixer.c
parent5fa259d071bff945a080a6150d31dce83b906aab (diff)
Adding documentation for videomixer on my way with a funny sample pipeline.
Original commit message from CVS: 2005-12-12 Julien MOUTTE <julien@moutte.net> * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.hierarchy: * gst/videomixer/videomixer.c: (gst_videomixer_pad_sink_setcaps), (gst_videomixer_getcaps), (gst_videomixer_fill_queues), (gst_videomixer_update_queues), (gst_videomixer_collected): Adding documentation for videomixer on my way with a funny sample pipeline.
Diffstat (limited to 'gst/videomixer/videomixer.c')
-rw-r--r--gst/videomixer/videomixer.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/gst/videomixer/videomixer.c b/gst/videomixer/videomixer.c
index 5093000e..f4b6b13b 100644
--- a/gst/videomixer/videomixer.c
+++ b/gst/videomixer/videomixer.c
@@ -17,6 +17,34 @@
* Boston, MA 02111-1307, USA.
*/
+/**
+ * SECTION:element-videomixer
+ * @short_description: Takes several AYUV video streams as input and mixes them
+ * together.
+ *
+ * <refsect2>
+ * <para>
+ * Videomixer can only accept AYUV video streams. For each of the requested
+ * sink pads it will compare the incoming geometry and framerate to define the
+ * output parameters. Indeed output video frames will have the geometry of the
+ * biggest incoming video stream and the framerate of the fastest incoming one.
+ * </para>
+ * <title>Sample pipelines</title>
+ * <para>
+ * Here is a pipeline to demonstrate videomixer used together with videobox :
+ * <programlisting>
+ * gst-launch videotestsrc pattern=1 ! video/x-raw-yuv, framerate=\(fraction\)10/1, width=100, height=100 ! videobox border-alpha=0 alpha=0.5 top=-70 bottom=-70 right=-220 ! videomixer name=mix ! ffmpegcolorspace ! xvimagesink videotestsrc ! video/x-raw-yuv, framerate=\(fraction\)5/1, width=320, height=240 ! alpha alpha=0.7 ! mix.
+ * </programlisting>
+ * This should show a 320x240 pixels video test source with some transparency
+ * showing the background checker pattern. Another video test source with just
+ * the snow pattern of 100x100 pixels is overlayed on top of the first one on
+ * the left vertically centered with a small transparency showing the first
+ * video test source behind and the checker pattern under it. Note that the
+ * framerate of the output video is 10 frames per second.
+ * </para>
+ * </refsect2>
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -228,8 +256,13 @@ gst_videomixer_pad_set_property (GObject * object, guint prop_id,
}
/**
- * GstVideoMixerBackground:
- */
+ * GstVideoMixerBackground:
+ * @VIDEO_MIXER_BACKGROUND_CHECKER: checker pattern background
+ * @VIDEO_MIXER_BACKGROUND_BLACK: solid color black background
+ * @VIDEO_MIXER_BACKGROUND_WHITE: solid color white background
+ *
+ * The different backgrounds videomixer can blend over.
+ */
typedef enum
{
VIDEO_MIXER_BACKGROUND_CHECKER,
@@ -238,6 +271,11 @@ typedef enum
}
GstVideoMixerBackground;
+/**
+ * GstVideoMixer:
+ *
+ * The opaque #GstVideoMixer structure.
+ */
struct _GstVideoMixer
{
GstElement element;