• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>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">|</span18                  <a href="#gst-plugins-base-libs-GstGLBaseMemory.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span19                  <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 &lt;gst/gl/gl.h&gt;
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-&gt;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 &lt;&lt; 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 &lt;&lt; 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 &lt;&lt; 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 &lt;&lt; 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 &lt;&lt; 16)
1267</pre>
1268<p>Values &gt;= 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>