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>GstGLContext: 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="GstGLColorConvert.html" title="GstGLColorConvert"> 10<link rel="next" href="GstGLDisplay.html" title="GstGLDisplay"> 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="#GstGLContext.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> 19 <a href="#GstGLContext.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="GstGLColorConvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> 24<td><a accesskey="n" href="GstGLDisplay.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="GstGLContext"></a><div class="titlepage"></div> 28<div class="refnamediv"><table width="100%"><tr> 29<td valign="top"> 30<h2><span class="refentrytitle"><a name="GstGLContext.top_of_page"></a>GstGLContext</span></h2> 31<p>GstGLContext — OpenGL context abstraction</p> 32</td> 33<td class="gallery_image" valign="top" align="right"></td> 34</tr></table></div> 35<div class="refsect1"> 36<a name="GstGLContext.functions"></a><h2>Functions</h2> 37<div class="informaltable"><table class="informaltable" width="100%" border="0"> 38<colgroup> 39<col width="150px" class="functions_return"> 40<col class="functions_name"> 41</colgroup> 42<tbody> 43<tr> 44<td class="function_type"> 45<span class="returnvalue">void</span> 46</td> 47<td class="function_name"> 48<span class="c_punctuation">(</span><a class="link" href="GstGLContext.html#GstGLContextThreadFunc" title="GstGLContextThreadFunc ()">*GstGLContextThreadFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span> 49</td> 50</tr> 51<tr> 52<td class="function_type"> 53<a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 54</td> 55<td class="function_name"> 56<a class="link" href="GstGLContext.html#gst-gl-context-new" title="gst_gl_context_new ()">gst_gl_context_new</a> <span class="c_punctuation">()</span> 57</td> 58</tr> 59<tr> 60<td class="function_type"> 61<a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 62</td> 63<td class="function_name"> 64<a class="link" href="GstGLContext.html#gst-gl-context-new-wrapped" title="gst_gl_context_new_wrapped ()">gst_gl_context_new_wrapped</a> <span class="c_punctuation">()</span> 65</td> 66</tr> 67<tr> 68<td class="function_type"> 69<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 70</td> 71<td class="function_name"> 72<a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()">gst_gl_context_create</a> <span class="c_punctuation">()</span> 73</td> 74</tr> 75<tr> 76<td class="function_type"> 77<span class="returnvalue">void</span> 78</td> 79<td class="function_name"> 80<a class="link" href="GstGLContext.html#gst-gl-context-destroy" title="gst_gl_context_destroy ()">gst_gl_context_destroy</a> <span class="c_punctuation">()</span> 81</td> 82</tr> 83<tr> 84<td class="function_type"> 85<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 86</td> 87<td class="function_name"> 88<a class="link" href="GstGLContext.html#gst-gl-context-activate" title="gst_gl_context_activate ()">gst_gl_context_activate</a> <span class="c_punctuation">()</span> 89</td> 90</tr> 91<tr> 92<td class="function_type"> 93<span class="returnvalue">void</span> 94</td> 95<td class="function_name"> 96<a class="link" href="GstGLContext.html#gst-gl-context-swap-buffers" title="gst_gl_context_swap_buffers ()">gst_gl_context_swap_buffers</a> <span class="c_punctuation">()</span> 97</td> 98</tr> 99<tr> 100<td class="function_type"> 101<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 102</td> 103<td class="function_name"> 104<a class="link" href="GstGLContext.html#gst-gl-context-default-get-proc-address" title="gst_gl_context_default_get_proc_address ()">gst_gl_context_default_get_proc_address</a> <span class="c_punctuation">()</span> 105</td> 106</tr> 107<tr> 108<td class="function_type"> 109<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 110</td> 111<td class="function_name"> 112<a class="link" href="GstGLContext.html#gst-gl-context-get-proc-address" title="gst_gl_context_get_proc_address ()">gst_gl_context_get_proc_address</a> <span class="c_punctuation">()</span> 113</td> 114</tr> 115<tr> 116<td class="function_type"> 117<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 118</td> 119<td class="function_name"> 120<a class="link" href="GstGLContext.html#gst-gl-context-get-proc-address-with-platform" title="gst_gl_context_get_proc_address_with_platform ()">gst_gl_context_get_proc_address_with_platform</a> <span class="c_punctuation">()</span> 121</td> 122</tr> 123<tr> 124<td class="function_type"> 125<a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="returnvalue">GstGLWindow</span></a> * 126</td> 127<td class="function_name"> 128<a class="link" href="GstGLContext.html#gst-gl-context-get-window" title="gst_gl_context_get_window ()">gst_gl_context_get_window</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="GstGLContext.html#gst-gl-context-set-window" title="gst_gl_context_set_window ()">gst_gl_context_set_window</a> <span class="c_punctuation">()</span> 137</td> 138</tr> 139<tr> 140<td class="function_type"> 141<span class="returnvalue">void</span> 142</td> 143<td class="function_name"> 144<a class="link" href="GstGLContext.html#gst-gl-context-thread-add" title="gst_gl_context_thread_add ()">gst_gl_context_thread_add</a> <span class="c_punctuation">()</span> 145</td> 146</tr> 147<tr> 148<td class="function_type"> 149<a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="returnvalue">GstGLDisplay</span></a> * 150</td> 151<td class="function_name"> 152<a class="link" href="GstGLContext.html#gst-gl-context-get-display" title="gst_gl_context_get_display ()">gst_gl_context_get_display</a> <span class="c_punctuation">()</span> 153</td> 154</tr> 155<tr> 156<td class="function_type"> 157<a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a> 158</td> 159<td class="function_name"> 160<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-api" title="gst_gl_context_get_gl_api ()">gst_gl_context_get_gl_api</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#guintptr"><span class="returnvalue">guintptr</span></a> 166</td> 167<td class="function_name"> 168<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-context" title="gst_gl_context_get_gl_context ()">gst_gl_context_get_gl_context</a> <span class="c_punctuation">()</span> 169</td> 170</tr> 171<tr> 172<td class="function_type"> 173<a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="returnvalue">GstGLPlatform</span></a> 174</td> 175<td class="function_name"> 176<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-platform" title="gst_gl_context_get_gl_platform ()">gst_gl_context_get_gl_platform</a> <span class="c_punctuation">()</span> 177</td> 178</tr> 179<tr> 180<td class="function_type"> 181<span class="returnvalue">void</span> 182</td> 183<td class="function_name"> 184<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-platform-version" title="gst_gl_context_get_gl_platform_version ()">gst_gl_context_get_gl_platform_version</a> <span class="c_punctuation">()</span> 185</td> 186</tr> 187<tr> 188<td class="function_type"> 189<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a> 190</td> 191<td class="function_name"> 192<a class="link" href="GstGLContext.html#gst-gl-context-get-current-gl-context" title="gst_gl_context_get_current_gl_context ()">gst_gl_context_get_current_gl_context</a> <span class="c_punctuation">()</span> 193</td> 194</tr> 195<tr> 196<td class="function_type"> 197<a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a> 198</td> 199<td class="function_name"> 200<a class="link" href="GstGLContext.html#gst-gl-context-get-current-gl-api" title="gst_gl_context_get_current_gl_api ()">gst_gl_context_get_current_gl_api</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-Threads.html#GThread"><span class="returnvalue">GThread</span></a> * 206</td> 207<td class="function_name"> 208<a class="link" href="GstGLContext.html#gst-gl-context-get-thread" title="gst_gl_context_get_thread ()">gst_gl_context_get_thread</a> <span class="c_punctuation">()</span> 209</td> 210</tr> 211<tr> 212<td class="function_type"> 213<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 214</td> 215<td class="function_name"> 216<a class="link" href="GstGLContext.html#gst-gl-context-can-share" title="gst_gl_context_can_share ()">gst_gl_context_can_share</a> <span class="c_punctuation">()</span> 217</td> 218</tr> 219<tr> 220<td class="function_type"> 221<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 222</td> 223<td class="function_name"> 224<a class="link" href="GstGLContext.html#gst-gl-context-is-shared" title="gst_gl_context_is_shared ()">gst_gl_context_is_shared</a> <span class="c_punctuation">()</span> 225</td> 226</tr> 227<tr> 228<td class="function_type"> 229<span class="returnvalue">void</span> 230</td> 231<td class="function_name"> 232<a class="link" href="GstGLContext.html#gst-gl-context-set-shared-with" title="gst_gl_context_set_shared_with ()">gst_gl_context_set_shared_with</a> <span class="c_punctuation">()</span> 233</td> 234</tr> 235<tr> 236<td class="function_type"> 237<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 238</td> 239<td class="function_name"> 240<a class="link" href="GstGLContext.html#gst-gl-context-check-feature" title="gst_gl_context_check_feature ()">gst_gl_context_check_feature</a> <span class="c_punctuation">()</span> 241</td> 242</tr> 243<tr> 244<td class="function_type"> 245<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 246</td> 247<td class="function_name"> 248<a class="link" href="GstGLContext.html#gst-gl-context-check-gl-version" title="gst_gl_context_check_gl_version ()">gst_gl_context_check_gl_version</a> <span class="c_punctuation">()</span> 249</td> 250</tr> 251<tr> 252<td class="function_type"> 253<span class="returnvalue">void</span> 254</td> 255<td class="function_name"> 256<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-version" title="gst_gl_context_get_gl_version ()">gst_gl_context_get_gl_version</a> <span class="c_punctuation">()</span> 257</td> 258</tr> 259<tr> 260<td class="function_type"> 261<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 262</td> 263<td class="function_name"> 264<a class="link" href="GstGLContext.html#gst-gl-context-fill-info" title="gst_gl_context_fill_info ()">gst_gl_context_fill_info</a> <span class="c_punctuation">()</span> 265</td> 266</tr> 267<tr> 268<td class="function_type"> 269<a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 270</td> 271<td class="function_name"> 272<a class="link" href="GstGLContext.html#gst-gl-context-get-current" title="gst_gl_context_get_current ()">gst_gl_context_get_current</a> <span class="c_punctuation">()</span> 273</td> 274</tr> 275</tbody> 276</table></div> 277</div> 278<div class="refsect1"> 279<a name="GstGLContext.other"></a><h2>Types and Values</h2> 280<div class="informaltable"><table class="informaltable" width="100%" border="0"> 281<colgroup> 282<col width="150px" class="name"> 283<col class="description"> 284</colgroup> 285<tbody> 286<tr> 287<td class="define_keyword">#define</td> 288<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-ERROR:CAPS" title="GST_GL_CONTEXT_ERROR">GST_GL_CONTEXT_ERROR</a></td> 289</tr> 290<tr> 291<td class="define_keyword">#define</td> 292<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-TYPE-CGL:CAPS" title="GST_GL_CONTEXT_TYPE_CGL">GST_GL_CONTEXT_TYPE_CGL</a></td> 293</tr> 294<tr> 295<td class="define_keyword">#define</td> 296<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-TYPE-EAGL:CAPS" title="GST_GL_CONTEXT_TYPE_EAGL">GST_GL_CONTEXT_TYPE_EAGL</a></td> 297</tr> 298<tr> 299<td class="define_keyword">#define</td> 300<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-TYPE-EGL:CAPS" title="GST_GL_CONTEXT_TYPE_EGL">GST_GL_CONTEXT_TYPE_EGL</a></td> 301</tr> 302<tr> 303<td class="define_keyword">#define</td> 304<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-TYPE-GLX:CAPS" title="GST_GL_CONTEXT_TYPE_GLX">GST_GL_CONTEXT_TYPE_GLX</a></td> 305</tr> 306<tr> 307<td class="define_keyword">#define</td> 308<td class="function_name"><a class="link" href="GstGLContext.html#GST-GL-CONTEXT-TYPE-WGL:CAPS" title="GST_GL_CONTEXT_TYPE_WGL">GST_GL_CONTEXT_TYPE_WGL</a></td> 309</tr> 310<tr> 311<td class="datatype_keyword">enum</td> 312<td class="function_name"><a class="link" href="GstGLContext.html#GstGLContextError" title="enum GstGLContextError">GstGLContextError</a></td> 313</tr> 314<tr> 315<td class="datatype_keyword"> </td> 316<td class="function_name"><a class="link" href="GstGLContext.html#GstGLContext-struct" title="GstGLContext">GstGLContext</a></td> 317</tr> 318</tbody> 319</table></div> 320</div> 321<div class="refsect1"> 322<a name="GstGLContext.object-hierarchy"></a><h2>Object Hierarchy</h2> 323<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a> 324 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> 325 <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a> 326 <span class="lineart">╰──</span> GstGLContext 327</pre> 328</div> 329<div class="refsect1"> 330<a name="GstGLContext.includes"></a><h2>Includes</h2> 331<pre class="synopsis">#include <gst/gl/gl.h> 332</pre> 333</div> 334<div class="refsect1"> 335<a name="GstGLContext.description"></a><h2>Description</h2> 336<p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> wraps an OpenGL context object in a uniform API. As a result 337of the limitation on OpenGL context, this object is not thread safe unless 338specified and must only be activated in a single thread.</p> 339</div> 340<div class="refsect1"> 341<a name="GstGLContext.functions_details"></a><h2>Functions</h2> 342<div class="refsect2"> 343<a name="GstGLContextThreadFunc"></a><h3>GstGLContextThreadFunc ()</h3> 344<pre class="programlisting"><span class="returnvalue">void</span> 345<span class="c_punctuation">(</span>*GstGLContextThreadFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 346 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre> 347<p>Represents a function to run in the GL thread with <em class="parameter"><code>context</code></em> 348 and <em class="parameter"><code>data</code></em> 349</p> 350<div class="refsect3"> 351<a name="GstGLContextThreadFunc.parameters"></a><h4>Parameters</h4> 352<div class="informaltable"><table class="informaltable" width="100%" border="0"> 353<colgroup> 354<col width="150px" class="parameters_name"> 355<col class="parameters_description"> 356<col width="200px" class="parameters_annotations"> 357</colgroup> 358<tbody> 359<tr> 360<td class="parameter_name"><p>context</p></td> 361<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 362<td class="parameter_annotations"> </td> 363</tr> 364<tr> 365<td class="parameter_name"><p>data</p></td> 366<td class="parameter_description"><p>user data</p></td> 367<td class="parameter_annotations"> </td> 368</tr> 369</tbody> 370</table></div> 371</div> 372</div> 373<hr> 374<div class="refsect2"> 375<a name="gst-gl-context-new"></a><h3>gst_gl_context_new ()</h3> 376<pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 377gst_gl_context_new (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre> 378<p>Create a new <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> with the specified <em class="parameter"><code>display</code></em> 379</p> 380<div class="refsect3"> 381<a name="gst-gl-context-new.parameters"></a><h4>Parameters</h4> 382<div class="informaltable"><table class="informaltable" width="100%" border="0"> 383<colgroup> 384<col width="150px" class="parameters_name"> 385<col class="parameters_description"> 386<col width="200px" class="parameters_annotations"> 387</colgroup> 388<tbody><tr> 389<td class="parameter_name"><p>display</p></td> 390<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td> 391<td class="parameter_annotations"> </td> 392</tr></tbody> 393</table></div> 394</div> 395<div class="refsect3"> 396<a name="gst-gl-context-new.returns"></a><h4>Returns</h4> 397<p> a new <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p> 398</div> 399<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 400</div> 401<hr> 402<div class="refsect2"> 403<a name="gst-gl-context-new-wrapped"></a><h3>gst_gl_context_new_wrapped ()</h3> 404<pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 405gst_gl_context_new_wrapped (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>, 406 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guintptr"><span class="type">guintptr</span></a> handle</code></em>, 407 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> context_type</code></em>, 408 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> available_apis</code></em>);</pre> 409<p>Wraps an existing OpenGL context into a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>.</p> 410<p>Note: The caller is responsible for ensuring that the OpenGL context 411represented by <em class="parameter"><code>handle</code></em> 412 stays alive while the returned <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> is 413active.</p> 414<div class="refsect3"> 415<a name="gst-gl-context-new-wrapped.parameters"></a><h4>Parameters</h4> 416<div class="informaltable"><table class="informaltable" width="100%" border="0"> 417<colgroup> 418<col width="150px" class="parameters_name"> 419<col class="parameters_description"> 420<col width="200px" class="parameters_annotations"> 421</colgroup> 422<tbody> 423<tr> 424<td class="parameter_name"><p>display</p></td> 425<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td> 426<td class="parameter_annotations"> </td> 427</tr> 428<tr> 429<td class="parameter_name"><p>handle</p></td> 430<td class="parameter_description"><p>the OpenGL context to wrap</p></td> 431<td class="parameter_annotations"> </td> 432</tr> 433<tr> 434<td class="parameter_name"><p>context_type</p></td> 435<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> specifying the type of context in <em class="parameter"><code>handle</code></em> 436</p></td> 437<td class="parameter_annotations"> </td> 438</tr> 439<tr> 440<td class="parameter_name"><p>available_apis</p></td> 441<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> containing the available OpenGL apis in <em class="parameter"><code>handle</code></em> 442</p></td> 443<td class="parameter_annotations"> </td> 444</tr> 445</tbody> 446</table></div> 447</div> 448<div class="refsect3"> 449<a name="gst-gl-context-new-wrapped.returns"></a><h4>Returns</h4> 450<p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> wrapping <em class="parameter"><code>handle</code></em> 451. </p> 452<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 453</div> 454<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 455</div> 456<hr> 457<div class="refsect2"> 458<a name="gst-gl-context-create"></a><h3>gst_gl_context_create ()</h3> 459<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 460gst_gl_context_create (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 461 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *other_context</code></em>, 462 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre> 463<p>Creates an OpenGL context with the specified <em class="parameter"><code>other_context</code></em> 464 as a context 465to share shareable OpenGL objects with. See the OpenGL specification for 466what is shared between OpenGL contexts.</p> 467<p>If an error occurs, and <em class="parameter"><code>error</code></em> 468 is not <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then error will contain details 469of the error and <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned.</p> 470<p>Should only be called once.</p> 471<div class="refsect3"> 472<a name="gst-gl-context-create.parameters"></a><h4>Parameters</h4> 473<div class="informaltable"><table class="informaltable" width="100%" border="0"> 474<colgroup> 475<col width="150px" class="parameters_name"> 476<col class="parameters_description"> 477<col width="200px" class="parameters_annotations"> 478</colgroup> 479<tbody> 480<tr> 481<td class="parameter_name"><p>context</p></td> 482<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 483<td class="parameter_annotations"> </td> 484</tr> 485<tr> 486<td class="parameter_name"><p>other_context</p></td> 487<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to share OpenGL objects with. </p></td> 488<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> 489</tr> 490<tr> 491<td class="parameter_name"><p>error</p></td> 492<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>. </p></td> 493<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> 494</tr> 495</tbody> 496</table></div> 497</div> 498<div class="refsect3"> 499<a name="gst-gl-context-create.returns"></a><h4>Returns</h4> 500<p> whether the context could successfully be created</p> 501</div> 502<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 503</div> 504<hr> 505<div class="refsect2"> 506<a name="gst-gl-context-destroy"></a><h3>gst_gl_context_destroy ()</h3> 507<pre class="programlisting"><span class="returnvalue">void</span> 508gst_gl_context_destroy (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 509<p>Destroys an OpenGL context.</p> 510<p>Should only be called after <a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()"><code class="function">gst_gl_context_create()</code></a> has been successfully 511called for this context.</p> 512<div class="refsect3"> 513<a name="gst-gl-context-destroy.parameters"></a><h4>Parameters</h4> 514<div class="informaltable"><table class="informaltable" width="100%" border="0"> 515<colgroup> 516<col width="150px" class="parameters_name"> 517<col class="parameters_description"> 518<col width="200px" class="parameters_annotations"> 519</colgroup> 520<tbody><tr> 521<td class="parameter_name"><p>context</p></td> 522<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 523<td class="parameter_annotations"> </td> 524</tr></tbody> 525</table></div> 526</div> 527<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 528</div> 529<hr> 530<div class="refsect2"> 531<a name="gst-gl-context-activate"></a><h3>gst_gl_context_activate ()</h3> 532<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 533gst_gl_context_activate (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 534 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> activate</code></em>);</pre> 535<p>(De)activate the OpenGL context represented by this <em class="parameter"><code>context</code></em> 536.</p> 537<p>In OpenGL terms, calls eglMakeCurrent or similar with this context and the 538currently set window. See <a class="link" href="GstGLContext.html#gst-gl-context-set-window" title="gst_gl_context_set_window ()"><code class="function">gst_gl_context_set_window()</code></a> for details.</p> 539<div class="refsect3"> 540<a name="gst-gl-context-activate.parameters"></a><h4>Parameters</h4> 541<div class="informaltable"><table class="informaltable" width="100%" border="0"> 542<colgroup> 543<col width="150px" class="parameters_name"> 544<col class="parameters_description"> 545<col width="200px" class="parameters_annotations"> 546</colgroup> 547<tbody> 548<tr> 549<td class="parameter_name"><p>context</p></td> 550<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 551<td class="parameter_annotations"> </td> 552</tr> 553<tr> 554<td class="parameter_name"><p>activate</p></td> 555<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to activate, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to deactivate</p></td> 556<td class="parameter_annotations"> </td> 557</tr> 558</tbody> 559</table></div> 560</div> 561<div class="refsect3"> 562<a name="gst-gl-context-activate.returns"></a><h4>Returns</h4> 563<p> Whether the activation succeeded</p> 564</div> 565<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 566</div> 567<hr> 568<div class="refsect2"> 569<a name="gst-gl-context-swap-buffers"></a><h3>gst_gl_context_swap_buffers ()</h3> 570<pre class="programlisting"><span class="returnvalue">void</span> 571gst_gl_context_swap_buffers (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 572<p>Swap the front and back buffers on the window attached to <em class="parameter"><code>context</code></em> 573. 574This will display the frame on the next refresh cycle.</p> 575<div class="refsect3"> 576<a name="gst-gl-context-swap-buffers.parameters"></a><h4>Parameters</h4> 577<div class="informaltable"><table class="informaltable" width="100%" border="0"> 578<colgroup> 579<col width="150px" class="parameters_name"> 580<col class="parameters_description"> 581<col width="200px" class="parameters_annotations"> 582</colgroup> 583<tbody><tr> 584<td class="parameter_name"><p>context</p></td> 585<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 586<td class="parameter_annotations"> </td> 587</tr></tbody> 588</table></div> 589</div> 590</div> 591<hr> 592<div class="refsect2"> 593<a name="gst-gl-context-default-get-proc-address"></a><h3>gst_gl_context_default_get_proc_address ()</h3> 594<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 595gst_gl_context_default_get_proc_address 596 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> gl_api</code></em>, 597 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> 598<p>A default implementation of the various GetProcAddress functions that looks 599for <em class="parameter"><code>name</code></em> 600 in the OpenGL shared libraries or in the current process.</p> 601<p>See also: <a class="link" href="GstGLContext.html#gst-gl-context-get-proc-address" title="gst_gl_context_get_proc_address ()"><code class="function">gst_gl_context_get_proc_address()</code></a></p> 602<div class="refsect3"> 603<a name="gst-gl-context-default-get-proc-address.parameters"></a><h4>Parameters</h4> 604<div class="informaltable"><table class="informaltable" width="100%" border="0"> 605<colgroup> 606<col width="150px" class="parameters_name"> 607<col class="parameters_description"> 608<col width="200px" class="parameters_annotations"> 609</colgroup> 610<tbody> 611<tr> 612<td class="parameter_name"><p>gl_api</p></td> 613<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a></p></td> 614<td class="parameter_annotations"> </td> 615</tr> 616<tr> 617<td class="parameter_name"><p>name</p></td> 618<td class="parameter_description"><p>then function to get the address of</p></td> 619<td class="parameter_annotations"> </td> 620</tr> 621</tbody> 622</table></div> 623</div> 624<div class="refsect3"> 625<a name="gst-gl-context-default-get-proc-address.returns"></a><h4>Returns</h4> 626<p> an address pointing to <em class="parameter"><code>name</code></em> 627or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p> 628</div> 629<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 630</div> 631<hr> 632<div class="refsect2"> 633<a name="gst-gl-context-get-proc-address"></a><h3>gst_gl_context_get_proc_address ()</h3> 634<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 635gst_gl_context_get_proc_address (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 636 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> 637<p>Get a function pointer to a specified opengl function, <em class="parameter"><code>name</code></em> 638. If the the 639specific function does not exist, NULL is returned instead.</p> 640<p>Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also 641be retrieved using this method.</p> 642<p>Note: This function may return valid function pointers that may not be valid 643to call in <em class="parameter"><code>context</code></em> 644. The caller is responsible for ensuring that the 645returned function is a valid function to call in <em class="parameter"><code>context</code></em> 646 by either checking 647the OpenGL API and version or for an appropriate OpenGL extension.</p> 648<p>Note: On success, you need to cast the returned function pointer to the 649correct type to be able to call it correctly. On 32-bit Windows, this will 650include the <code class="literal">GSTGLAPI</code> identifier to use the correct calling convention. 651e.g.</p> 652<div class="informalexample"> 653 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> 654 <tbody> 655 <tr> 656 <td class="listing_lines" align="right"><pre>1</pre></td> 657 <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">void</span> <span class="gtkdoc opt">(</span>GSTGLAPI <span class="gtkdoc opt">*</span>PFN_glGetIntegerv<span class="gtkdoc opt">) (</span>GLenum name<span class="gtkdoc opt">,</span> GLint <span class="gtkdoc opt">*</span> ret<span class="gtkdoc opt">)</span></pre></td> 658 </tr> 659 </tbody> 660 </table> 661</div> 662 663<p></p> 664<div class="refsect3"> 665<a name="gst-gl-context-get-proc-address.parameters"></a><h4>Parameters</h4> 666<div class="informaltable"><table class="informaltable" width="100%" border="0"> 667<colgroup> 668<col width="150px" class="parameters_name"> 669<col class="parameters_description"> 670<col width="200px" class="parameters_annotations"> 671</colgroup> 672<tbody> 673<tr> 674<td class="parameter_name"><p>context</p></td> 675<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 676<td class="parameter_annotations"> </td> 677</tr> 678<tr> 679<td class="parameter_name"><p>name</p></td> 680<td class="parameter_description"><p>an opengl function name</p></td> 681<td class="parameter_annotations"> </td> 682</tr> 683</tbody> 684</table></div> 685</div> 686<div class="refsect3"> 687<a name="gst-gl-context-get-proc-address.returns"></a><h4>Returns</h4> 688<p> a function pointer or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p> 689</div> 690<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 691</div> 692<hr> 693<div class="refsect2"> 694<a name="gst-gl-context-get-proc-address-with-platform"></a><h3>gst_gl_context_get_proc_address_with_platform ()</h3> 695<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a> 696gst_gl_context_get_proc_address_with_platform 697 (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> context_type</code></em>, 698 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> gl_api</code></em>, 699 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre> 700<p>Attempts to use the <em class="parameter"><code>context_type</code></em> 701 specific GetProcAddress implementations 702to retreive <em class="parameter"><code>name</code></em> 703.</p> 704<p>See also <a class="link" href="GstGLContext.html#gst-gl-context-get-proc-address" title="gst_gl_context_get_proc_address ()"><code class="function">gst_gl_context_get_proc_address()</code></a>.</p> 705<div class="refsect3"> 706<a name="gst-gl-context-get-proc-address-with-platform.parameters"></a><h4>Parameters</h4> 707<div class="informaltable"><table class="informaltable" width="100%" border="0"> 708<colgroup> 709<col width="150px" class="parameters_name"> 710<col class="parameters_description"> 711<col width="200px" class="parameters_annotations"> 712</colgroup> 713<tbody> 714<tr> 715<td class="parameter_name"><p>context_type</p></td> 716<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a></p></td> 717<td class="parameter_annotations"> </td> 718</tr> 719<tr> 720<td class="parameter_name"><p>gl_api</p></td> 721<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a></p></td> 722<td class="parameter_annotations"> </td> 723</tr> 724<tr> 725<td class="parameter_name"><p>name</p></td> 726<td class="parameter_description"><p>the name of the function to retrieve</p></td> 727<td class="parameter_annotations"> </td> 728</tr> 729</tbody> 730</table></div> 731</div> 732<div class="refsect3"> 733<a name="gst-gl-context-get-proc-address-with-platform.returns"></a><h4>Returns</h4> 734<p> a function pointer for <em class="parameter"><code>name</code></em> 735, or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p> 736</div> 737<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 738</div> 739<hr> 740<div class="refsect2"> 741<a name="gst-gl-context-get-window"></a><h3>gst_gl_context_get_window ()</h3> 742<pre class="programlisting"><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="returnvalue">GstGLWindow</span></a> * 743gst_gl_context_get_window (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 744<div class="refsect3"> 745<a name="gst-gl-context-get-window.parameters"></a><h4>Parameters</h4> 746<div class="informaltable"><table class="informaltable" width="100%" border="0"> 747<colgroup> 748<col width="150px" class="parameters_name"> 749<col class="parameters_description"> 750<col width="200px" class="parameters_annotations"> 751</colgroup> 752<tbody><tr> 753<td class="parameter_name"><p>context</p></td> 754<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 755<td class="parameter_annotations"> </td> 756</tr></tbody> 757</table></div> 758</div> 759<div class="refsect3"> 760<a name="gst-gl-context-get-window.returns"></a><h4>Returns</h4> 761<p>the currently set window. </p> 762<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p> 763</div> 764<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 765</div> 766<hr> 767<div class="refsect2"> 768<a name="gst-gl-context-set-window"></a><h3>gst_gl_context_set_window ()</h3> 769<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 770gst_gl_context_set_window (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 771 <em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre> 772<p>Set's the current window on <em class="parameter"><code>context</code></em> 773 to <em class="parameter"><code>window</code></em> 774. The window can only be 775changed before <a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()"><code class="function">gst_gl_context_create()</code></a> has been called and the <em class="parameter"><code>window</code></em> 776 is not 777already running.</p> 778<div class="refsect3"> 779<a name="gst-gl-context-set-window.parameters"></a><h4>Parameters</h4> 780<div class="informaltable"><table class="informaltable" width="100%" border="0"> 781<colgroup> 782<col width="150px" class="parameters_name"> 783<col class="parameters_description"> 784<col width="200px" class="parameters_annotations"> 785</colgroup> 786<tbody> 787<tr> 788<td class="parameter_name"><p>context</p></td> 789<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 790<td class="parameter_annotations"> </td> 791</tr> 792<tr> 793<td class="parameter_name"><p>window</p></td> 794<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a>. </p></td> 795<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td> 796</tr> 797</tbody> 798</table></div> 799</div> 800<div class="refsect3"> 801<a name="gst-gl-context-set-window.returns"></a><h4>Returns</h4> 802<p> Whether the window was successfully updated</p> 803</div> 804<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 805</div> 806<hr> 807<div class="refsect2"> 808<a name="gst-gl-context-thread-add"></a><h3>gst_gl_context_thread_add ()</h3> 809<pre class="programlisting"><span class="returnvalue">void</span> 810gst_gl_context_thread_add (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 811 <em class="parameter"><code><a class="link" href="GstGLContext.html#GstGLContextThreadFunc" title="GstGLContextThreadFunc ()"><span class="type">GstGLContextThreadFunc</span></a> func</code></em>, 812 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data</code></em>);</pre> 813<p>Execute <em class="parameter"><code>func</code></em> 814 in the OpenGL thread of <em class="parameter"><code>context</code></em> 815 with <em class="parameter"><code>data</code></em> 816</p> 817<p>MT-safe</p> 818<div class="refsect3"> 819<a name="gst-gl-context-thread-add.parameters"></a><h4>Parameters</h4> 820<div class="informaltable"><table class="informaltable" width="100%" border="0"> 821<colgroup> 822<col width="150px" class="parameters_name"> 823<col class="parameters_description"> 824<col width="200px" class="parameters_annotations"> 825</colgroup> 826<tbody> 827<tr> 828<td class="parameter_name"><p>context</p></td> 829<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 830<td class="parameter_annotations"> </td> 831</tr> 832<tr> 833<td class="parameter_name"><p>func</p></td> 834<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html#GstGLContextThreadFunc" title="GstGLContextThreadFunc ()"><span class="type">GstGLContextThreadFunc</span></a>. </p></td> 835<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td> 836</tr> 837<tr> 838<td class="parameter_name"><p>data</p></td> 839<td class="parameter_description"><p>user data to call <em class="parameter"><code>func</code></em> 840with. </p></td> 841<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td> 842</tr> 843</tbody> 844</table></div> 845</div> 846<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 847</div> 848<hr> 849<div class="refsect2"> 850<a name="gst-gl-context-get-display"></a><h3>gst_gl_context_get_display ()</h3> 851<pre class="programlisting"><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="returnvalue">GstGLDisplay</span></a> * 852gst_gl_context_get_display (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 853<div class="refsect3"> 854<a name="gst-gl-context-get-display.parameters"></a><h4>Parameters</h4> 855<div class="informaltable"><table class="informaltable" width="100%" border="0"> 856<colgroup> 857<col width="150px" class="parameters_name"> 858<col class="parameters_description"> 859<col width="200px" class="parameters_annotations"> 860</colgroup> 861<tbody><tr> 862<td class="parameter_name"><p>context</p></td> 863<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 864<td class="parameter_annotations"> </td> 865</tr></tbody> 866</table></div> 867</div> 868<div class="refsect3"> 869<a name="gst-gl-context-get-display.returns"></a><h4>Returns</h4> 870<p>the <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> associated with this <em class="parameter"><code>context</code></em> 871. </p> 872<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 873</div> 874<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 875</div> 876<hr> 877<div class="refsect2"> 878<a name="gst-gl-context-get-gl-api"></a><h3>gst_gl_context_get_gl_api ()</h3> 879<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a> 880gst_gl_context_get_gl_api (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 881<p>Get the currently enabled OpenGL api.</p> 882<p>The currently available API may be limited by the <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> in use and/or 883the <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> chosen.</p> 884<div class="refsect3"> 885<a name="gst-gl-context-get-gl-api.parameters"></a><h4>Parameters</h4> 886<div class="informaltable"><table class="informaltable" width="100%" border="0"> 887<colgroup> 888<col width="150px" class="parameters_name"> 889<col class="parameters_description"> 890<col width="200px" class="parameters_annotations"> 891</colgroup> 892<tbody><tr> 893<td class="parameter_name"><p>context</p></td> 894<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 895<td class="parameter_annotations"> </td> 896</tr></tbody> 897</table></div> 898</div> 899<div class="refsect3"> 900<a name="gst-gl-context-get-gl-api.returns"></a><h4>Returns</h4> 901<p> the available OpenGL api</p> 902</div> 903<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 904</div> 905<hr> 906<div class="refsect2"> 907<a name="gst-gl-context-get-gl-context"></a><h3>gst_gl_context_get_gl_context ()</h3> 908<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a> 909gst_gl_context_get_gl_context (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 910<p>Gets the backing OpenGL context used by <em class="parameter"><code>context</code></em> 911.</p> 912<div class="refsect3"> 913<a name="gst-gl-context-get-gl-context.parameters"></a><h4>Parameters</h4> 914<div class="informaltable"><table class="informaltable" width="100%" border="0"> 915<colgroup> 916<col width="150px" class="parameters_name"> 917<col class="parameters_description"> 918<col width="200px" class="parameters_annotations"> 919</colgroup> 920<tbody><tr> 921<td class="parameter_name"><p>context</p></td> 922<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 923<td class="parameter_annotations"> </td> 924</tr></tbody> 925</table></div> 926</div> 927<div class="refsect3"> 928<a name="gst-gl-context-get-gl-context.returns"></a><h4>Returns</h4> 929<p> The platform specific backing OpenGL context</p> 930</div> 931<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 932</div> 933<hr> 934<div class="refsect2"> 935<a name="gst-gl-context-get-gl-platform"></a><h3>gst_gl_context_get_gl_platform ()</h3> 936<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="returnvalue">GstGLPlatform</span></a> 937gst_gl_context_get_gl_platform (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 938<p>Gets the OpenGL platform that used by <em class="parameter"><code>context</code></em> 939.</p> 940<div class="refsect3"> 941<a name="gst-gl-context-get-gl-platform.parameters"></a><h4>Parameters</h4> 942<div class="informaltable"><table class="informaltable" width="100%" border="0"> 943<colgroup> 944<col width="150px" class="parameters_name"> 945<col class="parameters_description"> 946<col width="200px" class="parameters_annotations"> 947</colgroup> 948<tbody><tr> 949<td class="parameter_name"><p>context</p></td> 950<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 951<td class="parameter_annotations"> </td> 952</tr></tbody> 953</table></div> 954</div> 955<div class="refsect3"> 956<a name="gst-gl-context-get-gl-platform.returns"></a><h4>Returns</h4> 957<p> The platform specific backing OpenGL context</p> 958</div> 959<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 960</div> 961<hr> 962<div class="refsect2"> 963<a name="gst-gl-context-get-gl-platform-version"></a><h3>gst_gl_context_get_gl_platform_version ()</h3> 964<pre class="programlisting"><span class="returnvalue">void</span> 965gst_gl_context_get_gl_platform_version 966 (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 967 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *major</code></em>, 968 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *minor</code></em>);</pre> 969<p>Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid 970after a call to <a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()"><code class="function">gst_gl_context_create()</code></a>.</p> 971<div class="refsect3"> 972<a name="gst-gl-context-get-gl-platform-version.parameters"></a><h4>Parameters</h4> 973<div class="informaltable"><table class="informaltable" width="100%" border="0"> 974<colgroup> 975<col width="150px" class="parameters_name"> 976<col class="parameters_description"> 977<col width="200px" class="parameters_annotations"> 978</colgroup> 979<tbody> 980<tr> 981<td class="parameter_name"><p>context</p></td> 982<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 983<td class="parameter_annotations"> </td> 984</tr> 985<tr> 986<td class="parameter_name"><p>major</p></td> 987<td class="parameter_description"><p>return for the major version. </p></td> 988<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> 989</tr> 990<tr> 991<td class="parameter_name"><p>minor</p></td> 992<td class="parameter_description"><p>return for the minor version. </p></td> 993<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> 994</tr> 995</tbody> 996</table></div> 997</div> 998</div> 999<hr> 1000<div class="refsect2"> 1001<a name="gst-gl-context-get-current-gl-context"></a><h3>gst_gl_context_get_current_gl_context ()</h3> 1002<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a> 1003gst_gl_context_get_current_gl_context (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> context_type</code></em>);</pre> 1004<div class="refsect3"> 1005<a name="gst-gl-context-get-current-gl-context.parameters"></a><h4>Parameters</h4> 1006<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1007<colgroup> 1008<col width="150px" class="parameters_name"> 1009<col class="parameters_description"> 1010<col width="200px" class="parameters_annotations"> 1011</colgroup> 1012<tbody><tr> 1013<td class="parameter_name"><p>context_type</p></td> 1014<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> specifying the type of context to retrieve</p></td> 1015<td class="parameter_annotations"> </td> 1016</tr></tbody> 1017</table></div> 1018</div> 1019<div class="refsect3"> 1020<a name="gst-gl-context-get-current-gl-context.returns"></a><h4>Returns</h4> 1021<p> The OpenGL context handle current in the calling thread or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p> 1022</div> 1023<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1024</div> 1025<hr> 1026<div class="refsect2"> 1027<a name="gst-gl-context-get-current-gl-api"></a><h3>gst_gl_context_get_current_gl_api ()</h3> 1028<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a> 1029gst_gl_context_get_current_gl_api (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> platform</code></em>, 1030 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *major</code></em>, 1031 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *minor</code></em>);</pre> 1032<p>If an error occurs, <em class="parameter"><code>major</code></em> 1033 and <em class="parameter"><code>minor</code></em> 1034 are not modified and <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS"><code class="literal">GST_GL_API_NONE</code></a> is 1035returned.</p> 1036<div class="refsect3"> 1037<a name="gst-gl-context-get-current-gl-api.parameters"></a><h4>Parameters</h4> 1038<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1039<colgroup> 1040<col width="150px" class="parameters_name"> 1041<col class="parameters_description"> 1042<col width="200px" class="parameters_annotations"> 1043</colgroup> 1044<tbody> 1045<tr> 1046<td class="parameter_name"><p>platform</p></td> 1047<td class="parameter_description"><p>the <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> to retrieve the API for</p></td> 1048<td class="parameter_annotations"> </td> 1049</tr> 1050<tr> 1051<td class="parameter_name"><p>major</p></td> 1052<td class="parameter_description"><p>the major version. </p></td> 1053<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 1054</tr> 1055<tr> 1056<td class="parameter_name"><p>minor</p></td> 1057<td class="parameter_description"><p>the minor version. </p></td> 1058<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td> 1059</tr> 1060</tbody> 1061</table></div> 1062</div> 1063<div class="refsect3"> 1064<a name="gst-gl-context-get-current-gl-api.returns"></a><h4>Returns</h4> 1065<p> The version supported by the OpenGL context current in the calling 1066thread or <a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS"><code class="literal">GST_GL_API_NONE</code></a></p> 1067</div> 1068<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1069</div> 1070<hr> 1071<div class="refsect2"> 1072<a name="gst-gl-context-get-thread"></a><h3>gst_gl_context_get_thread ()</h3> 1073<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Threads.html#GThread"><span class="returnvalue">GThread</span></a> * 1074gst_gl_context_get_thread (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 1075<div class="refsect3"> 1076<a name="gst-gl-context-get-thread.parameters"></a><h4>Parameters</h4> 1077<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1078<colgroup> 1079<col width="150px" class="parameters_name"> 1080<col class="parameters_description"> 1081<col width="200px" class="parameters_annotations"> 1082</colgroup> 1083<tbody><tr> 1084<td class="parameter_name"><p>context</p></td> 1085<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1086<td class="parameter_annotations"> </td> 1087</tr></tbody> 1088</table></div> 1089</div> 1090<div class="refsect3"> 1091<a name="gst-gl-context-get-thread.returns"></a><h4>Returns</h4> 1092<p>The <a href="/usr/share/gtk-doc/html/glib/glib-Threads.html#GThread"><span class="type">GThread</span></a>, <em class="parameter"><code>context</code></em> 1093is current in or NULL. </p> 1094<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p> 1095</div> 1096<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1097</div> 1098<hr> 1099<div class="refsect2"> 1100<a name="gst-gl-context-can-share"></a><h3>gst_gl_context_can_share ()</h3> 1101<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1102gst_gl_context_can_share (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1103 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *other_context</code></em>);</pre> 1104<p>Note: This will always fail for two wrapped <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s</p> 1105<div class="refsect3"> 1106<a name="gst-gl-context-can-share.parameters"></a><h4>Parameters</h4> 1107<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1108<colgroup> 1109<col width="150px" class="parameters_name"> 1110<col class="parameters_description"> 1111<col width="200px" class="parameters_annotations"> 1112</colgroup> 1113<tbody> 1114<tr> 1115<td class="parameter_name"><p>context</p></td> 1116<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1117<td class="parameter_annotations"> </td> 1118</tr> 1119<tr> 1120<td class="parameter_name"><p>other_context</p></td> 1121<td class="parameter_description"><p>another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1122<td class="parameter_annotations"> </td> 1123</tr> 1124</tbody> 1125</table></div> 1126</div> 1127<div class="refsect3"> 1128<a name="gst-gl-context-can-share.returns"></a><h4>Returns</h4> 1129<p> whether <em class="parameter"><code>context</code></em> 1130and <em class="parameter"><code>other_context</code></em> 1131are able to share OpenGL 1132resources.</p> 1133</div> 1134<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1135</div> 1136<hr> 1137<div class="refsect2"> 1138<a name="gst-gl-context-is-shared"></a><h3>gst_gl_context_is_shared ()</h3> 1139<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1140gst_gl_context_is_shared (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre> 1141<div class="refsect3"> 1142<a name="gst-gl-context-is-shared.parameters"></a><h4>Parameters</h4> 1143<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1144<colgroup> 1145<col width="150px" class="parameters_name"> 1146<col class="parameters_description"> 1147<col width="200px" class="parameters_annotations"> 1148</colgroup> 1149<tbody><tr> 1150<td class="parameter_name"><p>context</p></td> 1151<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1152<td class="parameter_annotations"> </td> 1153</tr></tbody> 1154</table></div> 1155</div> 1156<div class="refsect3"> 1157<a name="gst-gl-context-is-shared.returns"></a><h4>Returns</h4> 1158<p> Whether the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> has been shared with another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p> 1159</div> 1160<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1161</div> 1162<hr> 1163<div class="refsect2"> 1164<a name="gst-gl-context-set-shared-with"></a><h3>gst_gl_context_set_shared_with ()</h3> 1165<pre class="programlisting"><span class="returnvalue">void</span> 1166gst_gl_context_set_shared_with (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1167 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *share</code></em>);</pre> 1168<p>Will internally set <em class="parameter"><code>context</code></em> 1169 as shared with <em class="parameter"><code>share</code></em> 1170</p> 1171<div class="refsect3"> 1172<a name="gst-gl-context-set-shared-with.parameters"></a><h4>Parameters</h4> 1173<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1174<colgroup> 1175<col width="150px" class="parameters_name"> 1176<col class="parameters_description"> 1177<col width="200px" class="parameters_annotations"> 1178</colgroup> 1179<tbody> 1180<tr> 1181<td class="parameter_name"><p>context</p></td> 1182<td class="parameter_description"><p>a wrapped <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1183<td class="parameter_annotations"> </td> 1184</tr> 1185<tr> 1186<td class="parameter_name"><p>share</p></td> 1187<td class="parameter_description"><p>another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1188<td class="parameter_annotations"> </td> 1189</tr> 1190</tbody> 1191</table></div> 1192</div> 1193<p class="since">Since: <a class="link" href="ix08.html#api-index-1.8">1.8</a></p> 1194</div> 1195<hr> 1196<div class="refsect2"> 1197<a name="gst-gl-context-check-feature"></a><h3>gst_gl_context_check_feature ()</h3> 1198<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1199gst_gl_context_check_feature (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1200 <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *feature</code></em>);</pre> 1201<p>Check for an OpenGL <em class="parameter"><code>feature</code></em> 1202 being supported.</p> 1203<p>Note: Most features require that the context be created before it is 1204possible to determine their existence and so will fail if that is not the 1205case.</p> 1206<div class="refsect3"> 1207<a name="gst-gl-context-check-feature.parameters"></a><h4>Parameters</h4> 1208<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1209<colgroup> 1210<col width="150px" class="parameters_name"> 1211<col class="parameters_description"> 1212<col width="200px" class="parameters_annotations"> 1213</colgroup> 1214<tbody> 1215<tr> 1216<td class="parameter_name"><p>context</p></td> 1217<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1218<td class="parameter_annotations"> </td> 1219</tr> 1220<tr> 1221<td class="parameter_name"><p>feature</p></td> 1222<td class="parameter_description"><p>a platform specific feature</p></td> 1223<td class="parameter_annotations"> </td> 1224</tr> 1225</tbody> 1226</table></div> 1227</div> 1228<div class="refsect3"> 1229<a name="gst-gl-context-check-feature.returns"></a><h4>Returns</h4> 1230<p> Whether <em class="parameter"><code>feature</code></em> 1231is supported by <em class="parameter"><code>context</code></em> 1232</p> 1233</div> 1234<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 1235</div> 1236<hr> 1237<div class="refsect2"> 1238<a name="gst-gl-context-check-gl-version"></a><h3>gst_gl_context_check_gl_version ()</h3> 1239<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1240gst_gl_context_check_gl_version (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1241 <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> api</code></em>, 1242 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> maj</code></em>, 1243 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> min</code></em>);</pre> 1244<div class="refsect3"> 1245<a name="gst-gl-context-check-gl-version.parameters"></a><h4>Parameters</h4> 1246<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1247<colgroup> 1248<col width="150px" class="parameters_name"> 1249<col class="parameters_description"> 1250<col width="200px" class="parameters_annotations"> 1251</colgroup> 1252<tbody> 1253<tr> 1254<td class="parameter_name"><p>context</p></td> 1255<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1256<td class="parameter_annotations"> </td> 1257</tr> 1258<tr> 1259<td class="parameter_name"><p>api</p></td> 1260<td class="parameter_description"><p>api type required</p></td> 1261<td class="parameter_annotations"> </td> 1262</tr> 1263<tr> 1264<td class="parameter_name"><p>maj</p></td> 1265<td class="parameter_description"><p>major version required</p></td> 1266<td class="parameter_annotations"> </td> 1267</tr> 1268<tr> 1269<td class="parameter_name"><p>min</p></td> 1270<td class="parameter_description"><p>minor version required</p></td> 1271<td class="parameter_annotations"> </td> 1272</tr> 1273</tbody> 1274</table></div> 1275</div> 1276<div class="refsect3"> 1277<a name="gst-gl-context-check-gl-version.returns"></a><h4>Returns</h4> 1278<p> whether OpenGL context implements the required api and specified 1279version.</p> 1280</div> 1281<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 1282</div> 1283<hr> 1284<div class="refsect2"> 1285<a name="gst-gl-context-get-gl-version"></a><h3>gst_gl_context_get_gl_version ()</h3> 1286<pre class="programlisting"><span class="returnvalue">void</span> 1287gst_gl_context_get_gl_version (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1288 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *maj</code></em>, 1289 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *min</code></em>);</pre> 1290<p>Returns the OpenGL version implemented by <em class="parameter"><code>context</code></em> 1291. See 1292<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-api" title="gst_gl_context_get_gl_api ()"><code class="function">gst_gl_context_get_gl_api()</code></a> for retreiving the OpenGL api implemented by 1293<em class="parameter"><code>context</code></em> 1294.</p> 1295<div class="refsect3"> 1296<a name="gst-gl-context-get-gl-version.parameters"></a><h4>Parameters</h4> 1297<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1298<colgroup> 1299<col width="150px" class="parameters_name"> 1300<col class="parameters_description"> 1301<col width="200px" class="parameters_annotations"> 1302</colgroup> 1303<tbody> 1304<tr> 1305<td class="parameter_name"><p>context</p></td> 1306<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td> 1307<td class="parameter_annotations"> </td> 1308</tr> 1309<tr> 1310<td class="parameter_name"><p>maj</p></td> 1311<td class="parameter_description"><p>resulting major version. </p></td> 1312<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> 1313</tr> 1314<tr> 1315<td class="parameter_name"><p>min</p></td> 1316<td class="parameter_description"><p>resulting minor version. </p></td> 1317<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td> 1318</tr> 1319</tbody> 1320</table></div> 1321</div> 1322<p class="since">Since: <a class="link" href="ix11.html#api-index-1.4">1.4</a></p> 1323</div> 1324<hr> 1325<div class="refsect2"> 1326<a name="gst-gl-context-fill-info"></a><h3>gst_gl_context_fill_info ()</h3> 1327<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> 1328gst_gl_context_fill_info (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>, 1329 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre> 1330<p>Fills <em class="parameter"><code>context</code></em> 1331's info (version, extensions, vtable, etc) from the GL 1332context in the current thread. Typically used with wrapped contexts to 1333allow wrapped contexts to be used as regular <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s.</p> 1334<div class="refsect3"> 1335<a name="gst-gl-context-fill-info.parameters"></a><h4>Parameters</h4> 1336<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1337<colgroup> 1338<col width="150px" class="parameters_name"> 1339<col class="parameters_description"> 1340<col width="200px" class="parameters_annotations"> 1341</colgroup> 1342<tbody> 1343<tr> 1344<td class="parameter_name"><p>context</p></td> 1345<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td> 1346<td class="parameter_annotations"> </td> 1347</tr> 1348<tr> 1349<td class="parameter_name"><p>error</p></td> 1350<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> to fill on failure. </p></td> 1351<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> 1352</tr> 1353</tbody> 1354</table></div> 1355</div> 1356<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1357</div> 1358<hr> 1359<div class="refsect2"> 1360<a name="gst-gl-context-get-current"></a><h3>gst_gl_context_get_current ()</h3> 1361<pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> * 1362gst_gl_context_get_current (<em class="parameter"><code><span class="type">void</span></code></em>);</pre> 1363<p>See also <a class="link" href="GstGLContext.html#gst-gl-context-activate" title="gst_gl_context_activate ()"><code class="function">gst_gl_context_activate()</code></a>.</p> 1364<div class="refsect3"> 1365<a name="gst-gl-context-get-current.returns"></a><h4>Returns</h4> 1366<p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> active in the current thread or <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p> 1367<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p> 1368</div> 1369<p class="since">Since: <a class="link" href="ix10.html#api-index-1.6">1.6</a></p> 1370</div> 1371</div> 1372<div class="refsect1"> 1373<a name="GstGLContext.other_details"></a><h2>Types and Values</h2> 1374<div class="refsect2"> 1375<a name="GST-GL-CONTEXT-ERROR:CAPS"></a><h3>GST_GL_CONTEXT_ERROR</h3> 1376<pre class="programlisting">#define GST_GL_CONTEXT_ERROR (gst_gl_context_error_quark ()) 1377</pre> 1378<p>Error domain for GStreamer's GL context module. Errors in this domain will 1379be from the <a class="link" href="GstGLContext.html#GstGLContextError" title="enum GstGLContextError"><span class="type">GstGLContextError</span></a> enumeration</p> 1380</div> 1381<hr> 1382<div class="refsect2"> 1383<a name="GST-GL-CONTEXT-TYPE-CGL:CAPS"></a><h3>GST_GL_CONTEXT_TYPE_CGL</h3> 1384<pre class="programlisting">#define GST_GL_CONTEXT_TYPE_CGL "gst.gl.context.CGL" 1385</pre> 1386</div> 1387<hr> 1388<div class="refsect2"> 1389<a name="GST-GL-CONTEXT-TYPE-EAGL:CAPS"></a><h3>GST_GL_CONTEXT_TYPE_EAGL</h3> 1390<pre class="programlisting">#define GST_GL_CONTEXT_TYPE_EAGL "gst.gl.context.EAGL" 1391</pre> 1392</div> 1393<hr> 1394<div class="refsect2"> 1395<a name="GST-GL-CONTEXT-TYPE-EGL:CAPS"></a><h3>GST_GL_CONTEXT_TYPE_EGL</h3> 1396<pre class="programlisting">#define GST_GL_CONTEXT_TYPE_EGL "gst.gl.context.EGL" 1397</pre> 1398</div> 1399<hr> 1400<div class="refsect2"> 1401<a name="GST-GL-CONTEXT-TYPE-GLX:CAPS"></a><h3>GST_GL_CONTEXT_TYPE_GLX</h3> 1402<pre class="programlisting">#define GST_GL_CONTEXT_TYPE_GLX "gst.gl.context.GLX" 1403</pre> 1404</div> 1405<hr> 1406<div class="refsect2"> 1407<a name="GST-GL-CONTEXT-TYPE-WGL:CAPS"></a><h3>GST_GL_CONTEXT_TYPE_WGL</h3> 1408<pre class="programlisting">#define GST_GL_CONTEXT_TYPE_WGL "gst.gl.context.WGL" 1409</pre> 1410</div> 1411<hr> 1412<div class="refsect2"> 1413<a name="GstGLContextError"></a><h3>enum GstGLContextError</h3> 1414<p>OpenGL context errors.</p> 1415<div class="refsect3"> 1416<a name="GstGLContextError.members"></a><h4>Members</h4> 1417<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1418<colgroup> 1419<col width="300px" class="enum_members_name"> 1420<col class="enum_members_description"> 1421<col width="200px" class="enum_members_annotations"> 1422</colgroup> 1423<tbody> 1424<tr> 1425<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-FAILED:CAPS"></a>GST_GL_CONTEXT_ERROR_FAILED</p></td> 1426<td class="enum_member_description"> 1427<p>Failed for an unspecified reason</p> 1428</td> 1429<td class="enum_member_annotations"> </td> 1430</tr> 1431<tr> 1432<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-WRONG-CONFIG:CAPS"></a>GST_GL_CONTEXT_ERROR_WRONG_CONFIG</p></td> 1433<td class="enum_member_description"> 1434<p>The configuration requested is not correct</p> 1435</td> 1436<td class="enum_member_annotations"> </td> 1437</tr> 1438<tr> 1439<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-WRONG-API:CAPS"></a>GST_GL_CONTEXT_ERROR_WRONG_API</p></td> 1440<td class="enum_member_description"> 1441<p>The OpenGL API requested is not correct</p> 1442</td> 1443<td class="enum_member_annotations"> </td> 1444</tr> 1445<tr> 1446<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-OLD-LIBS:CAPS"></a>GST_GL_CONTEXT_ERROR_OLD_LIBS</p></td> 1447<td class="enum_member_description"> 1448<p>The OpenGL libraries are too old</p> 1449</td> 1450<td class="enum_member_annotations"> </td> 1451</tr> 1452<tr> 1453<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-CREATE-CONTEXT:CAPS"></a>GST_GL_CONTEXT_ERROR_CREATE_CONTEXT</p></td> 1454<td class="enum_member_description"> 1455<p>glXCreateContext (or similar) failed</p> 1456</td> 1457<td class="enum_member_annotations"> </td> 1458</tr> 1459<tr> 1460<td class="enum_member_name"><p><a name="GST-GL-CONTEXT-ERROR-RESOURCE-UNAVAILABLE:CAPS"></a>GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE</p></td> 1461<td class="enum_member_description"> 1462<p>A resource is not available</p> 1463</td> 1464<td class="enum_member_annotations"> </td> 1465</tr> 1466</tbody> 1467</table></div> 1468</div> 1469</div> 1470<hr> 1471<div class="refsect2"> 1472<a name="GstGLContext-struct"></a><h3>GstGLContext</h3> 1473<pre class="programlisting">typedef struct { 1474 GstGLFuncs *gl_vtable; 1475} GstGLContext; 1476</pre> 1477<p>Opaque <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> object</p> 1478<div class="refsect3"> 1479<a name="GstGLContext.members"></a><h4>Members</h4> 1480<div class="informaltable"><table class="informaltable" width="100%" border="0"> 1481<colgroup> 1482<col width="300px" class="struct_members_name"> 1483<col class="struct_members_description"> 1484<col width="200px" class="struct_members_annotations"> 1485</colgroup> 1486<tbody><tr> 1487<td class="struct_member_name"><p><span class="type">GstGLFuncs</span> *<em class="structfield"><code><a name="GstGLContext-struct.gl-vtable"></a>gl_vtable</code></em>;</p></td> 1488<td class="struct_member_description"><p>a list of OpenGL function pointers</p></td> 1489<td class="struct_member_annotations"> </td> 1490</tr></tbody> 1491</table></div> 1492</div> 1493</div> 1494</div> 1495<div class="refsect1"> 1496<a name="GstGLContext.see-also"></a><h2>See Also</h2> 1497<p><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a>, <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p> 1498</div> 1499</div> 1500<div class="footer"> 1501<hr>Generated by GTK-Doc V1.28</div> 1502</body> 1503</html>