Adding documentation for videomixer on my way with a funny sample pipeline.
authorJulien Moutte <julien@moutte.net>
Mon, 12 Dec 2005 22:29:34 +0000 (22:29 +0000)
committerJulien Moutte <julien@moutte.net>
Mon, 12 Dec 2005 22:29:34 +0000 (22:29 +0000)
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.

ChangeLog
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

index 70baf7c..97e785b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 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):
index 67a90f3..ddc8062 100644 (file)
@@ -81,7 +81,8 @@ EXTRA_HFILES = \
        $(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 = \
index a6df6a4..731225d 100644 (file)
@@ -20,6 +20,7 @@
     <xi:include href="xml/element-level.xml" />
     <xi:include href="xml/element-multipartmux.xml" />
     <xi:include href="xml/element-multipartdemux.xml" />
+    <xi:include href="xml/element-videomixer.xml" />
   </chapter>
 
   <chapter>
index 70a431c..8cfbfd5 100644 (file)
@@ -62,3 +62,12 @@ GstMultipartDemux
 GstMultipartDemuxClass
 </SECTION>
 
+<SECTION>
+<FILE>element-videomixer</FILE>
+GstVideoMixer
+GstVideoMixerBackground
+<TITLE>videomixer</TITLE>
+<SUBSECTION Standard>
+GstVideoMixerClass
+</SECTION>
+
index e3db900..a1cfacc 100644 (file)
@@ -294,6 +294,7 @@ GObject
       GstTypeFindElement
       GstMultipartMux
       GstMultipartDemux
+      GstVideoMixer
     GstPadTemplate
     GstIndex
       GstMemIndex
index 5093000..f4b6b13 100644 (file)
  * 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;