1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>videomixer</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Good Plugins 0.10 Plugins Reference Manual">
8 <link rel="up" href="ch01.html" title="gst-plugins-good Elements">
9 <link rel="prev" href="gst-plugins-good-plugins-videoflip.html" title="videoflip">
10 <link rel="next" href="gst-plugins-good-plugins-videomixer2.html" title="videomixer2">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="gst-plugins-good-plugins-videoflip.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Good Plugins 0.10 Plugins Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-good-plugins-videomixer2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-good-plugins-videomixer.synopsis" class="shortcut">Top</a>
26 <a href="#gst-plugins-good-plugins-videomixer.description" class="shortcut">Description</a>
28 <a href="#gst-plugins-good-plugins-videomixer.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#gst-plugins-good-plugins-videomixer.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
32 <a href="#gst-plugins-good-plugins-videomixer.properties" class="shortcut">Properties</a>
35 <div class="refentry">
36 <a name="gst-plugins-good-plugins-videomixer"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
39 <h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-videomixer.top_of_page"></a>videomixer</span></h2>
40 <p>videomixer — Mix multiple video streams</p>
42 <td valign="top" align="right"></td>
44 <div class="refsynopsisdiv">
45 <a name="gst-plugins-good-plugins-videomixer.synopsis"></a><h2>Synopsis</h2>
46 <a name="GstVideoMixer"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixer-struct" title="struct GstVideoMixer">GstVideoMixer</a>;
47 enum <a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixerBackground" title="enum GstVideoMixerBackground">GstVideoMixerBackground</a>;
50 <div class="refsect1">
51 <a name="gst-plugins-good-plugins-videomixer.object-hierarchy"></a><h2>Object Hierarchy</h2>
52 <pre class="synopsis">
53 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
54 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
55 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
59 <div class="refsect1">
60 <a name="gst-plugins-good-plugins-videomixer.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
62 GstVideoMixer implements
63 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
65 <div class="refsect1">
66 <a name="gst-plugins-good-plugins-videomixer.properties"></a><h2>Properties</h2>
67 <pre class="synopsis">
68 "<a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixer--background" title='The "background" property'>background</a>" <a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixerBackground" title="enum GstVideoMixerBackground"><span class="type">GstVideoMixerBackground</span></a> : Read / Write
71 <div class="refsect1">
72 <a name="gst-plugins-good-plugins-videomixer.description"></a><h2>Description</h2>
74 Videomixer can accept AYUV, ARGB and BGRA video streams. For each of the requested
75 sink pads it will compare the incoming geometry and framerate to define the
76 output parameters. Indeed output video frames will have the geometry of the
77 biggest incoming video stream and the framerate of the fastest incoming one.
80 All sink pads must be either AYUV, ARGB or BGRA, but a mixture of them is not
81 supported. The src pad will have the same colorspace as the sinks.
82 No colorspace conversion is done.
85 Individual parameters for each input stream can be configured on the
86 <a class="link" href="GstVideoMixerPad.html" title="GstVideoMixerPad"><span class="type">GstVideoMixerPad</span></a>.
90 <div class="refsect2">
91 <a name="idp21835648"></a><h3>Sample pipelines</h3>
92 <div class="informalexample">
93 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
96 <td class="listing_lines" align="right"><pre>1
104 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">0.10</span> \
105 videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
106 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>AYUV<span class="gtkdoc opt">,</span>framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
107 videobox border<span class="gtkdoc opt">-</span>alpha<span class="gtkdoc opt">=</span><span class="number">0</span> top<span class="gtkdoc opt">=-</span><span class="number">70</span> bottom<span class="gtkdoc opt">=-</span><span class="number">70</span> right<span class="gtkdoc opt">=-</span><span class="number">220</span> <span class="gtkdoc opt">!</span> \
108 videomixer name<span class="gtkdoc opt">=</span>mix sink_0<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.7</span> sink_1<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> \
109 ffmpegcolorspace <span class="gtkdoc opt">!</span> xvimagesink \
110 videotestsrc <span class="gtkdoc opt">!</span> \
111 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>AYUV<span class="gtkdoc opt">,</span>framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span>width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
116 A pipeline to demonstrate videomixer used together with videobox.
117 This should show a 320x240 pixels video test source with some transparency
118 showing the background checker pattern. Another video test source with just
119 the snow pattern of 100x100 pixels is overlayed on top of the first one on
120 the left vertically centered with a small transparency showing the first
121 video test source behind and the checker pattern under it. Note that the
122 framerate of the output video is 10 frames per second.
123 <div class="informalexample">
124 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
127 <td class="listing_lines" align="right"><pre>1
132 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
133 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>rgb<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
134 videomixer name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink \
135 videotestsrc <span class="gtkdoc opt">!</span> \
136 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>rgb<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
141 A pipeline to demostrate bgra mixing. (This does not demonstrate alpha blending).
142 <div class="informalexample">
143 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
146 <td class="listing_lines" align="right"><pre>1
151 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">1</span> <span class="gtkdoc opt">!</span> \
152 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format <span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">100</span> <span class="gtkdoc opt">!</span> \
153 videomixer name<span class="gtkdoc opt">=</span>mix <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ximagesink \
154 videotestsrc <span class="gtkdoc opt">!</span> \
155 video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span>format<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fourcc\<span class="gtkdoc opt">)</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">320</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">240</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
160 A pipeline to test I420
161 <div class="informalexample">
162 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
165 <td class="listing_lines" align="right"><pre>1</pre></td>
166 <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch videotestsrc pattern<span class="gtkdoc opt">=</span><span class="string">"snow"</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">200</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">150</span> <span class="gtkdoc opt">!</span> videomixer name<span class="gtkdoc opt">=</span>mix sink_1<span class="gtkdoc opt">::</span>xpos<span class="gtkdoc opt">=</span><span class="number">20</span> sink_1<span class="gtkdoc opt">::</span>ypos<span class="gtkdoc opt">=</span><span class="number">20</span> sink_1<span class="gtkdoc opt">::</span>alpha<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> xvimagesink videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">-</span>yuv<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span>\<span class="gtkdoc opt">(</span>fraction\<span class="gtkdoc opt">)</span><span class="number">10</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">360</span> <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span></pre></td>
171 Set position and alpha on the mixer using <a class="link" href="GstVideoMixerPad.html" title="GstVideoMixerPad"><span class="type">GstVideoMixerPad</span></a> properties.
175 <div class="refsynopsisdiv">
177 <div class="refsect2">
178 <a name="idp17624128"></a><h3>Element Information</h3>
179 <div class="variablelist"><table border="0">
180 <col align="left" valign="top">
183 <td><p><span class="term">plugin</span></p></td>
185 <a class="link" href="gst-plugins-good-plugins-plugin-videomixer.html#plugin-videomixer">videomixer</a>
189 <td><p><span class="term">author</span></p></td>
190 <td>Wim Taymans <wim@fluendo.com></td>
193 <td><p><span class="term">class</span></p></td>
194 <td>Filter/Editor/Video</td>
200 <div class="refsect2">
201 <a name="idp23605424"></a><h3>Element Pads</h3>
202 <div class="variablelist"><table border="0">
203 <col align="left" valign="top">
206 <td><p><span class="term">name</span></p></td>
210 <td><p><span class="term">direction</span></p></td>
214 <td><p><span class="term">presence</span></p></td>
218 <td><p><span class="term">details</span></p></td>
219 <td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
222 <td><p><span class="term"></span></p></td>
223 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
226 <td><p><span class="term"></span></p></td>
227 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
230 <td><p><span class="term"></span></p></td>
231 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
234 <td><p><span class="term"></span></p></td>
235 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
238 <td><p><span class="term"></span></p></td>
239 <td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
242 <td><p><span class="term"></span></p></td>
243 <td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
246 <td><p><span class="term"></span></p></td>
247 <td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
250 <td><p><span class="term"></span></p></td>
251 <td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
254 <td><p><span class="term"></span></p></td>
255 <td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
258 <td><p><span class="term"></span></p></td>
259 <td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
262 <td><p><span class="term"></span></p></td>
263 <td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
266 <td><p><span class="term"></span></p></td>
267 <td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
270 <td><p><span class="term"></span></p></td>
271 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
274 <td><p><span class="term"></span></p></td>
275 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
278 <td><p><span class="term"></span></p></td>
279 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
282 <td><p><span class="term"></span></p></td>
283 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
286 <td><p><span class="term"></span></p></td>
287 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
290 <td><p><span class="term"></span></p></td>
291 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
295 <div class="variablelist"><table border="0">
296 <col align="left" valign="top">
299 <td><p><span class="term">name</span></p></td>
303 <td><p><span class="term">direction</span></p></td>
307 <td><p><span class="term">presence</span></p></td>
311 <td><p><span class="term">details</span></p></td>
312 <td>video/x-raw-yuv, format=(fourcc)AYUV, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
315 <td><p><span class="term"></span></p></td>
316 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
319 <td><p><span class="term"></span></p></td>
320 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
323 <td><p><span class="term"></span></p></td>
324 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
327 <td><p><span class="term"></span></p></td>
328 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
331 <td><p><span class="term"></span></p></td>
332 <td> video/x-raw-yuv, format=(fourcc)Y444, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
335 <td><p><span class="term"></span></p></td>
336 <td> video/x-raw-yuv, format=(fourcc)Y42B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
339 <td><p><span class="term"></span></p></td>
340 <td> video/x-raw-yuv, format=(fourcc)YUY2, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
343 <td><p><span class="term"></span></p></td>
344 <td> video/x-raw-yuv, format=(fourcc)UYVY, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
347 <td><p><span class="term"></span></p></td>
348 <td> video/x-raw-yuv, format=(fourcc)YVYU, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
351 <td><p><span class="term"></span></p></td>
352 <td> video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
355 <td><p><span class="term"></span></p></td>
356 <td> video/x-raw-yuv, format=(fourcc)YV12, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
359 <td><p><span class="term"></span></p></td>
360 <td> video/x-raw-yuv, format=(fourcc)Y41B, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
363 <td><p><span class="term"></span></p></td>
364 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
367 <td><p><span class="term"></span></p></td>
368 <td> video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
371 <td><p><span class="term"></span></p></td>
372 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
375 <td><p><span class="term"></span></p></td>
376 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
379 <td><p><span class="term"></span></p></td>
380 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
383 <td><p><span class="term"></span></p></td>
384 <td> video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
393 <div class="refsect1">
394 <a name="gst-plugins-good-plugins-videomixer.details"></a><h2>Details</h2>
395 <div class="refsect2">
396 <a name="GstVideoMixer-struct"></a><h3>struct GstVideoMixer</h3>
397 <pre class="programlisting">struct GstVideoMixer;</pre>
399 The opaque <a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixer"><span class="type">GstVideoMixer</span></a> structure.
403 <div class="refsect2">
404 <a name="GstVideoMixerBackground"></a><h3>enum GstVideoMixerBackground</h3>
405 <pre class="programlisting">typedef enum {
406 VIDEO_MIXER_BACKGROUND_CHECKER,
407 VIDEO_MIXER_BACKGROUND_BLACK,
408 VIDEO_MIXER_BACKGROUND_WHITE,
409 VIDEO_MIXER_BACKGROUND_TRANSPARENT,
410 } GstVideoMixerBackground;
413 The different backgrounds videomixer can blend over.
415 <div class="variablelist"><table border="0">
416 <col align="left" valign="top">
419 <td><p><a name="VIDEO-MIXER-BACKGROUND-CHECKER:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER_BACKGROUND_CHECKER</code></span></p></td>
420 <td>checker pattern background
424 <td><p><a name="VIDEO-MIXER-BACKGROUND-BLACK:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER_BACKGROUND_BLACK</code></span></p></td>
425 <td>solid color black background
429 <td><p><a name="VIDEO-MIXER-BACKGROUND-WHITE:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER_BACKGROUND_WHITE</code></span></p></td>
430 <td>solid color white background
434 <td><p><a name="VIDEO-MIXER-BACKGROUND-TRANSPARENT:CAPS"></a><span class="term"><code class="literal">VIDEO_MIXER_BACKGROUND_TRANSPARENT</code></span></p></td>
435 <td>background is left transparent and layers are composited using "A OVER B" composition rules. This is only applicable to AYUV and ARGB (and variants) as it preserves the alpha channel and allows for further mixing.
442 <div class="refsect1">
443 <a name="gst-plugins-good-plugins-videomixer.property-details"></a><h2>Property Details</h2>
444 <div class="refsect2">
445 <a name="GstVideoMixer--background"></a><h3>The <code class="literal">"background"</code> property</h3>
446 <pre class="programlisting"> "background" <a class="link" href="gst-plugins-good-plugins-videomixer.html#GstVideoMixerBackground" title="enum GstVideoMixerBackground"><span class="type">GstVideoMixerBackground</span></a> : Read / Write</pre>
447 <p>Background type.</p>
448 <p>Default value: Checker pattern</p>
454 Generated by GTK-Doc V1.18</div>