• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>GstVideoAggregator: GStreamer Base Plugins 1.0 Library Reference Manual</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
8<link rel="up" href="gstreamer-video.html" title="Video Library">
9<link rel="prev" href="gst-plugins-base-libs-GstVideoAffineTransformationMeta.html" title="GstVideoAffineTransformationMeta">
10<link rel="next" href="GstVideoAggregatorPad.html" title="GstVideoAggregatorPad">
11<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13</head>
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="5"><tr valign="middle">
16<td width="100%" align="left" class="shortcuts">
17<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span18                  <a href="#GstVideoAggregator.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <a href="#GstVideoAggregator.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20</td>
21<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22<td><a accesskey="u" href="gstreamer-video.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23<td><a accesskey="p" href="gst-plugins-base-libs-GstVideoAffineTransformationMeta.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24<td><a accesskey="n" href="GstVideoAggregatorPad.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25</tr></table>
26<div class="refentry">
27<a name="GstVideoAggregator"></a><div class="titlepage"></div>
28<div class="refnamediv"><table width="100%"><tr>
29<td valign="top">
30<h2><span class="refentrytitle"><a name="GstVideoAggregator.top_of_page"></a>GstVideoAggregator</span></h2>
31<p>GstVideoAggregator — Base class for video aggregators</p>
32</td>
33<td class="gallery_image" valign="top" align="right"></td>
34</tr></table></div>
35<div class="refsect1">
36<a name="GstVideoAggregator.other"></a><h2>Types and Values</h2>
37<div class="informaltable"><table class="informaltable" width="100%" border="0">
38<colgroup>
39<col width="150px" class="name">
40<col class="description">
41</colgroup>
42<tbody>
43<tr>
44<td class="datatype_keyword">struct</td>
45<td class="function_name"><a class="link" href="GstVideoAggregator.html#GstVideoAggregator-struct" title="struct GstVideoAggregator">GstVideoAggregator</a></td>
46</tr>
47<tr>
48<td class="datatype_keyword">struct</td>
49<td class="function_name"><a class="link" href="GstVideoAggregator.html#GstVideoAggregatorClass" title="struct GstVideoAggregatorClass">GstVideoAggregatorClass</a></td>
50</tr>
51</tbody>
52</table></div>
53</div>
54<div class="refsect1">
55<a name="GstVideoAggregator.object-hierarchy"></a><h2>Object Hierarchy</h2>
56<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
57    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
58        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
59            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
60                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0/GstAggregator.html#GstAggregator-struct">GstAggregator</a>
61                    <span class="lineart">╰──</span> GstVideoAggregator
62</pre>
63</div>
64<div class="refsect1">
65<a name="GstVideoAggregator.includes"></a><h2>Includes</h2>
66<pre class="synopsis">#include &lt;gst/video/video.h&gt;
67</pre>
68</div>
69<div class="refsect1">
70<a name="GstVideoAggregator.description"></a><h2>Description</h2>
71<p>VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested
72sink pads it will compare the incoming geometry and framerate to define the
73output parameters. Indeed output video frames will have the geometry of the
74biggest incoming video stream and the framerate of the fastest incoming one.</p>
75<p>VideoAggregator will do colorspace conversion.</p>
76<p>Zorder for each input stream can be configured on the
77<a class="link" href="GstVideoAggregatorPad.html" title="GstVideoAggregatorPad"><span class="type">GstVideoAggregatorPad</span></a>.</p>
78</div>
79<div class="refsect1">
80<a name="GstVideoAggregator.functions_details"></a><h2>Functions</h2>
81<p></p>
82</div>
83<div class="refsect1">
84<a name="GstVideoAggregator.other_details"></a><h2>Types and Values</h2>
85<div class="refsect2">
86<a name="GstVideoAggregator-struct"></a><h3>struct GstVideoAggregator</h3>
87<pre class="programlisting">struct GstVideoAggregator {
88  /* Output caps */
89  GstVideoInfo               info;
90};
91</pre>
92<div class="refsect3">
93<a name="GstVideoAggregator.members"></a><h4>Members</h4>
94<div class="informaltable"><table class="informaltable" width="100%" border="0">
95<colgroup>
96<col width="300px" class="struct_members_name">
97<col class="struct_members_description">
98<col width="200px" class="struct_members_annotations">
99</colgroup>
100<tbody><tr>
101<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoAggregator-struct.info"></a>info</code></em>;</p></td>
102<td class="struct_member_description"><p>The <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> representing the currently set
103srcpad caps.</p></td>
104<td class="struct_member_annotations"> </td>
105</tr></tbody>
106</table></div>
107</div>
108<p class="since">Since: <a class="link" href="ix03.html#api-index-1.16">1.16</a></p>
109</div>
110<hr>
111<div class="refsect2">
112<a name="GstVideoAggregatorClass"></a><h3>struct GstVideoAggregatorClass</h3>
113<pre class="programlisting">struct GstVideoAggregatorClass {
114  GstCaps *          (*update_caps)               (GstVideoAggregator *  videoaggregator,
115                                                   GstCaps            *  caps);
116  GstFlowReturn      (*aggregate_frames)          (GstVideoAggregator *  videoaggregator,
117                                                   GstBuffer          *  outbuffer);
118  GstFlowReturn      (*create_output_buffer)      (GstVideoAggregator *  videoaggregator,
119                                                   GstBuffer          ** outbuffer);
120  void               (*find_best_format)          (GstVideoAggregator *  vagg,
121                                                   GstCaps            *  downstream_caps,
122                                                   GstVideoInfo       *  best_info,
123                                                   gboolean           *  at_least_one_alpha);
124};
125</pre>
126<div class="refsect3">
127<a name="GstVideoAggregatorClass.members"></a><h4>Members</h4>
128<div class="informaltable"><table class="informaltable" width="100%" border="0">
129<colgroup>
130<col width="300px" class="struct_members_name">
131<col class="struct_members_description">
132<col width="200px" class="struct_members_annotations">
133</colgroup>
134<tbody>
135<tr>
136<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.update-caps"></a>update_caps</code></em> ()</p></td>
137<td class="struct_member_description"><p>Optional.
138Lets subclasses update the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> representing
139the src pad caps before usage.  Return <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate failure.</p></td>
140<td class="struct_member_annotations"> </td>
141</tr>
142<tr>
143<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.aggregate-frames"></a>aggregate_frames</code></em> ()</p></td>
144<td class="struct_member_description"><p>Lets subclasses aggregate frames that are ready. Subclasses
145should iterate the GstElement.sinkpads and use the already
146mapped <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> from <code class="function">gst_video_aggregator_pad_get_prepared_frame()</code>
147or directly use the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> from <code class="function">gst_video_aggregator_pad_get_current_buffer()</code>
148if it needs to map the buffer in a special way. The result of the
149aggregation should land in <em class="parameter"><code>outbuffer</code></em>
150.</p></td>
151<td class="struct_member_annotations"> </td>
152</tr>
153<tr>
154<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.create-output-buffer"></a>create_output_buffer</code></em> ()</p></td>
155<td class="struct_member_description"><p>Optional.
156Lets subclasses provide a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> to be used as <em class="parameter"><code>outbuffer</code></em>
157of
158the <span class="type">aggregate_frames</span> vmethod.</p></td>
159<td class="struct_member_annotations"> </td>
160</tr>
161<tr>
162<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.find-best-format"></a>find_best_format</code></em> ()</p></td>
163<td class="struct_member_description"><p>Optional.
164Lets subclasses decide of the best common format to use.</p></td>
165<td class="struct_member_annotations"> </td>
166</tr>
167</tbody>
168</table></div>
169</div>
170<p class="since">Since: <a class="link" href="ix03.html#api-index-1.16">1.16</a></p>
171</div>
172</div>
173</div>
174<div class="footer">
175<hr>Generated by GTK-Doc V1.28</div>
176</body>
177</html>