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>GstStreamCollection: GStreamer 1.0 Core Reference Manual</title> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual"> 8<link rel="up" href="libgstreamer.html" title="GStreamer Core Library"> 9<link rel="prev" href="gstreamer-GstStream.html" title="GstStreams"> 10<link rel="next" href="GstStructure.html" title="GstStructure"> 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">|</span> 18 <a href="#gstreamer-GstStreamCollection.description" class="shortcut">Description</a></span> 19</td> 20<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> 21<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 22<td><a accesskey="p" href="gstreamer-GstStream.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 23<td><a accesskey="n" href="GstStructure.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> 24</tr></table> 25<div class="refentry"> 26<a name="gstreamer-GstStreamCollection"></a><div class="titlepage"></div> 27<div class="refnamediv"><table width="100%"><tr> 28<td valign="top"> 29<h2><span class="refentrytitle"><a name="gstreamer-GstStreamCollection.top_of_page"></a>GstStreamCollection</span></h2> 30<p>GstStreamCollection — Base class for collection of streams</p> 31</td> 32<td class="gallery_image" valign="top" align="right"></td> 33</tr></table></div> 34<div class="refsect1"> 35<a name="gstreamer-GstStreamCollection.functions"></a><h2>Functions</h2> 36<div class="informaltable"><table class="informaltable" width="100%" border="0"> 37<colgroup> 38<col width="150px" class="functions_return"> 39<col class="functions_name"> 40</colgroup> 41<tbody> 42<tr> 43<td class="function_type"> 44<a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="returnvalue">GstStreamCollection</span></a> * 45</td> 46<td class="function_name"> 47<a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-new" title="gst_stream_collection_new ()">gst_stream_collection_new</a> <span class="c_punctuation">()</span> 48</td> 49</tr> 50<tr> 51<td class="function_type"> 52<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 53</td> 54<td class="function_name"> 55<a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-add-stream" title="gst_stream_collection_add_stream ()">gst_stream_collection_add_stream</a> <span class="c_punctuation">()</span> 56</td> 57</tr> 58<tr> 59<td class="function_type">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * 60</td> 61<td class="function_name"> 62<a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-get-upstream-id" title="gst_stream_collection_get_upstream_id ()">gst_stream_collection_get_upstream_id</a> <span class="c_punctuation">()</span> 63</td> 64</tr> 65<tr> 66<td class="function_type"> 67<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> 68</td> 69<td class="function_name"> 70<a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-get-size" title="gst_stream_collection_get_size ()">gst_stream_collection_get_size</a> <span class="c_punctuation">()</span> 71</td> 72</tr> 73<tr> 74<td class="function_type"> 75<a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="returnvalue">GstStream</span></a> * 76</td> 77<td class="function_name"> 78<a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-get-stream" title="gst_stream_collection_get_stream ()">gst_stream_collection_get_stream</a> <span class="c_punctuation">()</span> 79</td> 80</tr> 81</tbody> 82</table></div> 83</div> 84<div class="refsect1"> 85<a name="gstreamer-GstStreamCollection.other"></a><h2>Types and Values</h2> 86<div class="informaltable"><table class="informaltable" width="100%" border="0"> 87<colgroup> 88<col width="150px" class="name"> 89<col class="description"> 90</colgroup> 91<tbody> 92<tr> 93<td class="datatype_keyword">struct</td> 94<td class="function_name"><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection">GstStreamCollection</a></td> 95</tr> 96<tr> 97<td class="datatype_keyword">struct</td> 98<td class="function_name"><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollectionClass" title="struct GstStreamCollectionClass">GstStreamCollectionClass</a></td> 99</tr> 100</tbody> 101</table></div> 102</div> 103<div class="refsect1"> 104<a name="gstreamer-GstStreamCollection.includes"></a><h2>Includes</h2> 105<pre class="synopsis">#include <gst/gst.h> 106</pre> 107</div> 108<div class="refsect1"> 109<a name="gstreamer-GstStreamCollection.description"></a><h2>Description</h2> 110</div> 111<div class="refsect1"> 112<a name="gstreamer-GstStreamCollection.functions_details"></a><h2>Functions</h2> 113<div class="refsect2"> 114<a name="gst-stream-collection-new"></a><h3>gst_stream_collection_new ()</h3> 115<pre class="programlisting"><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="returnvalue">GstStreamCollection</span></a> * 116gst_stream_collection_new (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *upstream_id</code></em>);</pre> 117<p>Create a new <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a>.</p> 118<div class="refsect3"> 119<a name="gst-stream-collection-new.parameters"></a><h4>Parameters</h4> 120<div class="informaltable"><table class="informaltable" width="100%" border="0"> 121<colgroup> 122<col width="150px" class="parameters_name"> 123<col class="parameters_description"> 124<col width="200px" class="parameters_annotations"> 125</colgroup> 126<tbody><tr> 127<td class="parameter_name"><p>upstream_id</p></td> 128<td class="parameter_description"><p>The stream id of the parent stream. </p></td> 129<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 130</tr></tbody> 131</table></div> 132</div> 133<div class="refsect3"> 134<a name="gst-stream-collection-new.returns"></a><h4>Returns</h4> 135<p>The new <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a>. </p> 136<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 137</div> 138<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 139</div> 140<hr> 141<div class="refsect2"> 142<a name="gst-stream-collection-add-stream"></a><h3>gst_stream_collection_add_stream ()</h3> 143<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 144gst_stream_collection_add_stream (<em class="parameter"><code><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> *collection</code></em>, 145 <em class="parameter"><code><a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a> *stream</code></em>);</pre> 146<p>Add the given <em class="parameter"><code>stream</code></em> 147 to the <em class="parameter"><code>collection</code></em> 148.</p> 149<div class="refsect3"> 150<a name="gst-stream-collection-add-stream.parameters"></a><h4>Parameters</h4> 151<div class="informaltable"><table class="informaltable" width="100%" border="0"> 152<colgroup> 153<col width="150px" class="parameters_name"> 154<col class="parameters_description"> 155<col width="200px" class="parameters_annotations"> 156</colgroup> 157<tbody> 158<tr> 159<td class="parameter_name"><p>collection</p></td> 160<td class="parameter_description"><p>a <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a></p></td> 161<td class="parameter_annotations"> </td> 162</tr> 163<tr> 164<td class="parameter_name"><p>stream</p></td> 165<td class="parameter_description"><p>the <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a> to add. </p></td> 166<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> 167</tr> 168</tbody> 169</table></div> 170</div> 171<div class="refsect3"> 172<a name="gst-stream-collection-add-stream.returns"></a><h4>Returns</h4> 173<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>stream</code></em> 174was properly added, else <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p> 175</div> 176<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 177</div> 178<hr> 179<div class="refsect2"> 180<a name="gst-stream-collection-get-upstream-id"></a><h3>gst_stream_collection_get_upstream_id ()</h3> 181<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * 182gst_stream_collection_get_upstream_id (<em class="parameter"><code><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> *collection</code></em>);</pre> 183<p>Returns the upstream id of the <em class="parameter"><code>collection</code></em> 184.</p> 185<div class="refsect3"> 186<a name="gst-stream-collection-get-upstream-id.parameters"></a><h4>Parameters</h4> 187<div class="informaltable"><table class="informaltable" width="100%" border="0"> 188<colgroup> 189<col width="150px" class="parameters_name"> 190<col class="parameters_description"> 191<col width="200px" class="parameters_annotations"> 192</colgroup> 193<tbody><tr> 194<td class="parameter_name"><p>collection</p></td> 195<td class="parameter_description"><p>a <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a></p></td> 196<td class="parameter_annotations"> </td> 197</tr></tbody> 198</table></div> 199</div> 200<div class="refsect3"> 201<a name="gst-stream-collection-get-upstream-id.returns"></a><h4>Returns</h4> 202<p>The upstream id. </p> 203<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> 204</div> 205<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 206</div> 207<hr> 208<div class="refsect2"> 209<a name="gst-stream-collection-get-size"></a><h3>gst_stream_collection_get_size ()</h3> 210<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> 211gst_stream_collection_get_size (<em class="parameter"><code><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> *collection</code></em>);</pre> 212<p>Get the number of streams this collection contains</p> 213<div class="refsect3"> 214<a name="gst-stream-collection-get-size.parameters"></a><h4>Parameters</h4> 215<div class="informaltable"><table class="informaltable" width="100%" border="0"> 216<colgroup> 217<col width="150px" class="parameters_name"> 218<col class="parameters_description"> 219<col width="200px" class="parameters_annotations"> 220</colgroup> 221<tbody><tr> 222<td class="parameter_name"><p>collection</p></td> 223<td class="parameter_description"><p>a <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a></p></td> 224<td class="parameter_annotations"> </td> 225</tr></tbody> 226</table></div> 227</div> 228<div class="refsect3"> 229<a name="gst-stream-collection-get-size.returns"></a><h4>Returns</h4> 230<p> The number of streams that <em class="parameter"><code>collection</code></em> 231contains</p> 232</div> 233<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 234</div> 235<hr> 236<div class="refsect2"> 237<a name="gst-stream-collection-get-stream"></a><h3>gst_stream_collection_get_stream ()</h3> 238<pre class="programlisting"><a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="returnvalue">GstStream</span></a> * 239gst_stream_collection_get_stream (<em class="parameter"><code><a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> *collection</code></em>, 240 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre> 241<p>Retrieve the <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a> with index <em class="parameter"><code>index</code></em> 242 from the collection.</p> 243<p>The caller should not modify the returned <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a></p> 244<div class="refsect3"> 245<a name="gst-stream-collection-get-stream.parameters"></a><h4>Parameters</h4> 246<div class="informaltable"><table class="informaltable" width="100%" border="0"> 247<colgroup> 248<col width="150px" class="parameters_name"> 249<col class="parameters_description"> 250<col width="200px" class="parameters_annotations"> 251</colgroup> 252<tbody> 253<tr> 254<td class="parameter_name"><p>collection</p></td> 255<td class="parameter_description"><p>a <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a></p></td> 256<td class="parameter_annotations"> </td> 257</tr> 258<tr> 259<td class="parameter_name"><p>index</p></td> 260<td class="parameter_description"><p>Index of the stream to retrieve</p></td> 261<td class="parameter_annotations"> </td> 262</tr> 263</tbody> 264</table></div> 265</div> 266<div class="refsect3"> 267<a name="gst-stream-collection-get-stream.returns"></a><h4>Returns</h4> 268<p>A <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a>. </p> 269<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> 270</div> 271<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 272</div> 273</div> 274<div class="refsect1"> 275<a name="gstreamer-GstStreamCollection.other_details"></a><h2>Types and Values</h2> 276<div class="refsect2"> 277<a name="GstStreamCollection"></a><h3>struct GstStreamCollection</h3> 278<pre class="programlisting">struct GstStreamCollection { 279}; 280</pre> 281<p>A collection of <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a> that are available.</p> 282<p>A <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> will be provided by elements that can make those 283streams available. Applications can use the collection to show the user 284what streams are available by using <a class="link" href="gstreamer-GstStreamCollection.html#gst-stream-collection-get-stream" title="gst_stream_collection_get_stream ()"><code class="literal">gst_stream_collection_get_stream</code></a>()</p> 285<p>Once posted, a <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> is immutable. Updates are made by sending 286a new <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a> message, which may or may not share some of 287the <a class="link" href="gstreamer-GstStream.html#GstStream" title="struct GstStream"><span class="type">GstStream</span></a> objects from the collection it replaces. The receiver can check 288the sender of a stream collection message to know which collection is 289obsoleted.</p> 290<p>Several elements in a pipeline can provide <a class="link" href="gstreamer-GstStreamCollection.html#GstStreamCollection" title="struct GstStreamCollection"><span class="type">GstStreamCollection</span></a>.</p> 291<p>Applications can activate streams from a collection by using the 292<a class="link" href="GstEvent.html#GST-EVENT-SELECT-STREAMS:CAPS"><span class="type">GST_EVENT_SELECT_STREAMS</span></a> event on a pipeline, bin or element.</p> 293<p class="since">Since: <a class="link" href="ix05.html#api-index-1.10">1.10</a></p> 294</div> 295<hr> 296<div class="refsect2"> 297<a name="GstStreamCollectionClass"></a><h3>struct GstStreamCollectionClass</h3> 298<pre class="programlisting">struct GstStreamCollectionClass { 299 GstObjectClass parent_class; 300 301 /* signals */ 302 void (*stream_notify) (GstStreamCollection *collection, GstStream *stream, GParamSpec * pspec); 303}; 304</pre> 305<p>GstStreamCollection class structure</p> 306<div class="refsect3"> 307<a name="GstStreamCollectionClass.members"></a><h4>Members</h4> 308<div class="informaltable"><table class="informaltable" width="100%" border="0"> 309<colgroup> 310<col width="300px" class="struct_members_name"> 311<col class="struct_members_description"> 312<col width="200px" class="struct_members_annotations"> 313</colgroup> 314<tbody><tr> 315<td class="struct_member_name"><p><em class="structfield"><code><a name="GstStreamCollectionClass.stream-notify"></a>stream_notify</code></em> ()</p></td> 316<td class="struct_member_description"><p>default signal handler for the stream-notify signal</p></td> 317<td class="struct_member_annotations"> </td> 318</tr></tbody> 319</table></div> 320</div> 321</div> 322</div> 323</div> 324<div class="footer"> 325<hr>Generated by GTK-Doc V1.28</div> 326</body> 327</html>