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>GstGLMemory: 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="GstGLFramebuffer.html" title="GstGLFramebuffer"> 10<link rel="next" href="gst-plugins-base-libs-gstglmemoryegl.html" title="GstGLMemoryEGL"> 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-GstGLMemory.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#gst-plugins-base-libs-GstGLMemory.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="GstGLFramebuffer.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-gstglmemoryegl.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-GstGLMemory"></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-GstGLMemory.top_of_page"></a>GstGLMemory</span></h2> 31<p>GstGLMemory — memory subclass for GL textures</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-GstGLMemory.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<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-copy-data" title="gst_gl_video_allocation_params_copy_data ()">gst_gl_video_allocation_params_copy_data</a> <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<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-free-data" title="gst_gl_video_allocation_params_free_data ()">gst_gl_video_allocation_params_free_data</a> <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-GstGLMemory.html#gst-gl-video-allocation-params-init-full" title="gst_gl_video_allocation_params_init_full ()">gst_gl_video_allocation_params_init_full</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-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 70</td> 71<td class="function_name"> 72<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-new" title="gst_gl_video_allocation_params_new ()">gst_gl_video_allocation_params_new</a> <span class="c_punctuation">()</span> 73</td> 74</tr> 75<tr> 76<td class="function_type"> 77<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 78</td> 79<td class="function_name"> 80<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-data" title="gst_gl_video_allocation_params_new_wrapped_data ()">gst_gl_video_allocation_params_new_wrapped_data</a> <span class="c_punctuation">()</span> 81</td> 82</tr> 83<tr> 84<td class="function_type"> 85<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 86</td> 87<td class="function_name"> 88<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-gl-handle" title="gst_gl_video_allocation_params_new_wrapped_gl_handle ()">gst_gl_video_allocation_params_new_wrapped_gl_handle</a> <span class="c_punctuation">()</span> 89</td> 90</tr> 91<tr> 92<td class="function_type"> 93<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 94</td> 95<td class="function_name"> 96<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-texture" title="gst_gl_video_allocation_params_new_wrapped_texture ()">gst_gl_video_allocation_params_new_wrapped_texture</a> <span class="c_punctuation">()</span> 97</td> 98</tr> 99<tr> 100<td class="function_type"> 101<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="returnvalue">GstGLMemoryAllocator</span></a> * 102</td> 103<td class="function_name"> 104<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-allocator-get-default" title="gst_gl_memory_allocator_get_default ()">gst_gl_memory_allocator_get_default</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-GstGLMemory.html#gst-gl-memory-init-once" title="gst_gl_memory_init_once ()">gst_gl_memory_init_once</a> <span class="c_punctuation">()</span> 113</td> 114</tr> 115<tr> 116<td class="function_type"> 117<span class="returnvalue">void</span> 118</td> 119<td class="function_name"> 120<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-init" title="gst_gl_memory_init ()">gst_gl_memory_init</a> <span class="c_punctuation">()</span> 121</td> 122</tr> 123<tr> 124<td class="function_type"> 125<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 126</td> 127<td class="function_name"> 128<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-is-gl-memory" title="gst_is_gl_memory ()">gst_is_gl_memory</a> <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<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-copy-into" title="gst_gl_memory_copy_into ()">gst_gl_memory_copy_into</a> <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#gboolean"><span class="returnvalue">gboolean</span></a> 142</td> 143<td class="function_name"> 144<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-copy-teximage" title="gst_gl_memory_copy_teximage ()">gst_gl_memory_copy_teximage</a> <span class="c_punctuation">()</span> 145</td> 146</tr> 147<tr> 148<td class="function_type"> 149<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 150</td> 151<td class="function_name"> 152<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-read-pixels" title="gst_gl_memory_read_pixels ()">gst_gl_memory_read_pixels</a> <span class="c_punctuation">()</span> 153</td> 154</tr> 155<tr> 156<td class="function_type"> 157<span class="returnvalue">void</span> 158</td> 159<td class="function_name"> 160<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-texsubimage" title="gst_gl_memory_texsubimage ()">gst_gl_memory_texsubimage</a> <span class="c_punctuation">()</span> 161</td> 162</tr> 163<tr> 164<td class="function_type"> 165<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> 166</td> 167<td class="function_name"> 168<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-get-texture-height" title="gst_gl_memory_get_texture_height ()">gst_gl_memory_get_texture_height</a> <span class="c_punctuation">()</span> 169</td> 170</tr> 171<tr> 172<td class="function_type"> 173<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> 174</td> 175<td class="function_name"> 176<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-get-texture-id" title="gst_gl_memory_get_texture_id ()">gst_gl_memory_get_texture_id</a> <span class="c_punctuation">()</span> 177</td> 178</tr> 179<tr> 180<td class="function_type"> 181<a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="returnvalue">GstGLTextureTarget</span></a> 182</td> 183<td class="function_name"> 184<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-get-texture-target" title="gst_gl_memory_get_texture_target ()">gst_gl_memory_get_texture_target</a> <span class="c_punctuation">()</span> 185</td> 186</tr> 187<tr> 188<td class="function_type"> 189<a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="returnvalue">GstGLFormat</span></a> 190</td> 191<td class="function_name"> 192<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-get-texture-format" title="gst_gl_memory_get_texture_format ()">gst_gl_memory_get_texture_format</a> <span class="c_punctuation">()</span> 193</td> 194</tr> 195<tr> 196<td class="function_type"> 197<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> 198</td> 199<td class="function_name"> 200<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-get-texture-width" title="gst_gl_memory_get_texture_width ()">gst_gl_memory_get_texture_width</a> <span class="c_punctuation">()</span> 201</td> 202</tr> 203<tr> 204<td class="function_type"> 205<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 206</td> 207<td class="function_name"> 208<a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-setup-buffer" title="gst_gl_memory_setup_buffer ()">gst_gl_memory_setup_buffer</a> <span class="c_punctuation">()</span> 209</td> 210</tr> 211</tbody> 212</table></div> 213</div> 214<a name="GstGLVideoAllocationParams"></a><a name="GstGLMemoryAllocator"></a><div class="refsect1"> 215<a name="gst-plugins-base-libs-GstGLMemory.other"></a><h2>Types and Values</h2> 216<div class="informaltable"><table class="informaltable" width="100%" border="0"> 217<colgroup> 218<col width="150px" class="name"> 219<col class="description"> 220</colgroup> 221<tbody> 222<tr> 223<td class="define_keyword">#define</td> 224<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GST-GL-MEMORY-VIDEO-FORMATS-STR:CAPS" title="GST_GL_MEMORY_VIDEO_FORMATS_STR">GST_GL_MEMORY_VIDEO_FORMATS_STR</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-GstGLMemory.html#GST-CAPS-FEATURE-MEMORY-GL-MEMORY:CAPS" title="GST_CAPS_FEATURE_MEMORY_GL_MEMORY">GST_CAPS_FEATURE_MEMORY_GL_MEMORY</a></td> 229</tr> 230<tr> 231<td class="datatype_keyword">struct</td> 232<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams-struct" title="struct GstGLVideoAllocationParams">GstGLVideoAllocationParams</a></td> 233</tr> 234<tr> 235<td class="define_keyword">#define</td> 236<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-VIDEO:CAPS" title="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO">GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO</a></td> 237</tr> 238<tr> 239<td class="datatype_keyword"> </td> 240<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator-struct" title="GstGLMemoryAllocator">GstGLMemoryAllocator</a></td> 241</tr> 242<tr> 243<td class="datatype_keyword"> </td> 244<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocatorClass" title="GstGLMemoryAllocatorClass">GstGLMemoryAllocatorClass</a></td> 245</tr> 246<tr> 247<td class="datatype_keyword"> </td> 248<td class="function_name"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory">GstGLMemory</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-GstGLMemory.html#GST-GL-MEMORY-ALLOCATOR-NAME:CAPS" title="GST_GL_MEMORY_ALLOCATOR_NAME">GST_GL_MEMORY_ALLOCATOR_NAME</a></td> 253</tr> 254</tbody> 255</table></div> 256</div> 257<div class="refsect1"> 258<a name="gst-plugins-base-libs-GstGLMemory.object-hierarchy"></a><h2>Object Hierarchy</h2> 259<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-Boxed-Types.html">GBoxed</a> 260 <span class="lineart">╰──</span> GstGLVideoAllocationParams 261 <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 262 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 263 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 264 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocator-struct">GstAllocator</a> 265 <span class="lineart">╰──</span> <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemoryAllocator">GstGLBaseMemoryAllocator</a> 266 <span class="lineart">╰──</span> GstGLMemoryAllocator 267 <span class="lineart">╰──</span> <a class="link" href="gst-plugins-base-libs-GstGLMemoryPBO.html#GstGLMemoryPBOAllocator">GstGLMemoryPBOAllocator</a> 268</pre> 269</div> 270<div class="refsect1"> 271<a name="gst-plugins-base-libs-GstGLMemory.includes"></a><h2>Includes</h2> 272<pre class="synopsis">#include <gst/gl/gl.h> 273</pre> 274</div> 275<div class="refsect1"> 276<a name="gst-plugins-base-libs-GstGLMemory.description"></a><h2>Description</h2> 277<p>GstGLMemory is a <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> subclass providing support for the mapping of 278OpenGL textures.</p> 279<p><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> is created or wrapped through <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#gst-gl-base-memory-alloc" title="gst_gl_base_memory_alloc ()"><code class="function">gst_gl_base_memory_alloc()</code></a> 280with <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a>.</p> 281<p>Data is uploaded or downloaded from the GPU as is necessary.</p> 282</div> 283<div class="refsect1"> 284<a name="gst-plugins-base-libs-GstGLMemory.functions_details"></a><h2>Functions</h2> 285<div class="refsect2"> 286<a name="gst-gl-video-allocation-params-copy-data"></a><h3>gst_gl_video_allocation_params_copy_data ()</h3> 287<pre class="programlisting"><span class="returnvalue">void</span> 288gst_gl_video_allocation_params_copy_data 289 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *src_vid</code></em>, 290 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *dest_vid</code></em>);</pre> 291<p>Copy and set any dynamically allocated resources in <em class="parameter"><code>dest_vid</code></em> 292. Intended 293for subclass usage only to chain up at the end of a subclass copy function.</p> 294<div class="refsect3"> 295<a name="gst-gl-video-allocation-params-copy-data.parameters"></a><h4>Parameters</h4> 296<div class="informaltable"><table class="informaltable" width="100%" border="0"> 297<colgroup> 298<col width="150px" class="parameters_name"> 299<col class="parameters_description"> 300<col width="200px" class="parameters_annotations"> 301</colgroup> 302<tbody> 303<tr> 304<td class="parameter_name"><p>src_vid</p></td> 305<td class="parameter_description"><p>source <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to copy from</p></td> 306<td class="parameter_annotations"> </td> 307</tr> 308<tr> 309<td class="parameter_name"><p>dest_vid</p></td> 310<td class="parameter_description"><p>destination <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to copy into</p></td> 311<td class="parameter_annotations"> </td> 312</tr> 313</tbody> 314</table></div> 315</div> 316<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 317</div> 318<hr> 319<div class="refsect2"> 320<a name="gst-gl-video-allocation-params-free-data"></a><h3>gst_gl_video_allocation_params_free_data ()</h3> 321<pre class="programlisting"><span class="returnvalue">void</span> 322gst_gl_video_allocation_params_free_data 323 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *params</code></em>);</pre> 324<p>Unset and free any dynamically allocated resources. Intended for subclass 325usage only to chain up at the end of a subclass free function.</p> 326<div class="refsect3"> 327<a name="gst-gl-video-allocation-params-free-data.parameters"></a><h4>Parameters</h4> 328<div class="informaltable"><table class="informaltable" width="100%" border="0"> 329<colgroup> 330<col width="150px" class="parameters_name"> 331<col class="parameters_description"> 332<col width="200px" class="parameters_annotations"> 333</colgroup> 334<tbody><tr> 335<td class="parameter_name"><p>params</p></td> 336<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a></p></td> 337<td class="parameter_annotations"> </td> 338</tr></tbody> 339</table></div> 340</div> 341<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 342</div> 343<hr> 344<div class="refsect2"> 345<a name="gst-gl-video-allocation-params-init-full"></a><h3>gst_gl_video_allocation_params_init_full ()</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_video_allocation_params_init_full 348 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *params</code></em>, 349 <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>, 350 <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>, 351 <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>, 352 <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>, 353 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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 class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_info</code></em>, 356 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 357 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 358 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 359 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 360 <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>, 361 <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>, 362 <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>, 363 <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> 364<p>Intended for subclass usage</p> 365<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> 366<div class="refsect3"> 367<a name="gst-gl-video-allocation-params-init-full.parameters"></a><h4>Parameters</h4> 368<div class="informaltable"><table class="informaltable" width="100%" border="0"> 369<colgroup> 370<col width="150px" class="parameters_name"> 371<col class="parameters_description"> 372<col width="200px" class="parameters_annotations"> 373</colgroup> 374<tbody> 375<tr> 376<td class="parameter_name"><p>params</p></td> 377<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to initialize</p></td> 378<td class="parameter_annotations"> </td> 379</tr> 380<tr> 381<td class="parameter_name"><p>struct_size</p></td> 382<td class="parameter_description"><p>the size of the struct in <em class="parameter"><code>params</code></em> 383</p></td> 384<td class="parameter_annotations"> </td> 385</tr> 386<tr> 387<td class="parameter_name"><p>alloc_flags</p></td> 388<td class="parameter_description"><p>some allocation flags</p></td> 389<td class="parameter_annotations"> </td> 390</tr> 391<tr> 392<td class="parameter_name"><p>copy</p></td> 393<td class="parameter_description"><p>a copy function</p></td> 394<td class="parameter_annotations"> </td> 395</tr> 396<tr> 397<td class="parameter_name"><p>free</p></td> 398<td class="parameter_description"><p>a free function</p></td> 399<td class="parameter_annotations"> </td> 400</tr> 401<tr> 402<td class="parameter_name"><p>context</p></td> 403<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 404<td class="parameter_annotations"> </td> 405</tr> 406<tr> 407<td class="parameter_name"><p>alloc_params</p></td> 408<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>wrapped_data</code></em> 409. </p></td> 410<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> 411</tr> 412<tr> 413<td class="parameter_name"><p>v_info</p></td> 414<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>wrapped_data</code></em> 415</p></td> 416<td class="parameter_annotations"> </td> 417</tr> 418<tr> 419<td class="parameter_name"><p>plane</p></td> 420<td class="parameter_description"><p>the video plane <em class="parameter"><code>wrapped_data</code></em> 421represents</p></td> 422<td class="parameter_annotations"> </td> 423</tr> 424<tr> 425<td class="parameter_name"><p>valign</p></td> 426<td class="parameter_description"><p>any <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>wrapped_data</code></em> 427. </p></td> 428<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> 429</tr> 430<tr> 431<td class="parameter_name"><p>target</p></td> 432<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td> 433<td class="parameter_annotations"> </td> 434</tr> 435<tr> 436<td class="parameter_name"><p>tex_format</p></td> 437<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a></p></td> 438<td class="parameter_annotations"> </td> 439</tr> 440<tr> 441<td class="parameter_name"><p>wrapped_data</p></td> 442<td class="parameter_description"><p>the optional data pointer to wrap. </p></td> 443<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> 444</tr> 445<tr> 446<td class="parameter_name"><p>gl_handle</p></td> 447<td class="parameter_description"><p>the optional OpenGL handle to wrap or 0</p></td> 448<td class="parameter_annotations"> </td> 449</tr> 450<tr> 451<td class="parameter_name"><p>user_data</p></td> 452<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 453with. </p></td> 454<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> 455</tr> 456<tr> 457<td class="parameter_name"><p>notify</p></td> 458<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> 459<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> 460</tr> 461</tbody> 462</table></div> 463</div> 464<div class="refsect3"> 465<a name="gst-gl-video-allocation-params-init-full.returns"></a><h4>Returns</h4> 466<p> initializes <em class="parameter"><code>params</code></em> 467with the parameters specified</p> 468</div> 469<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 470</div> 471<hr> 472<div class="refsect2"> 473<a name="gst-gl-video-allocation-params-new"></a><h3>gst_gl_video_allocation_params_new ()</h3> 474<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 475gst_gl_video_allocation_params_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 476 <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>, 477 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_info</code></em>, 478 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 479 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 480 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 481 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>);</pre> 482<div class="refsect3"> 483<a name="gst-gl-video-allocation-params-new.parameters"></a><h4>Parameters</h4> 484<div class="informaltable"><table class="informaltable" width="100%" border="0"> 485<colgroup> 486<col width="150px" class="parameters_name"> 487<col class="parameters_description"> 488<col width="200px" class="parameters_annotations"> 489</colgroup> 490<tbody> 491<tr> 492<td class="parameter_name"><p>context</p></td> 493<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 494<td class="parameter_annotations"> </td> 495</tr> 496<tr> 497<td class="parameter_name"><p>alloc_params</p></td> 498<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for sysmem mappings of the texture. </p></td> 499<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> 500</tr> 501<tr> 502<td class="parameter_name"><p>v_info</p></td> 503<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for the texture</p></td> 504<td class="parameter_annotations"> </td> 505</tr> 506<tr> 507<td class="parameter_name"><p>plane</p></td> 508<td class="parameter_description"><p>the video plane of <em class="parameter"><code>v_info</code></em> 509to allocate</p></td> 510<td class="parameter_annotations"> </td> 511</tr> 512<tr> 513<td class="parameter_name"><p>valign</p></td> 514<td class="parameter_description"><p>any <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of the texture. </p></td> 515<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> 516</tr> 517<tr> 518<td class="parameter_name"><p>target</p></td> 519<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for the created textures</p></td> 520<td class="parameter_annotations"> </td> 521</tr> 522<tr> 523<td class="parameter_name"><p>tex_format</p></td> 524<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> for the created textures</p></td> 525<td class="parameter_annotations"> </td> 526</tr> 527</tbody> 528</table></div> 529</div> 530<div class="refsect3"> 531<a name="gst-gl-video-allocation-params-new.returns"></a><h4>Returns</h4> 532<p> a new <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for allocating <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a>'s</p> 533</div> 534<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 535</div> 536<hr> 537<div class="refsect2"> 538<a name="gst-gl-video-allocation-params-new-wrapped-data"></a><h3>gst_gl_video_allocation_params_new_wrapped_data ()</h3> 539<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 540gst_gl_video_allocation_params_new_wrapped_data 541 (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 542 <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>, 543 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_info</code></em>, 544 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 545 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 546 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 547 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 548 <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>, 549 <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>, 550 <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> 551<div class="refsect3"> 552<a name="gst-gl-video-allocation-params-new-wrapped-data.parameters"></a><h4>Parameters</h4> 553<div class="informaltable"><table class="informaltable" width="100%" border="0"> 554<colgroup> 555<col width="150px" class="parameters_name"> 556<col class="parameters_description"> 557<col width="200px" class="parameters_annotations"> 558</colgroup> 559<tbody> 560<tr> 561<td class="parameter_name"><p>context</p></td> 562<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 563<td class="parameter_annotations"> </td> 564</tr> 565<tr> 566<td class="parameter_name"><p>alloc_params</p></td> 567<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>wrapped_data</code></em> 568. </p></td> 569<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> 570</tr> 571<tr> 572<td class="parameter_name"><p>v_info</p></td> 573<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>wrapped_data</code></em> 574</p></td> 575<td class="parameter_annotations"> </td> 576</tr> 577<tr> 578<td class="parameter_name"><p>plane</p></td> 579<td class="parameter_description"><p>the video plane <em class="parameter"><code>wrapped_data</code></em> 580represents</p></td> 581<td class="parameter_annotations"> </td> 582</tr> 583<tr> 584<td class="parameter_name"><p>valign</p></td> 585<td class="parameter_description"><p>any <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>wrapped_data</code></em> 586. </p></td> 587<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> 588</tr> 589<tr> 590<td class="parameter_name"><p>target</p></td> 591<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>wrapped_data</code></em> 592</p></td> 593<td class="parameter_annotations"> </td> 594</tr> 595<tr> 596<td class="parameter_name"><p>tex_format</p></td> 597<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> for <em class="parameter"><code>wrapped_data</code></em> 598</p></td> 599<td class="parameter_annotations"> </td> 600</tr> 601<tr> 602<td class="parameter_name"><p>wrapped_data</p></td> 603<td class="parameter_description"><p>the data pointer to wrap</p></td> 604<td class="parameter_annotations"> </td> 605</tr> 606<tr> 607<td class="parameter_name"><p>user_data</p></td> 608<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 609with. </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>notify</p></td> 614<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> 615<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> 616</tr> 617</tbody> 618</table></div> 619</div> 620<div class="refsect3"> 621<a name="gst-gl-video-allocation-params-new-wrapped-data.returns"></a><h4>Returns</h4> 622<p> a new <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>wrapped_data</code></em> 623</p> 624</div> 625<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 626</div> 627<hr> 628<div class="refsect2"> 629<a name="gst-gl-video-allocation-params-new-wrapped-gl-handle"></a><h3>gst_gl_video_allocation_params_new_wrapped_gl_handle ()</h3> 630<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 631gst_gl_video_allocation_params_new_wrapped_gl_handle 632 (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 633 <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>, 634 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_info</code></em>, 635 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 636 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 637 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 638 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 639 <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>, 640 <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>, 641 <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> 642<p><em class="parameter"><code>gl_handle</code></em> 643 is defined by the specific OpenGL handle being wrapped 644For <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> and <a class="link" href="gst-plugins-base-libs-GstGLMemoryPBO.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a> it is an OpenGL texture id. 645Other memory types may define it to require a different type of parameter.</p> 646<div class="refsect3"> 647<a name="gst-gl-video-allocation-params-new-wrapped-gl-handle.parameters"></a><h4>Parameters</h4> 648<div class="informaltable"><table class="informaltable" width="100%" border="0"> 649<colgroup> 650<col width="150px" class="parameters_name"> 651<col class="parameters_description"> 652<col width="200px" class="parameters_annotations"> 653</colgroup> 654<tbody> 655<tr> 656<td class="parameter_name"><p>context</p></td> 657<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 658<td class="parameter_annotations"> </td> 659</tr> 660<tr> 661<td class="parameter_name"><p>alloc_params</p></td> 662<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>tex_id</code></em> 663. </p></td> 664<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> 665</tr> 666<tr> 667<td class="parameter_name"><p>v_info</p></td> 668<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>tex_id</code></em> 669</p></td> 670<td class="parameter_annotations"> </td> 671</tr> 672<tr> 673<td class="parameter_name"><p>plane</p></td> 674<td class="parameter_description"><p>the video plane <em class="parameter"><code>tex_id</code></em> 675represents</p></td> 676<td class="parameter_annotations"> </td> 677</tr> 678<tr> 679<td class="parameter_name"><p>valign</p></td> 680<td class="parameter_description"><p>any <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>tex_id</code></em> 681. </p></td> 682<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> 683</tr> 684<tr> 685<td class="parameter_name"><p>target</p></td> 686<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>tex_id</code></em> 687</p></td> 688<td class="parameter_annotations"> </td> 689</tr> 690<tr> 691<td class="parameter_name"><p>tex_format</p></td> 692<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> for <em class="parameter"><code>tex_id</code></em> 693</p></td> 694<td class="parameter_annotations"> </td> 695</tr> 696<tr> 697<td class="parameter_name"><p>gl_handle</p></td> 698<td class="parameter_description"><p>the GL handle to wrap</p></td> 699<td class="parameter_annotations"> </td> 700</tr> 701<tr> 702<td class="parameter_name"><p>user_data</p></td> 703<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 704with. </p></td> 705<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> 706</tr> 707<tr> 708<td class="parameter_name"><p>notify</p></td> 709<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> 710<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> 711</tr> 712</tbody> 713</table></div> 714</div> 715<div class="refsect3"> 716<a name="gst-gl-video-allocation-params-new-wrapped-gl-handle.returns"></a><h4>Returns</h4> 717<p> a new <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>gl_handle</code></em> 718</p> 719</div> 720<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 721</div> 722<hr> 723<div class="refsect2"> 724<a name="gst-gl-video-allocation-params-new-wrapped-texture"></a><h3>gst_gl_video_allocation_params_new_wrapped_texture ()</h3> 725<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="returnvalue">GstGLVideoAllocationParams</span></a> * 726gst_gl_video_allocation_params_new_wrapped_texture 727 (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 728 <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>, 729 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *v_info</code></em>, 730 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 731 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 732 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 733 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 734 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> tex_id</code></em>, 735 <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>, 736 <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> 737<div class="refsect3"> 738<a name="gst-gl-video-allocation-params-new-wrapped-texture.parameters"></a><h4>Parameters</h4> 739<div class="informaltable"><table class="informaltable" width="100%" border="0"> 740<colgroup> 741<col width="150px" class="parameters_name"> 742<col class="parameters_description"> 743<col width="200px" class="parameters_annotations"> 744</colgroup> 745<tbody> 746<tr> 747<td class="parameter_name"><p>context</p></td> 748<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 749<td class="parameter_annotations"> </td> 750</tr> 751<tr> 752<td class="parameter_name"><p>alloc_params</p></td> 753<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>tex_id</code></em> 754. </p></td> 755<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> 756</tr> 757<tr> 758<td class="parameter_name"><p>v_info</p></td> 759<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>tex_id</code></em> 760</p></td> 761<td class="parameter_annotations"> </td> 762</tr> 763<tr> 764<td class="parameter_name"><p>plane</p></td> 765<td class="parameter_description"><p>the video plane <em class="parameter"><code>tex_id</code></em> 766represents</p></td> 767<td class="parameter_annotations"> </td> 768</tr> 769<tr> 770<td class="parameter_name"><p>valign</p></td> 771<td class="parameter_description"><p>any <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>tex_id</code></em> 772. </p></td> 773<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> 774</tr> 775<tr> 776<td class="parameter_name"><p>target</p></td> 777<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>tex_id</code></em> 778</p></td> 779<td class="parameter_annotations"> </td> 780</tr> 781<tr> 782<td class="parameter_name"><p>tex_format</p></td> 783<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> for <em class="parameter"><code>tex_id</code></em> 784</p></td> 785<td class="parameter_annotations"> </td> 786</tr> 787<tr> 788<td class="parameter_name"><p>tex_id</p></td> 789<td class="parameter_description"><p>the GL texture to wrap</p></td> 790<td class="parameter_annotations"> </td> 791</tr> 792<tr> 793<td class="parameter_name"><p>user_data</p></td> 794<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 795with. </p></td> 796<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> 797</tr> 798<tr> 799<td class="parameter_name"><p>notify</p></td> 800<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> 801<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> 802</tr> 803</tbody> 804</table></div> 805</div> 806<div class="refsect3"> 807<a name="gst-gl-video-allocation-params-new-wrapped-texture.returns"></a><h4>Returns</h4> 808<p> a new <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>tex_id</code></em> 809</p> 810</div> 811<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 812</div> 813<hr> 814<div class="refsect2"> 815<a name="gst-gl-memory-allocator-get-default"></a><h3>gst_gl_memory_allocator_get_default ()</h3> 816<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="returnvalue">GstGLMemoryAllocator</span></a> * 817gst_gl_memory_allocator_get_default (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 818<div class="refsect3"> 819<a name="gst-gl-memory-allocator-get-default.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><tr> 827<td class="parameter_name"><p>context</p></td> 828<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 829<td class="parameter_annotations"> </td> 830</tr></tbody> 831</table></div> 832</div> 833<div class="refsect3"> 834<a name="gst-gl-memory-allocator-get-default.returns"></a><h4>Returns</h4> 835<p>the default <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> supported by 836<em class="parameter"><code>context</code></em> 837. </p> 838<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 839</div> 840<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 841</div> 842<hr> 843<div class="refsect2"> 844<a name="gst-gl-memory-init-once"></a><h3>gst_gl_memory_init_once ()</h3> 845<pre class="programlisting"><span class="returnvalue">void</span> 846gst_gl_memory_init_once (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> 847<p>Initializes the GL Base Texture allocator. It is safe to call this function 848multiple times. This must be called before any other GstGLMemory operation.</p> 849<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 850</div> 851<hr> 852<div class="refsect2"> 853<a name="gst-gl-memory-init"></a><h3>gst_gl_memory_init ()</h3> 854<pre class="programlisting"><span class="returnvalue">void</span> 855gst_gl_memory_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *mem</code></em>, 856 <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>, 857 <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>, 858 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 859 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 860 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 861 <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>, 862 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>, 863 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>, 864 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>, 865 <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>, 866 <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> 867<p>Initializes <em class="parameter"><code>mem</code></em> 868 with the required parameters. <em class="parameter"><code>info</code></em> 869 is assumed to have 870already have been modified with <a class="link" href="gst-plugins-base-libs-GstVideo.html#gst-video-info-align" title="gst_video_info_align ()"><code class="function">gst_video_info_align()</code></a>.</p> 871<div class="refsect3"> 872<a name="gst-gl-memory-init.parameters"></a><h4>Parameters</h4> 873<div class="informaltable"><table class="informaltable" width="100%" border="0"> 874<colgroup> 875<col width="150px" class="parameters_name"> 876<col class="parameters_description"> 877<col width="200px" class="parameters_annotations"> 878</colgroup> 879<tbody> 880<tr> 881<td class="parameter_name"><p>mem</p></td> 882<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> 883<td class="parameter_annotations"> </td> 884</tr> 885<tr> 886<td class="parameter_name"><p>allocator</p></td> 887<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> 888<td class="parameter_annotations"> </td> 889</tr> 890<tr> 891<td class="parameter_name"><p>parent</p></td> 892<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> 893<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> 894</tr> 895<tr> 896<td class="parameter_name"><p>context</p></td> 897<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> 898<td class="parameter_annotations"> </td> 899</tr> 900<tr> 901<td class="parameter_name"><p>target</p></td> 902<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for this <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 903<td class="parameter_annotations"> </td> 904</tr> 905<tr> 906<td class="parameter_name"><p>tex_format</p></td> 907<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> for this <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 908<td class="parameter_annotations"> </td> 909</tr> 910<tr> 911<td class="parameter_name"><p>params</p></td> 912<td class="parameter_description"><p>the <em class="parameter"><code>GstAllocationParams</code></em> 913to initialize with. </p></td> 914<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> 915</tr> 916<tr> 917<td class="parameter_name"><p>info</p></td> 918<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> for this <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 919<td class="parameter_annotations"> </td> 920</tr> 921<tr> 922<td class="parameter_name"><p>plane</p></td> 923<td class="parameter_description"><p>the plane number (starting from 0) for this <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 924<td class="parameter_annotations"> </td> 925</tr> 926<tr> 927<td class="parameter_name"><p>valign</p></td> 928<td class="parameter_description"><p>optional <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> parameters. </p></td> 929<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> 930</tr> 931<tr> 932<td class="parameter_name"><p>notify</p></td> 933<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> 934<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> 935</tr> 936<tr> 937<td class="parameter_name"><p>user_data</p></td> 938<td class="parameter_description"><p>user data to call <em class="parameter"><code>notify</code></em> 939with. </p></td> 940<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> 941</tr> 942</tbody> 943</table></div> 944</div> 945<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 946</div> 947<hr> 948<div class="refsect2"> 949<a name="gst-is-gl-memory"></a><h3>gst_is_gl_memory ()</h3> 950<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 951gst_is_gl_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> 952<div class="refsect3"> 953<a name="gst-is-gl-memory.parameters"></a><h4>Parameters</h4> 954<div class="informaltable"><table class="informaltable" width="100%" border="0"> 955<colgroup> 956<col width="150px" class="parameters_name"> 957<col class="parameters_description"> 958<col width="200px" class="parameters_annotations"> 959</colgroup> 960<tbody><tr> 961<td class="parameter_name"><p>mem</p></td> 962<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> 963<td class="parameter_annotations"> </td> 964</tr></tbody> 965</table></div> 966</div> 967<div class="refsect3"> 968<a name="gst-is-gl-memory.returns"></a><h4>Returns</h4> 969<p> whether the memory at <em class="parameter"><code>mem</code></em> 970is a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p> 971</div> 972<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 973</div> 974<hr> 975<div class="refsect2"> 976<a name="gst-gl-memory-copy-into"></a><h3>gst_gl_memory_copy_into ()</h3> 977<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 978gst_gl_memory_copy_into (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>, 979 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> tex_id</code></em>, 980 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>, 981 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> tex_format</code></em>, 982 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>, 983 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> height</code></em>);</pre> 984<p>Copies <em class="parameter"><code>gl_mem</code></em> 985 into the texture specfified by <em class="parameter"><code>tex_id</code></em> 986. The format of <em class="parameter"><code>tex_id</code></em> 987 988is specified by <em class="parameter"><code>tex_format</code></em> 989, <em class="parameter"><code>width</code></em> 990 and <em class="parameter"><code>height</code></em> 991.</p> 992<div class="refsect3"> 993<a name="gst-gl-memory-copy-into.parameters"></a><h4>Parameters</h4> 994<div class="informaltable"><table class="informaltable" width="100%" border="0"> 995<colgroup> 996<col width="150px" class="parameters_name"> 997<col class="parameters_description"> 998<col width="200px" class="parameters_annotations"> 999</colgroup> 1000<tbody> 1001<tr> 1002<td class="parameter_name"><p>gl_mem</p></td> 1003<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1004<td class="parameter_annotations"> </td> 1005</tr> 1006<tr> 1007<td class="parameter_name"><p>tex_id</p></td> 1008<td class="parameter_description"><p>OpenGL texture id</p></td> 1009<td class="parameter_annotations"> </td> 1010</tr> 1011<tr> 1012<td class="parameter_name"><p>target</p></td> 1013<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td> 1014<td class="parameter_annotations"> </td> 1015</tr> 1016<tr> 1017<td class="parameter_name"><p>tex_format</p></td> 1018<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a></p></td> 1019<td class="parameter_annotations"> </td> 1020</tr> 1021<tr> 1022<td class="parameter_name"><p>width</p></td> 1023<td class="parameter_description"><p>width of <em class="parameter"><code>tex_id</code></em> 1024</p></td> 1025<td class="parameter_annotations"> </td> 1026</tr> 1027<tr> 1028<td class="parameter_name"><p>height</p></td> 1029<td class="parameter_description"><p>height of <em class="parameter"><code>tex_id</code></em> 1030</p></td> 1031<td class="parameter_annotations"> </td> 1032</tr> 1033</tbody> 1034</table></div> 1035</div> 1036<div class="refsect3"> 1037<a name="gst-gl-memory-copy-into.returns"></a><h4>Returns</h4> 1038<p> Whether the copy suceeded</p> 1039</div> 1040<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1041</div> 1042<hr> 1043<div class="refsect2"> 1044<a name="gst-gl-memory-copy-teximage"></a><h3>gst_gl_memory_copy_teximage ()</h3> 1045<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1046gst_gl_memory_copy_teximage (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *src</code></em>, 1047 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> tex_id</code></em>, 1048 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> out_target</code></em>, 1049 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> out_tex_format</code></em>, 1050 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> out_width</code></em>, 1051 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> out_height</code></em>);</pre> 1052<p>Copies the texture in <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> into the texture specified by <em class="parameter"><code>tex_id</code></em> 1053, 1054<em class="parameter"><code>out_target</code></em> 1055, <em class="parameter"><code>out_tex_format</code></em> 1056, <em class="parameter"><code>out_width</code></em> 1057 and <em class="parameter"><code>out_height</code></em> 1058.</p> 1059<div class="refsect3"> 1060<a name="gst-gl-memory-copy-teximage.parameters"></a><h4>Parameters</h4> 1061<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1062<colgroup> 1063<col width="150px" class="parameters_name"> 1064<col class="parameters_description"> 1065<col width="200px" class="parameters_annotations"> 1066</colgroup> 1067<tbody> 1068<tr> 1069<td class="parameter_name"><p>src</p></td> 1070<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1071<td class="parameter_annotations"> </td> 1072</tr> 1073<tr> 1074<td class="parameter_name"><p>tex_id</p></td> 1075<td class="parameter_description"><p>the destination texture id</p></td> 1076<td class="parameter_annotations"> </td> 1077</tr> 1078<tr> 1079<td class="parameter_name"><p>out_target</p></td> 1080<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td> 1081<td class="parameter_annotations"> </td> 1082</tr> 1083<tr> 1084<td class="parameter_name"><p>out_tex_format</p></td> 1085<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a></p></td> 1086<td class="parameter_annotations"> </td> 1087</tr> 1088<tr> 1089<td class="parameter_name"><p>out_width</p></td> 1090<td class="parameter_description"><p>the destination width</p></td> 1091<td class="parameter_annotations"> </td> 1092</tr> 1093<tr> 1094<td class="parameter_name"><p>out_height</p></td> 1095<td class="parameter_description"><p>the destination height</p></td> 1096<td class="parameter_annotations"> </td> 1097</tr> 1098</tbody> 1099</table></div> 1100</div> 1101<div class="refsect3"> 1102<a name="gst-gl-memory-copy-teximage.returns"></a><h4>Returns</h4> 1103<p> whether the copy succeeded.</p> 1104</div> 1105<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1106</div> 1107<hr> 1108<div class="refsect2"> 1109<a name="gst-gl-memory-read-pixels"></a><h3>gst_gl_memory_read_pixels ()</h3> 1110<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1111gst_gl_memory_read_pixels (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>, 1112 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> read_pointer</code></em>);</pre> 1113<p>Reads the texture in <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> into <em class="parameter"><code>read_pointer</code></em> 1114 if no buffer is bound 1115to <code class="literal">GL_PIXEL_PACK_BUFFER</code>. Otherwise <em class="parameter"><code>read_pointer</code></em> 1116 is the byte offset into 1117the currently bound <code class="literal">GL_PIXEL_PACK_BUFFER</code> buffer to store the result of 1118glReadPixels. See the OpenGL specification for glReadPixels for more 1119details.</p> 1120<div class="refsect3"> 1121<a name="gst-gl-memory-read-pixels.parameters"></a><h4>Parameters</h4> 1122<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1123<colgroup> 1124<col width="150px" class="parameters_name"> 1125<col class="parameters_description"> 1126<col width="200px" class="parameters_annotations"> 1127</colgroup> 1128<tbody> 1129<tr> 1130<td class="parameter_name"><p>gl_mem</p></td> 1131<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1132<td class="parameter_annotations"> </td> 1133</tr> 1134<tr> 1135<td class="parameter_name"><p>read_pointer</p></td> 1136<td class="parameter_description"><p>the data pointer to pass to glReadPixels</p></td> 1137<td class="parameter_annotations"> </td> 1138</tr> 1139</tbody> 1140</table></div> 1141</div> 1142<div class="refsect3"> 1143<a name="gst-gl-memory-read-pixels.returns"></a><h4>Returns</h4> 1144<p> whether theread operation succeeded</p> 1145</div> 1146<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1147</div> 1148<hr> 1149<div class="refsect2"> 1150<a name="gst-gl-memory-texsubimage"></a><h3>gst_gl_memory_texsubimage ()</h3> 1151<pre class="programlisting"><span class="returnvalue">void</span> 1152gst_gl_memory_texsubimage (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>, 1153 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> read_pointer</code></em>);</pre> 1154<p>See <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#gst-gl-memory-read-pixels" title="gst_gl_memory_read_pixels ()"><code class="function">gst_gl_memory_read_pixels()</code></a> for what <em class="parameter"><code>read_pointer</code></em> 1155 signifies.</p> 1156<div class="refsect3"> 1157<a name="gst-gl-memory-texsubimage.parameters"></a><h4>Parameters</h4> 1158<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1159<colgroup> 1160<col width="150px" class="parameters_name"> 1161<col class="parameters_description"> 1162<col width="200px" class="parameters_annotations"> 1163</colgroup> 1164<tbody> 1165<tr> 1166<td class="parameter_name"><p>gl_mem</p></td> 1167<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1168<td class="parameter_annotations"> </td> 1169</tr> 1170<tr> 1171<td class="parameter_name"><p>read_pointer</p></td> 1172<td class="parameter_description"><p>the data pointer to pass to glTexSubImage</p></td> 1173<td class="parameter_annotations"> </td> 1174</tr> 1175</tbody> 1176</table></div> 1177</div> 1178<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1179</div> 1180<hr> 1181<div class="refsect2"> 1182<a name="gst-gl-memory-get-texture-height"></a><h3>gst_gl_memory_get_texture_height ()</h3> 1183<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> 1184gst_gl_memory_get_texture_height (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre> 1185<div class="refsect3"> 1186<a name="gst-gl-memory-get-texture-height.parameters"></a><h4>Parameters</h4> 1187<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1188<colgroup> 1189<col width="150px" class="parameters_name"> 1190<col class="parameters_description"> 1191<col width="200px" class="parameters_annotations"> 1192</colgroup> 1193<tbody><tr> 1194<td class="parameter_name"><p>gl_mem</p></td> 1195<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1196<td class="parameter_annotations"> </td> 1197</tr></tbody> 1198</table></div> 1199</div> 1200<div class="refsect3"> 1201<a name="gst-gl-memory-get-texture-height.returns"></a><h4>Returns</h4> 1202<p> the texture height of <em class="parameter"><code>gl_mem</code></em> 1203</p> 1204</div> 1205<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1206</div> 1207<hr> 1208<div class="refsect2"> 1209<a name="gst-gl-memory-get-texture-id"></a><h3>gst_gl_memory_get_texture_id ()</h3> 1210<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> 1211gst_gl_memory_get_texture_id (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre> 1212<div class="refsect3"> 1213<a name="gst-gl-memory-get-texture-id.parameters"></a><h4>Parameters</h4> 1214<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1215<colgroup> 1216<col width="150px" class="parameters_name"> 1217<col class="parameters_description"> 1218<col width="200px" class="parameters_annotations"> 1219</colgroup> 1220<tbody><tr> 1221<td class="parameter_name"><p>gl_mem</p></td> 1222<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1223<td class="parameter_annotations"> </td> 1224</tr></tbody> 1225</table></div> 1226</div> 1227<div class="refsect3"> 1228<a name="gst-gl-memory-get-texture-id.returns"></a><h4>Returns</h4> 1229<p> the OpenGL texture handle of <em class="parameter"><code>gl_mem</code></em> 1230</p> 1231</div> 1232<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1233</div> 1234<hr> 1235<div class="refsect2"> 1236<a name="gst-gl-memory-get-texture-target"></a><h3>gst_gl_memory_get_texture_target ()</h3> 1237<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="returnvalue">GstGLTextureTarget</span></a> 1238gst_gl_memory_get_texture_target (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre> 1239<div class="refsect3"> 1240<a name="gst-gl-memory-get-texture-target.parameters"></a><h4>Parameters</h4> 1241<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1242<colgroup> 1243<col width="150px" class="parameters_name"> 1244<col class="parameters_description"> 1245<col width="200px" class="parameters_annotations"> 1246</colgroup> 1247<tbody><tr> 1248<td class="parameter_name"><p>gl_mem</p></td> 1249<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1250<td class="parameter_annotations"> </td> 1251</tr></tbody> 1252</table></div> 1253</div> 1254<div class="refsect3"> 1255<a name="gst-gl-memory-get-texture-target.returns"></a><h4>Returns</h4> 1256<p> the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> of <em class="parameter"><code>gl_mem</code></em> 1257</p> 1258</div> 1259<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1260</div> 1261<hr> 1262<div class="refsect2"> 1263<a name="gst-gl-memory-get-texture-format"></a><h3>gst_gl_memory_get_texture_format ()</h3> 1264<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="returnvalue">GstGLFormat</span></a> 1265gst_gl_memory_get_texture_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre> 1266<div class="refsect3"> 1267<a name="gst-gl-memory-get-texture-format.parameters"></a><h4>Parameters</h4> 1268<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1269<colgroup> 1270<col width="150px" class="parameters_name"> 1271<col class="parameters_description"> 1272<col width="200px" class="parameters_annotations"> 1273</colgroup> 1274<tbody><tr> 1275<td class="parameter_name"><p>gl_mem</p></td> 1276<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1277<td class="parameter_annotations"> </td> 1278</tr></tbody> 1279</table></div> 1280</div> 1281<div class="refsect3"> 1282<a name="gst-gl-memory-get-texture-format.returns"></a><h4>Returns</h4> 1283<p> the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> of <em class="parameter"><code>gl_mem</code></em> 1284</p> 1285</div> 1286<p class="since">Since: <a class="link" href="ix05.html#api-index-1.12">1.12</a></p> 1287</div> 1288<hr> 1289<div class="refsect2"> 1290<a name="gst-gl-memory-get-texture-width"></a><h3>gst_gl_memory_get_texture_width ()</h3> 1291<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a> 1292gst_gl_memory_get_texture_width (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre> 1293<div class="refsect3"> 1294<a name="gst-gl-memory-get-texture-width.parameters"></a><h4>Parameters</h4> 1295<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1296<colgroup> 1297<col width="150px" class="parameters_name"> 1298<col class="parameters_description"> 1299<col width="200px" class="parameters_annotations"> 1300</colgroup> 1301<tbody><tr> 1302<td class="parameter_name"><p>gl_mem</p></td> 1303<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td> 1304<td class="parameter_annotations"> </td> 1305</tr></tbody> 1306</table></div> 1307</div> 1308<div class="refsect3"> 1309<a name="gst-gl-memory-get-texture-width.returns"></a><h4>Returns</h4> 1310<p> the texture width of <em class="parameter"><code>gl_mem</code></em> 1311</p> 1312</div> 1313<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1314</div> 1315<hr> 1316<div class="refsect2"> 1317<a name="gst-gl-memory-setup-buffer"></a><h3>gst_gl_memory_setup_buffer ()</h3> 1318<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1319gst_gl_memory_setup_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> *allocator</code></em>, 1320 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> *buffer</code></em>, 1321 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *params</code></em>, 1322 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> *tex_formats</code></em>, 1323 <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>, 1324 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> n_wrapped_pointers</code></em>);</pre> 1325<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p> 1326<div class="refsect3"> 1327<a name="gst-gl-memory-setup-buffer.parameters"></a><h4>Parameters</h4> 1328<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1329<colgroup> 1330<col width="150px" class="parameters_name"> 1331<col class="parameters_description"> 1332<col width="200px" class="parameters_annotations"> 1333</colgroup> 1334<tbody> 1335<tr> 1336<td class="parameter_name"><p>allocator</p></td> 1337<td class="parameter_description"><p>the <em class="parameter"><code>GstGLMemoryAllocator</code></em> 1338to allocate from</p></td> 1339<td class="parameter_annotations"> </td> 1340</tr> 1341<tr> 1342<td class="parameter_name"><p>buffer</p></td> 1343<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> to setup</p></td> 1344<td class="parameter_annotations"> </td> 1345</tr> 1346<tr> 1347<td class="parameter_name"><p>params</p></td> 1348<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to allocate with</p></td> 1349<td class="parameter_annotations"> </td> 1350</tr> 1351<tr> 1352<td class="parameter_name"><p>tex_formats</p></td> 1353<td class="parameter_description"><p>a list of <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a>'s to allocate with. </p></td> 1354<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>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_wrapped_pointers]</span></td> 1355</tr> 1356<tr> 1357<td class="parameter_name"><p>wrapped_data</p></td> 1358<td class="parameter_description"><p>a list of wrapped data pointers. </p></td> 1359<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_wrapped_pointers][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> gpointer]</span></td> 1360</tr> 1361<tr> 1362<td class="parameter_name"><p>n_wrapped_pointers</p></td> 1363<td class="parameter_description"><p>the number of elements in <em class="parameter"><code>tex_formats</code></em> 1364and <em class="parameter"><code>wrapped_data</code></em> 1365</p></td> 1366<td class="parameter_annotations"> </td> 1367</tr> 1368</tbody> 1369</table></div> 1370</div> 1371<div class="refsect3"> 1372<a name="gst-gl-memory-setup-buffer.returns"></a><h4>Returns</h4> 1373<p> whether the buffer was correctly setup</p> 1374</div> 1375<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1376</div> 1377</div> 1378<div class="refsect1"> 1379<a name="gst-plugins-base-libs-GstGLMemory.other_details"></a><h2>Types and Values</h2> 1380<div class="refsect2"> 1381<a name="GST-GL-MEMORY-VIDEO-FORMATS-STR:CAPS"></a><h3>GST_GL_MEMORY_VIDEO_FORMATS_STR</h3> 1382<pre class="programlisting">#define GST_GL_MEMORY_VIDEO_FORMATS_STR</pre> 1383<p>List of video formats that are supported by <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p> 1384</div> 1385<hr> 1386<div class="refsect2"> 1387<a name="GST-CAPS-FEATURE-MEMORY-GL-MEMORY:CAPS"></a><h3>GST_CAPS_FEATURE_MEMORY_GL_MEMORY</h3> 1388<pre class="programlisting">#define GST_CAPS_FEATURE_MEMORY_GL_MEMORY "memory:GLMemory" 1389</pre> 1390<p>Name of the caps feature for indicating the use of <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p> 1391</div> 1392<hr> 1393<div class="refsect2"> 1394<a name="GstGLVideoAllocationParams-struct"></a><h3>struct GstGLVideoAllocationParams</h3> 1395<pre class="programlisting">struct GstGLVideoAllocationParams { 1396 GstGLAllocationParams parent; 1397 1398 GstVideoInfo *v_info; 1399 guint plane; 1400 GstVideoAlignment *valign; 1401 GstGLTextureTarget target; 1402 GstGLFormat tex_format; 1403}; 1404</pre> 1405<div class="refsect3"> 1406<a name="GstGLVideoAllocationParams.members"></a><h4>Members</h4> 1407<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1408<colgroup> 1409<col width="300px" class="struct_members_name"> 1410<col class="struct_members_description"> 1411<col width="200px" class="struct_members_annotations"> 1412</colgroup> 1413<tbody> 1414<tr> 1415<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> <em class="structfield"><code><a name="GstGLVideoAllocationParams-struct.parent"></a>parent</code></em>;</p></td> 1416<td class="struct_member_description"><p>the parent <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> structure</p></td> 1417<td class="struct_member_annotations"> </td> 1418</tr> 1419<tr> 1420<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *<em class="structfield"><code><a name="GstGLVideoAllocationParams-struct.v-info"></a>v_info</code></em>;</p></td> 1421<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> to allocate</p></td> 1422<td class="struct_member_annotations"> </td> 1423</tr> 1424<tr> 1425<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="GstGLVideoAllocationParams-struct.plane"></a>plane</code></em>;</p></td> 1426<td class="struct_member_description"><p>the video plane index to allocate</p></td> 1427<td class="struct_member_annotations"> </td> 1428</tr> 1429<tr> 1430<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *<em class="structfield"><code><a name="GstGLVideoAllocationParams-struct.valign"></a>valign</code></em>;</p></td> 1431<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> to align the system representation to (may be <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for the default)</p></td> 1432<td class="struct_member_annotations"> </td> 1433</tr> 1434<tr> 1435<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> <em class="structfield"><code><a name="GstGLVideoAllocationParams-struct.target"></a>target</code></em>;</p></td> 1436<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> to allocate</p></td> 1437<td class="struct_member_annotations"> </td> 1438</tr> 1439<tr> 1440<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> <em class="structfield"><code><a name="GstGLVideoAllocationParams-struct.tex-format"></a>tex_format</code></em>;</p></td> 1441<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> to allocate</p></td> 1442<td class="struct_member_annotations"> </td> 1443</tr> 1444</tbody> 1445</table></div> 1446</div> 1447</div> 1448<hr> 1449<div class="refsect2"> 1450<a name="GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-VIDEO:CAPS"></a><h3>GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO</h3> 1451<pre class="programlisting">#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO (1 << 3) 1452</pre> 1453<p>GL allocation flag indicating the allocation of 2D video frames</p> 1454</div> 1455<hr> 1456<div class="refsect2"> 1457<a name="GstGLMemoryAllocator-struct"></a><h3>GstGLMemoryAllocator</h3> 1458<pre class="programlisting">typedef struct _GstGLMemoryAllocator GstGLMemoryAllocator;</pre> 1459<p>Opaque <a class="link" href="gst-plugins-base-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> struct</p> 1460</div> 1461<hr> 1462<div class="refsect2"> 1463<a name="GstGLMemoryAllocatorClass"></a><h3>GstGLMemoryAllocatorClass</h3> 1464<pre class="programlisting">typedef struct { 1465 GstGLBaseMemoryAllocatorMapFunction map; 1466 GstGLBaseMemoryAllocatorCopyFunction copy; 1467 GstGLBaseMemoryAllocatorUnmapFunction unmap; 1468} GstGLMemoryAllocatorClass; 1469</pre> 1470<div class="refsect3"> 1471<a name="GstGLMemoryAllocatorClass.members"></a><h4>Members</h4> 1472<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1473<colgroup> 1474<col width="300px" class="struct_members_name"> 1475<col class="struct_members_description"> 1476<col width="200px" class="struct_members_annotations"> 1477</colgroup> 1478<tbody> 1479<tr> 1480<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="GstGLMemoryAllocatorClass.map"></a>map</code></em>;</p></td> 1481<td class="struct_member_description"><p>provide a custom map implementation</p></td> 1482<td class="struct_member_annotations"> </td> 1483</tr> 1484<tr> 1485<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="GstGLMemoryAllocatorClass.copy"></a>copy</code></em>;</p></td> 1486<td class="struct_member_description"><p>provide a custom copy implementation</p></td> 1487<td class="struct_member_annotations"> </td> 1488</tr> 1489<tr> 1490<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="GstGLMemoryAllocatorClass.unmap"></a>unmap</code></em>;</p></td> 1491<td class="struct_member_description"><p>provide a custom unmap implementation</p></td> 1492<td class="struct_member_annotations"> </td> 1493</tr> 1494</tbody> 1495</table></div> 1496</div> 1497</div> 1498<hr> 1499<div class="refsect2"> 1500<a name="GstGLMemory"></a><h3>GstGLMemory</h3> 1501<pre class="programlisting">typedef struct { 1502 GstGLBaseMemory mem; 1503 1504 guint tex_id; 1505 GstGLTextureTarget tex_target; 1506 GstGLFormat tex_format; 1507 GstVideoInfo info; 1508 GstVideoAlignment valign; 1509 guint plane; 1510 gfloat tex_scaling[2]; 1511} GstGLMemory; 1512</pre> 1513<p>Represents information about a GL texture</p> 1514<div class="refsect3"> 1515<a name="GstGLMemory.members"></a><h4>Members</h4> 1516<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1517<colgroup> 1518<col width="300px" class="struct_members_name"> 1519<col class="struct_members_description"> 1520<col width="200px" class="struct_members_annotations"> 1521</colgroup> 1522<tbody> 1523<tr> 1524<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> <em class="structfield"><code><a name="GstGLMemory.mem"></a>mem</code></em>;</p></td> 1525<td class="struct_member_description"><p>the parent <a class="link" href="gst-plugins-base-libs-GstGLBaseMemory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> object</p></td> 1526<td class="struct_member_annotations"> </td> 1527</tr> 1528<tr> 1529<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="GstGLMemory.tex-id"></a>tex_id</code></em>;</p></td> 1530<td class="struct_member_description"><p>the GL texture id for this memory</p></td> 1531<td class="struct_member_annotations"> </td> 1532</tr> 1533<tr> 1534<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> <em class="structfield"><code><a name="GstGLMemory.tex-target"></a>tex_target</code></em>;</p></td> 1535<td class="struct_member_description"><p>the GL texture target for this memory</p></td> 1536<td class="struct_member_annotations"> </td> 1537</tr> 1538<tr> 1539<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-OpenGL-Formats.html#GstGLFormat" title="enum GstGLFormat"><span class="type">GstGLFormat</span></a> <em class="structfield"><code><a name="GstGLMemory.tex-format"></a>tex_format</code></em>;</p></td> 1540<td class="struct_member_description"><p>the texture type</p></td> 1541<td class="struct_member_annotations"> </td> 1542</tr> 1543<tr> 1544<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstGLMemory.info"></a>info</code></em>;</p></td> 1545<td class="struct_member_description"><p>the texture's <a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a></p></td> 1546<td class="struct_member_annotations"> </td> 1547</tr> 1548<tr> 1549<td class="struct_member_name"><p><a class="link" href="gst-plugins-base-libs-GstVideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> <em class="structfield"><code><a name="GstGLMemory.valign"></a>valign</code></em>;</p></td> 1550<td class="struct_member_description"><p>data alignment for system memory mapping</p></td> 1551<td class="struct_member_annotations"> </td> 1552</tr> 1553<tr> 1554<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="GstGLMemory.plane"></a>plane</code></em>;</p></td> 1555<td class="struct_member_description"><p>data plane in <em class="parameter"><code>info</code></em> 1556</p></td> 1557<td class="struct_member_annotations"> </td> 1558</tr> 1559<tr> 1560<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> <em class="structfield"><code><a name="GstGLMemory.tex-scaling"></a>tex_scaling</code></em>[2];</p></td> 1561<td class="struct_member_description"><p>GL shader scaling parameters for <em class="parameter"><code>valign</code></em> 1562and/or width/height</p></td> 1563<td class="struct_member_annotations"> </td> 1564</tr> 1565</tbody> 1566</table></div> 1567</div> 1568</div> 1569<hr> 1570<div class="refsect2"> 1571<a name="GST-GL-MEMORY-ALLOCATOR-NAME:CAPS"></a><h3>GST_GL_MEMORY_ALLOCATOR_NAME</h3> 1572<pre class="programlisting">#define GST_GL_MEMORY_ALLOCATOR_NAME "GLMemory" 1573</pre> 1574<p>The name of the GL memory allocator</p> 1575</div> 1576</div> 1577<div class="refsect1"> 1578<a name="gst-plugins-base-libs-GstGLMemory.see-also"></a><h2>See Also</h2> 1579<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>, <a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a></p> 1580</div> 1581</div> 1582<div class="footer"> 1583<hr>Generated by GTK-Doc V1.28</div> 1584</body> 1585</html>