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>GstGLBaseMemory: 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="gl.html" title="OpenGL Integration Library"> 9<link rel="prev" href="GstGLBaseFilter.html" title="GstGLBaseFilter"> 10<link rel="next" href="gst-plugins-base-libs-GstGLBuffer.html" title="GstGLBuffer"> 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="#gst-plugins-base-libs-GstGLBaseMemory.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-base-libs-GstGLBaseMemory.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="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> 23<td><a accesskey="p" href="GstGLBaseFilter.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 24<td><a accesskey="n" href="gst-plugins-base-libs-GstGLBuffer.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="gst-plugins-base-libs-GstGLBaseMemory"></a><div class="titlepage"></div> 28<div class="refnamediv"><table width="100%"><tr> 29<td valign="top"> 30<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-GstGLBaseMemory.top_of_page"></a>GstGLBaseMemory</span></h2> 31<p>GstGLBaseMemory — memory subclass for GL buffers</p> 32</td> 33<td class="gallery_image" valign="top" align="right"></td> 34</tr></table></div> 35<div class="refsect1"> 36<a name="gst-plugins-base-libs-GstGLBaseMemory.functions"></a><h2>Functions</h2> 37<div class="informaltable"><table class="informaltable" width="100%" border="0"> 38<colgroup> 39<col width="150px" class="functions_return"> 40<col class="functions_name"> 41</colgroup> 42<tbody> 43<tr> 44<td class="function_type"> 45<span class="returnvalue">void</span> 46</td> 47<td class="function_name"> 48<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()">*GstGLAllocationParamsCopyFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 49</td> 50</tr> 51<tr> 52<td class="function_type"> 53<span class="returnvalue">void</span> 54</td> 55<td class="function_name"> 56<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()">*GstGLAllocationParamsFreeFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 57</td> 58</tr> 59<tr> 60<td class="function_type"> 61<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 62</td> 63<td class="function_name"> 64<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-allocation-params-init" title="gst_gl_allocation_params_init ()">gst_gl_allocation_params_init</a> <span class="c_punctuation">()</span> 65</td> 66</tr> 67<tr> 68<td class="function_type"> 69<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="returnvalue">GstGLAllocationParams</span></a> * 70</td> 71<td class="function_name"> 72<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-allocation-params-copy" title="gst_gl_allocation_params_copy ()">gst_gl_allocation_params_copy</a> <span class="c_punctuation">()</span> 73</td> 74</tr> 75<tr> 76<td class="function_type"> 77<span class="returnvalue">void</span> 78</td> 79<td class="function_name"> 80<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-allocation-params-free" title="gst_gl_allocation_params_free ()">gst_gl_allocation_params_free</a> <span class="c_punctuation">()</span> 81</td> 82</tr> 83<tr> 84<td class="function_type"> 85<span class="returnvalue">void</span> 86</td> 87<td class="function_name"> 88<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-allocation-params-free-data" title="gst_gl_allocation_params_free_data ()">gst_gl_allocation_params_free_data</a> <span class="c_punctuation">()</span> 89</td> 90</tr> 91<tr> 92<td class="function_type"> 93<span class="returnvalue">void</span> 94</td> 95<td class="function_name"> 96<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-allocation-params-copy-data" title="gst_gl_allocation_params_copy_data ()">gst_gl_allocation_params_copy_data</a> <span class="c_punctuation">()</span> 97</td> 98</tr> 99<tr> 100<td class="function_type"> 101<span class="returnvalue">void</span> 102</td> 103<td class="function_name"> 104<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-init-once" title="gst_gl_base_memory_init_once ()">gst_gl_base_memory_init_once</a> <span class="c_punctuation">()</span> 105</td> 106</tr> 107<tr> 108<td class="function_type"> 109<span class="returnvalue">void</span> 110</td> 111<td class="function_name"> 112<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-init" title="gst_gl_base_memory_init ()">gst_gl_base_memory_init</a> <span class="c_punctuation">()</span> 113</td> 114</tr> 115<tr> 116<td class="function_type"> 117<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 118</td> 119<td class="function_name"> 120<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-is-gl-base-memory" title="gst_is_gl_base_memory ()">gst_is_gl_base_memory</a> <span class="c_punctuation">()</span> 121</td> 122</tr> 123<tr> 124<td class="function_type"> 125<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 126</td> 127<td class="function_name"> 128<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorAllocFunction" title="GstGLBaseMemoryAllocatorAllocFunction ()">*GstGLBaseMemoryAllocatorAllocFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 129</td> 130</tr> 131<tr> 132<td class="function_type"> 133<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 134</td> 135<td class="function_name"> 136<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCreateFunction" title="GstGLBaseMemoryAllocatorCreateFunction ()">*GstGLBaseMemoryAllocatorCreateFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 137</td> 138</tr> 139<tr> 140<td class="function_type"> 141<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 142</td> 143<td class="function_name"> 144<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorMapFunction" title="GstGLBaseMemoryAllocatorMapFunction ()">*GstGLBaseMemoryAllocatorMapFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 145</td> 146</tr> 147<tr> 148<td class="function_type"> 149<span class="returnvalue">void</span> 150</td> 151<td class="function_name"> 152<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()">*GstGLBaseMemoryAllocatorUnmapFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 153</td> 154</tr> 155<tr> 156<td class="function_type"> 157<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 158</td> 159<td class="function_name"> 160<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCopyFunction" title="GstGLBaseMemoryAllocatorCopyFunction ()">*GstGLBaseMemoryAllocatorCopyFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 161</td> 162</tr> 163<tr> 164<td class="function_type"> 165<span class="returnvalue">void</span> 166</td> 167<td class="function_name"> 168<span class="c_punctuation">(</span><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()">*GstGLBaseMemoryAllocatorDestroyFunction</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 169</td> 170</tr> 171<tr> 172<td class="function_type"> 173<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 174</td> 175<td class="function_name"> 176<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-alloc" title="gst_gl_base_memory_alloc ()">gst_gl_base_memory_alloc</a> <span class="c_punctuation">()</span> 177</td> 178</tr> 179<tr> 180<td class="function_type"> 181<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 182</td> 183<td class="function_name"> 184<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-alloc-data" title="gst_gl_base_memory_alloc_data ()">gst_gl_base_memory_alloc_data</a> <span class="c_punctuation">()</span> 185</td> 186</tr> 187<tr> 188<td class="function_type"> 189<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 190</td> 191<td class="function_name"> 192<a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-memcpy" title="gst_gl_base_memory_memcpy ()">gst_gl_base_memory_memcpy</a> <span class="c_punctuation">()</span> 193</td> 194</tr> 195</tbody> 196</table></div> 197</div> 198<a name="GstGLBaseMemoryAllocator"></a><a name="GstGLAllocationParams"></a><div class="refsect1"> 199<a name="gst-plugins-base-libs-GstGLBaseMemory.other"></a><h2>Types and Values</h2> 200<div class="informaltable"><table class="informaltable" width="100%" border="0"> 201<colgroup> 202<col width="150px" class="name"> 203<col class="description"> 204</colgroup> 205<tbody> 206<tr> 207<td class="datatype_keyword"> </td> 208<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator-struct" title="GstGLBaseMemoryAllocator">GstGLBaseMemoryAllocator</a></td> 209</tr> 210<tr> 211<td class="datatype_keyword"> </td> 212<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorClass" title="GstGLBaseMemoryAllocatorClass">GstGLBaseMemoryAllocatorClass</a></td> 213</tr> 214<tr> 215<td class="define_keyword">#define</td> 216<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-BASE-MEMORY-ALLOCATOR-NAME:CAPS" title="GST_GL_BASE_MEMORY_ALLOCATOR_NAME">GST_GL_BASE_MEMORY_ALLOCATOR_NAME</a></td> 217</tr> 218<tr> 219<td class="define_keyword">#define</td> 220<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL">GST_MAP_GL</a></td> 221</tr> 222<tr> 223<td class="datatype_keyword">enum</td> 224<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryError" title="enum GstGLBaseMemoryError">GstGLBaseMemoryError</a></td> 225</tr> 226<tr> 227<td class="define_keyword">#define</td> 228<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-BASE-MEMORY-ERROR:CAPS" title="GST_GL_BASE_MEMORY_ERROR">GST_GL_BASE_MEMORY_ERROR</a></td> 229</tr> 230<tr> 231<td class="datatype_keyword">enum</td> 232<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryTransfer" title="enum GstGLBaseMemoryTransfer">GstGLBaseMemoryTransfer</a></td> 233</tr> 234<tr> 235<td class="datatype_keyword">struct</td> 236<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams-struct" title="struct GstGLAllocationParams">GstGLAllocationParams</a></td> 237</tr> 238<tr> 239<td class="define_keyword">#define</td> 240<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-ALLOC:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC</a></td> 241</tr> 242<tr> 243<td class="define_keyword">#define</td> 244<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-WRAP-SYSMEM:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM</a></td> 245</tr> 246<tr> 247<td class="define_keyword">#define</td> 248<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-WRAP-GPU-HANDLE:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE</a></td> 249</tr> 250<tr> 251<td class="define_keyword">#define</td> 252<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-USER:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER</a></td> 253</tr> 254<tr> 255<td class="datatype_keyword"> </td> 256<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory">GstGLBaseMemory</a></td> 257</tr> 258</tbody> 259</table></div> 260</div> 261<div class="refsect1"> 262<a name="gst-plugins-base-libs-GstGLBaseMemory.object-hierarchy"></a><h2>Object Hierarchy</h2> 263<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> 264 <span class="lineart">╰──</span> GstGLAllocationParams 265 <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 266 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 267 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 268 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocator-struct">GstAllocator</a> 269 <span class="lineart">╰──</span> GstGLBaseMemoryAllocator 270 <span class="lineart">├──</span> <a class="link" href="gst-plugins-base-libs-GstGLBuffer.html#GstGLBufferAllocator">GstGLBufferAllocator</a> 271 <span class="lineart">├──</span> <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator">GstGLMemoryAllocator</a> 272 <span class="lineart">╰──</span> <a class="link" href="gst-plugins-base-libs-GstGLRenderbuffer.html#GstGLRenderbufferAllocator">GstGLRenderbufferAllocator</a> 273</pre> 274</div> 275<div class="refsect1"> 276<a name="gst-plugins-base-libs-GstGLBaseMemory.includes"></a><h2>Includes</h2> 277<pre class="synopsis">#include <gst/gl/gl.h> 278</pre> 279</div> 280<div class="refsect1"> 281<a name="gst-plugins-base-libs-GstGLBaseMemory.description"></a><h2>Description</h2> 282<p>GstGLBaseMemory is a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> subclass providing the basis of support 283for the mapping of GL buffers.</p> 284<p>Data is uploaded or downloaded from the GPU as is necessary.</p> 285</div> 286<div class="refsect1"> 287<a name="gst-plugins-base-libs-GstGLBaseMemory.functions_details"></a><h2>Functions</h2> 288<div class="refsect2"> 289<a name="GstGLAllocationParamsCopyFunc"></a><h3>GstGLAllocationParamsCopyFunc ()</h3> 290<pre class="programlisting"><span class="returnvalue">void</span> 291<span class="c_punctuation">(</span>*GstGLAllocationParamsCopyFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>, 292 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *dest</code></em>);</pre> 293<p>Copies the parameters from <em class="parameter"><code>src</code></em> 294 into <em class="parameter"><code>dest</code></em> 295. The subclass must compose copy 296functions from the superclass.</p> 297<div class="refsect3"> 298<a name="GstGLAllocationParamsCopyFunc.parameters"></a><h4>Parameters</h4> 299<div class="informaltable"><table class="informaltable" width="100%" border="0"> 300<colgroup> 301<col width="150px" class="parameters_name"> 302<col class="parameters_description"> 303<col width="200px" class="parameters_annotations"> 304</colgroup> 305<tbody> 306<tr> 307<td class="parameter_name"><p>src</p></td> 308<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to copy from</p></td> 309<td class="parameter_annotations"> </td> 310</tr> 311<tr> 312<td class="parameter_name"><p>dest</p></td> 313<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to copy</p></td> 314<td class="parameter_annotations"> </td> 315</tr> 316</tbody> 317</table></div> 318</div> 319</div> 320<hr> 321<div class="refsect2"> 322<a name="GstGLAllocationParamsFreeFunc"></a><h3>GstGLAllocationParamsFreeFunc ()</h3> 323<pre class="programlisting"><span class="returnvalue">void</span> 324<span class="c_punctuation">(</span>*GstGLAllocationParamsFreeFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> params</code></em>);</pre> 325<p>Free any dynamically allocated data. The subclass must call the superclass' 326free.</p> 327<div class="refsect3"> 328<a name="GstGLAllocationParamsFreeFunc.parameters"></a><h4>Parameters</h4> 329<div class="informaltable"><table class="informaltable" width="100%" border="0"> 330<colgroup> 331<col width="150px" class="parameters_name"> 332<col class="parameters_description"> 333<col width="200px" class="parameters_annotations"> 334</colgroup> 335<tbody><tr> 336<td class="parameter_name"><p>params</p></td> 337<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td> 338<td class="parameter_annotations"> </td> 339</tr></tbody> 340</table></div> 341</div> 342</div> 343<hr> 344<div class="refsect2"> 345<a name="gst-gl-allocation-params-init"></a><h3>gst_gl_allocation_params_init ()</h3> 346<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 347gst_gl_allocation_params_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>, 348 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> struct_size</code></em>, 349 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> alloc_flags</code></em>, 350 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()"><span class="type">GstGLAllocationParamsCopyFunc</span></a> copy</code></em>, 351 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()"><span class="type">GstGLAllocationParamsFreeFunc</span></a> free</code></em>, 352 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 353 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> alloc_size</code></em>, 354 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *alloc_params</code></em>, 355 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> wrapped_data</code></em>, 356 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gl_handle</code></em>, 357 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, 358 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre> 359<p><em class="parameter"><code>notify</code></em> 360 will be called once for each allocated memory using these <em class="parameter"><code>params</code></em> 361 362when freeing the memory.</p> 363<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> 364<div class="refsect3"> 365<a name="gst-gl-allocation-params-init.parameters"></a><h4>Parameters</h4> 366<div class="informaltable"><table class="informaltable" width="100%" border="0"> 367<colgroup> 368<col width="150px" class="parameters_name"> 369<col class="parameters_description"> 370<col width="200px" class="parameters_annotations"> 371</colgroup> 372<tbody> 373<tr> 374<td class="parameter_name"><p>params</p></td> 375<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td> 376<td class="parameter_annotations"> </td> 377</tr> 378<tr> 379<td class="parameter_name"><p>struct_size</p></td> 380<td class="parameter_description"><p>the struct size of the implementation</p></td> 381<td class="parameter_annotations"> </td> 382</tr> 383<tr> 384<td class="parameter_name"><p>alloc_flags</p></td> 385<td class="parameter_description"><p>some alloc flags</p></td> 386<td class="parameter_annotations"> </td> 387</tr> 388<tr> 389<td class="parameter_name"><p>copy</p></td> 390<td class="parameter_description"><p>a copy function</p></td> 391<td class="parameter_annotations"> </td> 392</tr> 393<tr> 394<td class="parameter_name"><p>free</p></td> 395<td class="parameter_description"><p>a free function</p></td> 396<td class="parameter_annotations"> </td> 397</tr> 398<tr> 399<td class="parameter_name"><p>context</p></td> 400<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>. </p></td> 401<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> 402</tr> 403<tr> 404<td class="parameter_name"><p>alloc_size</p></td> 405<td class="parameter_description"><p>the number of bytes to allocate.</p></td> 406<td class="parameter_annotations"> </td> 407</tr> 408<tr> 409<td class="parameter_name"><p>alloc_params</p></td> 410<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> to apply. </p></td> 411<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 412</tr> 413<tr> 414<td class="parameter_name"><p>wrapped_data</p></td> 415<td class="parameter_description"><p>a sysmem data pointer to initialize the allocation with. </p></td> 416<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 417</tr> 418<tr> 419<td class="parameter_name"><p>gl_handle</p></td> 420<td class="parameter_description"><p>a GL handle to initialize the allocation with. </p></td> 421<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td> 422</tr> 423<tr> 424<td class="parameter_name"><p>user_data</p></td> 425<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 426with. </p></td> 427<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 428</tr> 429<tr> 430<td class="parameter_name"><p>notify</p></td> 431<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a>. </p></td> 432<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> 433</tr> 434</tbody> 435</table></div> 436</div> 437<div class="refsect3"> 438<a name="gst-gl-allocation-params-init.returns"></a><h4>Returns</h4> 439<p> whether the paramaters could be initialized</p> 440</div> 441<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 442</div> 443<hr> 444<div class="refsect2"> 445<a name="gst-gl-allocation-params-copy"></a><h3>gst_gl_allocation_params_copy ()</h3> 446<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="returnvalue">GstGLAllocationParams</span></a> * 447gst_gl_allocation_params_copy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>);</pre> 448<div class="refsect3"> 449<a name="gst-gl-allocation-params-copy.parameters"></a><h4>Parameters</h4> 450<div class="informaltable"><table class="informaltable" width="100%" border="0"> 451<colgroup> 452<col width="150px" class="parameters_name"> 453<col class="parameters_description"> 454<col width="200px" class="parameters_annotations"> 455</colgroup> 456<tbody><tr> 457<td class="parameter_name"><p>src</p></td> 458<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td> 459<td class="parameter_annotations"> </td> 460</tr></tbody> 461</table></div> 462</div> 463<div class="refsect3"> 464<a name="gst-gl-allocation-params-copy.returns"></a><h4>Returns</h4> 465<p>a copy of the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> specified by 466<em class="parameter"><code>src</code></em> 467or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure. </p> 468<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 469</div> 470<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 471</div> 472<hr> 473<div class="refsect2"> 474<a name="gst-gl-allocation-params-free"></a><h3>gst_gl_allocation_params_free ()</h3> 475<pre class="programlisting"><span class="returnvalue">void</span> 476gst_gl_allocation_params_free (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre> 477<p>Frees the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> and all associated data.</p> 478<div class="refsect3"> 479<a name="gst-gl-allocation-params-free.parameters"></a><h4>Parameters</h4> 480<div class="informaltable"><table class="informaltable" width="100%" border="0"> 481<colgroup> 482<col width="150px" class="parameters_name"> 483<col class="parameters_description"> 484<col width="200px" class="parameters_annotations"> 485</colgroup> 486<tbody><tr> 487<td class="parameter_name"><p>params</p></td> 488<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td> 489<td class="parameter_annotations"> </td> 490</tr></tbody> 491</table></div> 492</div> 493<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 494</div> 495<hr> 496<div class="refsect2"> 497<a name="gst-gl-allocation-params-free-data"></a><h3>gst_gl_allocation_params_free_data ()</h3> 498<pre class="programlisting"><span class="returnvalue">void</span> 499gst_gl_allocation_params_free_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre> 500<p>Frees the dynamically allocated data in <em class="parameter"><code>params</code></em> 501. Direct subclasses 502should call this function in their own overriden free function.</p> 503<div class="refsect3"> 504<a name="gst-gl-allocation-params-free-data.parameters"></a><h4>Parameters</h4> 505<div class="informaltable"><table class="informaltable" width="100%" border="0"> 506<colgroup> 507<col width="150px" class="parameters_name"> 508<col class="parameters_description"> 509<col width="200px" class="parameters_annotations"> 510</colgroup> 511<tbody><tr> 512<td class="parameter_name"><p>params</p></td> 513<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td> 514<td class="parameter_annotations"> </td> 515</tr></tbody> 516</table></div> 517</div> 518<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 519</div> 520<hr> 521<div class="refsect2"> 522<a name="gst-gl-allocation-params-copy-data"></a><h3>gst_gl_allocation_params_copy_data ()</h3> 523<pre class="programlisting"><span class="returnvalue">void</span> 524gst_gl_allocation_params_copy_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>, 525 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *dest</code></em>);</pre> 526<p>Copies the dynamically allocated data from <em class="parameter"><code>src</code></em> 527 to <em class="parameter"><code>dest</code></em> 528. Direct subclasses 529should call this function in their own overriden copy function.</p> 530<div class="refsect3"> 531<a name="gst-gl-allocation-params-copy-data.parameters"></a><h4>Parameters</h4> 532<div class="informaltable"><table class="informaltable" width="100%" border="0"> 533<colgroup> 534<col width="150px" class="parameters_name"> 535<col class="parameters_description"> 536<col width="200px" class="parameters_annotations"> 537</colgroup> 538<tbody> 539<tr> 540<td class="parameter_name"><p>src</p></td> 541<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td> 542<td class="parameter_annotations"> </td> 543</tr> 544<tr> 545<td class="parameter_name"><p>dest</p></td> 546<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td> 547<td class="parameter_annotations"> </td> 548</tr> 549</tbody> 550</table></div> 551</div> 552<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 553</div> 554<hr> 555<div class="refsect2"> 556<a name="gst-gl-base-memory-init-once"></a><h3>gst_gl_base_memory_init_once ()</h3> 557<pre class="programlisting"><span class="returnvalue">void</span> 558gst_gl_base_memory_init_once (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> 559<p>Initializes the GL Base Memory allocator. It is safe to call this function 560multiple times. This must be called before any other GstGLBaseMemory operation.</p> 561<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 562</div> 563<hr> 564<div class="refsect2"> 565<a name="gst-gl-base-memory-init"></a><h3>gst_gl_base_memory_init ()</h3> 566<pre class="programlisting"><span class="returnvalue">void</span> 567gst_gl_base_memory_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>, 568 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> *allocator</code></em>, 569 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *parent</code></em>, 570 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 571 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *params</code></em>, 572 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>, 573 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>, 574 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> notify</code></em>);</pre> 575<p>Initializes <em class="parameter"><code>mem</code></em> 576 with the required parameters</p> 577<div class="refsect3"> 578<a name="gst-gl-base-memory-init.parameters"></a><h4>Parameters</h4> 579<div class="informaltable"><table class="informaltable" width="100%" border="0"> 580<colgroup> 581<col width="150px" class="parameters_name"> 582<col class="parameters_description"> 583<col width="200px" class="parameters_annotations"> 584</colgroup> 585<tbody> 586<tr> 587<td class="parameter_name"><p>mem</p></td> 588<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> to initialize</p></td> 589<td class="parameter_annotations"> </td> 590</tr> 591<tr> 592<td class="parameter_name"><p>allocator</p></td> 593<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a> to initialize with</p></td> 594<td class="parameter_annotations"> </td> 595</tr> 596<tr> 597<td class="parameter_name"><p>parent</p></td> 598<td class="parameter_description"><p>the parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> to initialize with. </p></td> 599<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> 600</tr> 601<tr> 602<td class="parameter_name"><p>context</p></td> 603<td class="parameter_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to initialize with</p></td> 604<td class="parameter_annotations"> </td> 605</tr> 606<tr> 607<td class="parameter_name"><p>params</p></td> 608<td class="parameter_description"><p>the <em class="parameter"><code>GstAllocationParams</code></em> 609to initialize with. </p></td> 610<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> 611</tr> 612<tr> 613<td class="parameter_name"><p>size</p></td> 614<td class="parameter_description"><p>the number of bytes to be allocated</p></td> 615<td class="parameter_annotations"> </td> 616</tr> 617<tr> 618<td class="parameter_name"><p>user_data</p></td> 619<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 620with. </p></td> 621<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> 622</tr> 623<tr> 624<td class="parameter_name"><p>notify</p></td> 625<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a>. </p></td> 626<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> 627</tr> 628</tbody> 629</table></div> 630</div> 631<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 632</div> 633<hr> 634<div class="refsect2"> 635<a name="gst-is-gl-base-memory"></a><h3>gst_is_gl_base_memory ()</h3> 636<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 637gst_is_gl_base_memory (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> *mem</code></em>);</pre> 638<div class="refsect3"> 639<a name="gst-is-gl-base-memory.parameters"></a><h4>Parameters</h4> 640<div class="informaltable"><table class="informaltable" width="100%" border="0"> 641<colgroup> 642<col width="150px" class="parameters_name"> 643<col class="parameters_description"> 644<col width="200px" class="parameters_annotations"> 645</colgroup> 646<tbody><tr> 647<td class="parameter_name"><p>mem</p></td> 648<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a></p></td> 649<td class="parameter_annotations"> </td> 650</tr></tbody> 651</table></div> 652</div> 653<div class="refsect3"> 654<a name="gst-is-gl-base-memory.returns"></a><h4>Returns</h4> 655<p> whether the memory at <em class="parameter"><code>mem</code></em> 656is a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p> 657</div> 658<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 659</div> 660<hr> 661<div class="refsect2"> 662<a name="GstGLBaseMemoryAllocatorAllocFunction"></a><h3>GstGLBaseMemoryAllocatorAllocFunction ()</h3> 663<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 664<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorAllocFunction<span class="c_punctuation">)</span> 665 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> *allocator</code></em>, 666 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre> 667<p>Note: not called with a GL context current</p> 668<div class="refsect3"> 669<a name="GstGLBaseMemoryAllocatorAllocFunction.parameters"></a><h4>Parameters</h4> 670<div class="informaltable"><table class="informaltable" width="100%" border="0"> 671<colgroup> 672<col width="150px" class="parameters_name"> 673<col class="parameters_description"> 674<col width="200px" class="parameters_annotations"> 675</colgroup> 676<tbody> 677<tr> 678<td class="parameter_name"><p>allocator</p></td> 679<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a></p></td> 680<td class="parameter_annotations"> </td> 681</tr> 682<tr> 683<td class="parameter_name"><p>params</p></td> 684<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to allocate the memory with</p></td> 685<td class="parameter_annotations"> </td> 686</tr> 687</tbody> 688</table></div> 689</div> 690<div class="refsect3"> 691<a name="GstGLBaseMemoryAllocatorAllocFunction.returns"></a><h4>Returns</h4> 692<p> a newly allocated <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> from <em class="parameter"><code>allocator</code></em> 693and <em class="parameter"><code>params</code></em> 694</p> 695</div> 696<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 697</div> 698<hr> 699<div class="refsect2"> 700<a name="GstGLBaseMemoryAllocatorCreateFunction"></a><h3>GstGLBaseMemoryAllocatorCreateFunction ()</h3> 701<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 702<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorCreateFunction<span class="c_punctuation">)</span> 703 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>, 704 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre> 705<p>As this virtual method is called with an OpenGL context current, use this 706function to allocate and OpenGL resources needed for your application</p> 707<div class="refsect3"> 708<a name="GstGLBaseMemoryAllocatorCreateFunction.parameters"></a><h4>Parameters</h4> 709<div class="informaltable"><table class="informaltable" width="100%" border="0"> 710<colgroup> 711<col width="150px" class="parameters_name"> 712<col class="parameters_description"> 713<col width="200px" class="parameters_annotations"> 714</colgroup> 715<tbody> 716<tr> 717<td class="parameter_name"><p>mem</p></td> 718<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 719<td class="parameter_annotations"> </td> 720</tr> 721<tr> 722<td class="parameter_name"><p>error</p></td> 723<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> to use on failure</p></td> 724<td class="parameter_annotations"> </td> 725</tr> 726</tbody> 727</table></div> 728</div> 729<div class="refsect3"> 730<a name="GstGLBaseMemoryAllocatorCreateFunction.returns"></a><h4>Returns</h4> 731<p> whether the creation succeeded</p> 732</div> 733<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 734</div> 735<hr> 736<div class="refsect2"> 737<a name="GstGLBaseMemoryAllocatorMapFunction"></a><h3>GstGLBaseMemoryAllocatorMapFunction ()</h3> 738<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 739<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorMapFunction<span class="c_punctuation">)</span> 740 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>, 741 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>, 742 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> maxsize</code></em>);</pre> 743<p>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#gst-memory-map"><code class="function">gst_memory_map()</code></a>;</p> 744<div class="refsect3"> 745<a name="GstGLBaseMemoryAllocatorMapFunction.parameters"></a><h4>Parameters</h4> 746<div class="informaltable"><table class="informaltable" width="100%" border="0"> 747<colgroup> 748<col width="150px" class="parameters_name"> 749<col class="parameters_description"> 750<col width="200px" class="parameters_annotations"> 751</colgroup> 752<tbody> 753<tr> 754<td class="parameter_name"><p>mem</p></td> 755<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 756<td class="parameter_annotations"> </td> 757</tr> 758<tr> 759<td class="parameter_name"><p>info</p></td> 760<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> to map with</p></td> 761<td class="parameter_annotations"> </td> 762</tr> 763<tr> 764<td class="parameter_name"><p>maxsize</p></td> 765<td class="parameter_description"><p>the size to map</p></td> 766<td class="parameter_annotations"> </td> 767</tr> 768</tbody> 769</table></div> 770</div> 771<div class="refsect3"> 772<a name="GstGLBaseMemoryAllocatorMapFunction.returns"></a><h4>Returns</h4> 773<p> the mapped pointer</p> 774</div> 775<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 776</div> 777<hr> 778<div class="refsect2"> 779<a name="GstGLBaseMemoryAllocatorUnmapFunction"></a><h3>GstGLBaseMemoryAllocatorUnmapFunction ()</h3> 780<pre class="programlisting"><span class="returnvalue">void</span> 781<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorUnmapFunction<span class="c_punctuation">)</span> 782 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>, 783 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> *info</code></em>);</pre> 784<p>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#gst-memory-unmap"><code class="function">gst_memory_unmap()</code></a>;</p> 785<div class="refsect3"> 786<a name="GstGLBaseMemoryAllocatorUnmapFunction.parameters"></a><h4>Parameters</h4> 787<div class="informaltable"><table class="informaltable" width="100%" border="0"> 788<colgroup> 789<col width="150px" class="parameters_name"> 790<col class="parameters_description"> 791<col width="200px" class="parameters_annotations"> 792</colgroup> 793<tbody> 794<tr> 795<td class="parameter_name"><p>mem</p></td> 796<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 797<td class="parameter_annotations"> </td> 798</tr> 799<tr> 800<td class="parameter_name"><p>info</p></td> 801<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> to map with</p></td> 802<td class="parameter_annotations"> </td> 803</tr> 804</tbody> 805</table></div> 806</div> 807<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 808</div> 809<hr> 810<div class="refsect2"> 811<a name="GstGLBaseMemoryAllocatorCopyFunction"></a><h3>GstGLBaseMemoryAllocatorCopyFunction ()</h3> 812<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 813<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorCopyFunction<span class="c_punctuation">)</span> 814 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>, 815 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> offset</code></em>, 816 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> size</code></em>);</pre> 817<p>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#gst-memory-copy"><code class="function">gst_memory_copy()</code></a>;</p> 818<div class="refsect3"> 819<a name="GstGLBaseMemoryAllocatorCopyFunction.parameters"></a><h4>Parameters</h4> 820<div class="informaltable"><table class="informaltable" width="100%" border="0"> 821<colgroup> 822<col width="150px" class="parameters_name"> 823<col class="parameters_description"> 824<col width="200px" class="parameters_annotations"> 825</colgroup> 826<tbody> 827<tr> 828<td class="parameter_name"><p>mem</p></td> 829<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 830<td class="parameter_annotations"> </td> 831</tr> 832<tr> 833<td class="parameter_name"><p>offset</p></td> 834<td class="parameter_description"><p>the offset to copy from</p></td> 835<td class="parameter_annotations"> </td> 836</tr> 837<tr> 838<td class="parameter_name"><p>size</p></td> 839<td class="parameter_description"><p>the number of bytes to copy</p></td> 840<td class="parameter_annotations"> </td> 841</tr> 842</tbody> 843</table></div> 844</div> 845<div class="refsect3"> 846<a name="GstGLBaseMemoryAllocatorCopyFunction.returns"></a><h4>Returns</h4> 847<p> the newly copied <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p> 848</div> 849<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 850</div> 851<hr> 852<div class="refsect2"> 853<a name="GstGLBaseMemoryAllocatorDestroyFunction"></a><h3>GstGLBaseMemoryAllocatorDestroyFunction ()</h3> 854<pre class="programlisting"><span class="returnvalue">void</span> 855<span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorDestroyFunction<span class="c_punctuation">)</span> 856 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>);</pre> 857<p>Destroy any resources allocated throughout the lifetime of <em class="parameter"><code>mem</code></em> 858</p> 859<div class="refsect3"> 860<a name="GstGLBaseMemoryAllocatorDestroyFunction.parameters"></a><h4>Parameters</h4> 861<div class="informaltable"><table class="informaltable" width="100%" border="0"> 862<colgroup> 863<col width="150px" class="parameters_name"> 864<col class="parameters_description"> 865<col width="200px" class="parameters_annotations"> 866</colgroup> 867<tbody><tr> 868<td class="parameter_name"><p>mem</p></td> 869<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 870<td class="parameter_annotations"> </td> 871</tr></tbody> 872</table></div> 873</div> 874<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 875</div> 876<hr> 877<div class="refsect2"> 878<a name="gst-gl-base-memory-alloc"></a><h3>gst_gl_base_memory_alloc ()</h3> 879<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> * 880gst_gl_base_memory_alloc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> *allocator</code></em>, 881 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre> 882<div class="refsect3"> 883<a name="gst-gl-base-memory-alloc.parameters"></a><h4>Parameters</h4> 884<div class="informaltable"><table class="informaltable" width="100%" border="0"> 885<colgroup> 886<col width="150px" class="parameters_name"> 887<col class="parameters_description"> 888<col width="200px" class="parameters_annotations"> 889</colgroup> 890<tbody> 891<tr> 892<td class="parameter_name"><p>allocator</p></td> 893<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a></p></td> 894<td class="parameter_annotations"> </td> 895</tr> 896<tr> 897<td class="parameter_name"><p>params</p></td> 898<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to allocate the memory with</p></td> 899<td class="parameter_annotations"> </td> 900</tr> 901</tbody> 902</table></div> 903</div> 904<div class="refsect3"> 905<a name="gst-gl-base-memory-alloc.returns"></a><h4>Returns</h4> 906<p> a new <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> from <em class="parameter"><code>allocator</code></em> 907with the requested <em class="parameter"><code>params</code></em> 908.</p> 909</div> 910<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 911</div> 912<hr> 913<div class="refsect2"> 914<a name="gst-gl-base-memory-alloc-data"></a><h3>gst_gl_base_memory_alloc_data ()</h3> 915<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 916gst_gl_base_memory_alloc_data (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *gl_mem</code></em>);</pre> 917<p>Note: only intended for subclass usage to allocate the sytem memory buffer 918on demand. If there is already a non-NULL data pointer in <em class="parameter"><code>gl_mem->data</code></em> 919, 920then this function imply returns TRUE.</p> 921<div class="refsect3"> 922<a name="gst-gl-base-memory-alloc-data.parameters"></a><h4>Parameters</h4> 923<div class="informaltable"><table class="informaltable" width="100%" border="0"> 924<colgroup> 925<col width="150px" class="parameters_name"> 926<col class="parameters_description"> 927<col width="200px" class="parameters_annotations"> 928</colgroup> 929<tbody><tr> 930<td class="parameter_name"><p>gl_mem</p></td> 931<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 932<td class="parameter_annotations"> </td> 933</tr></tbody> 934</table></div> 935</div> 936<div class="refsect3"> 937<a name="gst-gl-base-memory-alloc-data.returns"></a><h4>Returns</h4> 938<p> whether the system memory could be allocated</p> 939</div> 940</div> 941<hr> 942<div class="refsect2"> 943<a name="gst-gl-base-memory-memcpy"></a><h3>gst_gl_base_memory_memcpy ()</h3> 944<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 945gst_gl_base_memory_memcpy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *src</code></em>, 946 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *dest</code></em>, 947 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> offset</code></em>, 948 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gssize"><span class="type">gssize</span></a> size</code></em>);</pre> 949<div class="refsect3"> 950<a name="gst-gl-base-memory-memcpy.parameters"></a><h4>Parameters</h4> 951<div class="informaltable"><table class="informaltable" width="100%" border="0"> 952<colgroup> 953<col width="150px" class="parameters_name"> 954<col class="parameters_description"> 955<col width="200px" class="parameters_annotations"> 956</colgroup> 957<tbody> 958<tr> 959<td class="parameter_name"><p>src</p></td> 960<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 961<td class="parameter_annotations"> </td> 962</tr> 963<tr> 964<td class="parameter_name"><p>dest</p></td> 965<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td> 966<td class="parameter_annotations"> </td> 967</tr> 968<tr> 969<td class="parameter_name"><p>offset</p></td> 970<td class="parameter_description"><p>the offset to start at</p></td> 971<td class="parameter_annotations"> </td> 972</tr> 973<tr> 974<td class="parameter_name"><p>size</p></td> 975<td class="parameter_description"><p>the number of bytes to copy</p></td> 976<td class="parameter_annotations"> </td> 977</tr> 978</tbody> 979</table></div> 980</div> 981<div class="refsect3"> 982<a name="gst-gl-base-memory-memcpy.returns"></a><h4>Returns</h4> 983<p> whether the copy suceeded.</p> 984</div> 985<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 986</div> 987</div> 988<div class="refsect1"> 989<a name="gst-plugins-base-libs-GstGLBaseMemory.other_details"></a><h2>Types and Values</h2> 990<div class="refsect2"> 991<a name="GstGLBaseMemoryAllocator-struct"></a><h3>GstGLBaseMemoryAllocator</h3> 992<pre class="programlisting">typedef struct _GstGLBaseMemoryAllocator GstGLBaseMemoryAllocator;</pre> 993<p>Opaque <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> struct</p> 994<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 995</div> 996<hr> 997<div class="refsect2"> 998<a name="GstGLBaseMemoryAllocatorClass"></a><h3>GstGLBaseMemoryAllocatorClass</h3> 999<pre class="programlisting">typedef struct { 1000 GstAllocatorClass parent_class; 1001 1002 GstGLBaseMemoryAllocatorAllocFunction alloc; 1003 1004 GstGLBaseMemoryAllocatorCreateFunction create; 1005 GstGLBaseMemoryAllocatorMapFunction map; 1006 GstGLBaseMemoryAllocatorUnmapFunction unmap; 1007 GstGLBaseMemoryAllocatorCopyFunction copy; 1008 GstGLBaseMemoryAllocatorDestroyFunction destroy; 1009} GstGLBaseMemoryAllocatorClass; 1010</pre> 1011<div class="refsect3"> 1012<a name="GstGLBaseMemoryAllocatorClass.members"></a><h4>Members</h4> 1013<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1014<colgroup> 1015<col width="300px" class="struct_members_name"> 1016<col class="struct_members_description"> 1017<col width="200px" class="struct_members_annotations"> 1018</colgroup> 1019<tbody> 1020<tr> 1021<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorAllocFunction" title="GstGLBaseMemoryAllocatorAllocFunction ()"><span class="type">GstGLBaseMemoryAllocatorAllocFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.alloc"></a>alloc</code></em>;</p></td> 1022<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorAllocFunction" title="GstGLBaseMemoryAllocatorAllocFunction ()"><span class="type">GstGLBaseMemoryAllocatorAllocFunction</span></a></p></td> 1023<td class="struct_member_annotations"> </td> 1024</tr> 1025<tr> 1026<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCreateFunction" title="GstGLBaseMemoryAllocatorCreateFunction ()"><span class="type">GstGLBaseMemoryAllocatorCreateFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.create"></a>create</code></em>;</p></td> 1027<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCreateFunction" title="GstGLBaseMemoryAllocatorCreateFunction ()"><span class="type">GstGLBaseMemoryAllocatorCreateFunction</span></a></p></td> 1028<td class="struct_member_annotations"> </td> 1029</tr> 1030<tr> 1031<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorMapFunction" title="GstGLBaseMemoryAllocatorMapFunction ()"><span class="type">GstGLBaseMemoryAllocatorMapFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.map"></a>map</code></em>;</p></td> 1032<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorMapFunction" title="GstGLBaseMemoryAllocatorMapFunction ()"><span class="type">GstGLBaseMemoryAllocatorMapFunction</span></a></p></td> 1033<td class="struct_member_annotations"> </td> 1034</tr> 1035<tr> 1036<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.unmap"></a>unmap</code></em>;</p></td> 1037<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a></p></td> 1038<td class="struct_member_annotations"> </td> 1039</tr> 1040<tr> 1041<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCopyFunction" title="GstGLBaseMemoryAllocatorCopyFunction ()"><span class="type">GstGLBaseMemoryAllocatorCopyFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.copy"></a>copy</code></em>;</p></td> 1042<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorCopyFunction" title="GstGLBaseMemoryAllocatorCopyFunction ()"><span class="type">GstGLBaseMemoryAllocatorCopyFunction</span></a></p></td> 1043<td class="struct_member_annotations"> </td> 1044</tr> 1045<tr> 1046<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()"><span class="type">GstGLBaseMemoryAllocatorDestroyFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.destroy"></a>destroy</code></em>;</p></td> 1047<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()"><span class="type">GstGLBaseMemoryAllocatorDestroyFunction</span></a></p></td> 1048<td class="struct_member_annotations"> </td> 1049</tr> 1050</tbody> 1051</table></div> 1052</div> 1053<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1054</div> 1055<hr> 1056<div class="refsect2"> 1057<a name="GST-GL-BASE-MEMORY-ALLOCATOR-NAME:CAPS"></a><h3>GST_GL_BASE_MEMORY_ALLOCATOR_NAME</h3> 1058<pre class="programlisting">#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME "GLBaseMemory" 1059</pre> 1060<p>The name of the GL buffer allocator</p> 1061<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1062</div> 1063<hr> 1064<div class="refsect2"> 1065<a name="GST-MAP-GL:CAPS"></a><h3>GST_MAP_GL</h3> 1066<pre class="programlisting">#define GST_MAP_GL (GST_MAP_FLAG_LAST << 1) 1067</pre> 1068<p>Flag indicating that we should map the GL object instead of to system memory.</p> 1069<p>Combining <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GST-MAP-WRITE:CAPS"><span class="type">GST_MAP_WRITE</span></a> has the same semantics as though 1070you are writing to OpenGL. Conversely, combining <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with 1071<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GST-MAP-READ:CAPS"><span class="type">GST_MAP_READ</span></a> has the same semantics as though you are reading from OpenGL.</p> 1072</div> 1073<hr> 1074<div class="refsect2"> 1075<a name="GstGLBaseMemoryError"></a><h3>enum GstGLBaseMemoryError</h3> 1076<div class="refsect3"> 1077<a name="GstGLBaseMemoryError.members"></a><h4>Members</h4> 1078<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1079<colgroup> 1080<col width="300px" class="enum_members_name"> 1081<col class="enum_members_description"> 1082<col width="200px" class="enum_members_annotations"> 1083</colgroup> 1084<tbody> 1085<tr> 1086<td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-FAILED:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_FAILED</p></td> 1087<td class="enum_member_description"> 1088<p>generic faliure</p> 1089</td> 1090<td class="enum_member_annotations"> </td> 1091</tr> 1092<tr> 1093<td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-OLD-LIBS:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_OLD_LIBS</p></td> 1094<td class="enum_member_description"> 1095<p>the implementation is too old and doesn't 1096 implement enough features</p> 1097</td> 1098<td class="enum_member_annotations"> </td> 1099</tr> 1100<tr> 1101<td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-RESOURCE-UNAVAILABLE:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE</p></td> 1102<td class="enum_member_description"> 1103<p>a resource could not be found</p> 1104</td> 1105<td class="enum_member_annotations"> </td> 1106</tr> 1107</tbody> 1108</table></div> 1109</div> 1110</div> 1111<hr> 1112<div class="refsect2"> 1113<a name="GST-GL-BASE-MEMORY-ERROR:CAPS"></a><h3>GST_GL_BASE_MEMORY_ERROR</h3> 1114<pre class="programlisting">#define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ()) 1115</pre> 1116<p>Error domain for GStreamer's GL memory module. Errors in this domain will be 1117from the <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryError" title="enum GstGLBaseMemoryError"><span class="type">GstGLBaseMemoryError</span></a> enumeration</p> 1118</div> 1119<hr> 1120<div class="refsect2"> 1121<a name="GstGLBaseMemoryTransfer"></a><h3>enum GstGLBaseMemoryTransfer</h3> 1122<div class="refsect3"> 1123<a name="GstGLBaseMemoryTransfer.members"></a><h4>Members</h4> 1124<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1125<colgroup> 1126<col width="300px" class="enum_members_name"> 1127<col class="enum_members_description"> 1128<col width="200px" class="enum_members_annotations"> 1129</colgroup> 1130<tbody> 1131<tr> 1132<td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-TRANSFER-NEED-DOWNLOAD:CAPS"></a>GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD</p></td> 1133<td class="enum_member_description"> 1134<p>the texture needs downloading 1135 to the data pointer</p> 1136</td> 1137<td class="enum_member_annotations"> </td> 1138</tr> 1139<tr> 1140<td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-TRANSFER-NEED-UPLOAD:CAPS"></a>GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD</p></td> 1141<td class="enum_member_description"> 1142<p>the data pointer needs uploading 1143 to the texture</p> 1144</td> 1145<td class="enum_member_annotations"> </td> 1146</tr> 1147</tbody> 1148</table></div> 1149</div> 1150</div> 1151<hr> 1152<div class="refsect2"> 1153<a name="GstGLAllocationParams-struct"></a><h3>struct GstGLAllocationParams</h3> 1154<pre class="programlisting">struct GstGLAllocationParams { 1155 gsize struct_size; 1156 GstGLAllocationParamsCopyFunc copy; 1157 GstGLAllocationParamsFreeFunc free; 1158 1159 guint alloc_flags; 1160 gsize alloc_size; 1161 GstAllocationParams *alloc_params; 1162 GstGLContext *context; 1163 GDestroyNotify notify; 1164 gpointer user_data; 1165 1166 /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM only */ 1167 gpointer wrapped_data; 1168 /* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */ 1169 gpointer gl_handle; 1170}; 1171</pre> 1172<div class="refsect3"> 1173<a name="GstGLAllocationParams.members"></a><h4>Members</h4> 1174<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1175<colgroup> 1176<col width="300px" class="struct_members_name"> 1177<col class="struct_members_description"> 1178<col width="200px" class="struct_members_annotations"> 1179</colgroup> 1180<tbody> 1181<tr> 1182<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.struct-size"></a>struct_size</code></em>;</p></td> 1183<td class="struct_member_description"><p>the size of the struct (including and subclass data)</p></td> 1184<td class="struct_member_annotations"> </td> 1185</tr> 1186<tr> 1187<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()"><span class="type">GstGLAllocationParamsCopyFunc</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.copy"></a>copy</code></em>;</p></td> 1188<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()"><span class="type">GstGLAllocationParamsCopyFunc</span></a></p></td> 1189<td class="struct_member_annotations"> </td> 1190</tr> 1191<tr> 1192<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()"><span class="type">GstGLAllocationParamsFreeFunc</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.free"></a>free</code></em>;</p></td> 1193<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()"><span class="type">GstGLAllocationParamsFreeFunc</span></a></p></td> 1194<td class="struct_member_annotations"> </td> 1195</tr> 1196<tr> 1197<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.alloc-flags"></a>alloc_flags</code></em>;</p></td> 1198<td class="struct_member_description"><p>allocation flags</p></td> 1199<td class="struct_member_annotations"> </td> 1200</tr> 1201<tr> 1202<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.alloc-size"></a>alloc_size</code></em>;</p></td> 1203<td class="struct_member_description"><p>the allocation size</p></td> 1204<td class="struct_member_annotations"> </td> 1205</tr> 1206<tr> 1207<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *<em class="structfield"><code><a name="GstGLAllocationParams-struct.alloc-params"></a>alloc_params</code></em>;</p></td> 1208<td class="struct_member_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a></p></td> 1209<td class="struct_member_annotations"> </td> 1210</tr> 1211<tr> 1212<td class="struct_member_name"><p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *<em class="structfield"><code><a name="GstGLAllocationParams-struct.context"></a>context</code></em>;</p></td> 1213<td class="struct_member_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1214<td class="struct_member_annotations"> </td> 1215</tr> 1216<tr> 1217<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.notify"></a>notify</code></em>;</p></td> 1218<td class="struct_member_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a></p></td> 1219<td class="struct_member_annotations"> </td> 1220</tr> 1221<tr> 1222<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.user-data"></a>user_data</code></em>;</p></td> 1223<td class="struct_member_description"><p>argument to call <em class="parameter"><code>notify</code></em> 1224with</p></td> 1225<td class="struct_member_annotations"> </td> 1226</tr> 1227<tr> 1228<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.wrapped-data"></a>wrapped_data</code></em>;</p></td> 1229<td class="struct_member_description"><p>the wrapped data pointer</p></td> 1230<td class="struct_member_annotations"> </td> 1231</tr> 1232<tr> 1233<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLAllocationParams-struct.gl-handle"></a>gl_handle</code></em>;</p></td> 1234<td class="struct_member_description"><p>the wrapped OpenGL handle</p></td> 1235<td class="struct_member_annotations"> </td> 1236</tr> 1237</tbody> 1238</table></div> 1239</div> 1240</div> 1241<hr> 1242<div class="refsect2"> 1243<a name="GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-ALLOC:CAPS"></a><h3>GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC</h3> 1244<pre class="programlisting">#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC (1 << 0) 1245</pre> 1246<p>GL Allocation flag indicating that the implementation should allocate the 1247necessary resources.</p> 1248</div> 1249<hr> 1250<div class="refsect2"> 1251<a name="GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-WRAP-SYSMEM:CAPS"></a><h3>GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM</h3> 1252<pre class="programlisting">#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM (1 << 1) 1253</pre> 1254<p>GL Allocation flag for using the provided system memory data as storage.</p> 1255</div> 1256<hr> 1257<div class="refsect2"> 1258<a name="GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-WRAP-GPU-HANDLE:CAPS"></a><h3>GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE</h3> 1259<pre class="programlisting">#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE (1 << 2) 1260</pre> 1261<p>GL Allocation flag for using the provided GPU handle as storage.</p> 1262</div> 1263<hr> 1264<div class="refsect2"> 1265<a name="GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-USER:CAPS"></a><h3>GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER</h3> 1266<pre class="programlisting">#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER (1 << 16) 1267</pre> 1268<p>Values >= than <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-USER:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER"><span class="type">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_USER</span></a> can be used for 1269user-defined purposes.</p> 1270</div> 1271<hr> 1272<div class="refsect2"> 1273<a name="GstGLBaseMemory"></a><h3>GstGLBaseMemory</h3> 1274<pre class="programlisting">typedef struct { 1275 GstMemory mem; 1276 1277 GstGLContext *context; 1278} GstGLBaseMemory; 1279</pre> 1280<p>Represents information about a GL memory object</p> 1281<div class="refsect3"> 1282<a name="GstGLBaseMemory.members"></a><h4>Members</h4> 1283<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1284<colgroup> 1285<col width="300px" class="struct_members_name"> 1286<col class="struct_members_description"> 1287<col width="200px" class="struct_members_annotations"> 1288</colgroup> 1289<tbody> 1290<tr> 1291<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> <em class="structfield"><code><a name="GstGLBaseMemory.mem"></a>mem</code></em>;</p></td> 1292<td class="struct_member_description"><p>the parent object</p></td> 1293<td class="struct_member_annotations"> </td> 1294</tr> 1295<tr> 1296<td class="struct_member_name"><p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *<em class="structfield"><code><a name="GstGLBaseMemory.context"></a>context</code></em>;</p></td> 1297<td class="struct_member_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to use for GL operations</p></td> 1298<td class="struct_member_annotations"> </td> 1299</tr> 1300</tbody> 1301</table></div> 1302</div> 1303</div> 1304</div> 1305<div class="refsect1"> 1306<a name="gst-plugins-base-libs-GstGLBaseMemory.see-also"></a><h2>See Also</h2> 1307<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a></p> 1308</div> 1309</div> 1310<div class="footer"> 1311<hr>Generated by GTK-Doc V1.28</div> 1312</body> 1313</html>