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.
+
+2005-12-12 Julien MOUTTE <julien@moutte.net>
+
* gst/videomixer/videomixer.c: (gst_videomixer_pad_sink_setcaps),
(gst_videomixer_getcaps), (gst_videomixer_fill_queues),
(gst_videomixer_update_queues), (gst_videomixer_collected):
$(top_srcdir)/ext/cairo/gsttimeoverlay.h \
$(top_srcdir)/ext/flac/gstflacdec.h \
$(top_srcdir)/gst/multipart/multipartmux.c \
- $(top_srcdir)/gst/multipart/multipartdemux.c
+ $(top_srcdir)/gst/multipart/multipartdemux.c \
+ $(top_srcdir)/gst/videomixer/videomixer.c
# example code that needs to be converted to xml and placed in xml/
EXAMPLE_CFILES = \
* 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
}
/**
- * 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,
}
GstVideoMixerBackground;
+/**
+ * GstVideoMixer:
+ *
+ * The opaque #GstVideoMixer structure.
+ */
struct _GstVideoMixer
{
GstElement element;