<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="CudaGst" version="1.0"/>
  <include name="Gst" version="1.0"/>
  <include name="GstBase" version="1.0"/>
  <include name="GstGL" version="1.0"/>
  <include name="GstVideo" version="1.0"/>
  <package name="gstreamer-cuda-1.0"/>
  <doc:format name="unknown"/>
  <namespace name="GstCuda"
             version="1.0"
             shared-library="libgstcuda-1.0.so.0"
             c:identifier-prefixes="Gst"
             c:symbol-prefixes="gst">
    <constant name="CAPS_FEATURE_MEMORY_CUDA_MEMORY"
              value="memory:CUDAMemory"
              c:type="GST_CAPS_FEATURE_MEMORY_CUDA_MEMORY"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="113">Name of the caps feature for indicating the use of #GstCudaMemory</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="120"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="CUDA_ALLOCATOR"
                    c:identifier="GST_CUDA_ALLOCATOR"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_ALLOCATOR_CAST"
                    c:identifier="GST_CUDA_ALLOCATOR_CAST"
                    version="1.22"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_ALLOCATOR_CLASS"
                    c:identifier="GST_CUDA_ALLOCATOR_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_ALLOCATOR_GET_CLASS"
                    c:identifier="GST_CUDA_ALLOCATOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CUDA_ALLOCATOR_OPT_STREAM_ORDERED"
              value="GstCudaAllocator.stream-ordered"
              c:type="GST_CUDA_ALLOCATOR_OPT_STREAM_ORDERED"
              version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="196">#G_TYPE_BOOLEAN Allows stream ordered allocation. Default is %FALSE</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="203"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="CUDA_BUFFER_POOL"
                    c:identifier="GST_CUDA_BUFFER_POOL"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_BUFFER_POOL_CAST"
                    c:identifier="GST_CUDA_BUFFER_POOL_CAST"
                    version="1.22"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="41"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_BUFFER_POOL_CLASS"
                    c:identifier="GST_CUDA_BUFFER_POOL_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_BUFFER_POOL_GET_CLASS"
                    c:identifier="GST_CUDA_BUFFER_POOL_GET_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_CONTEXT"
                    c:identifier="GST_CUDA_CONTEXT"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_CONTEXT_CAST"
                    c:identifier="GST_CUDA_CONTEXT_CAST"
                    version="1.22"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="40"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_CONTEXT_CLASS"
                    c:identifier="GST_CUDA_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="30"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_CONTEXT_GET_CLASS"
                    c:identifier="GST_CUDA_CONTEXT_GET_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CUDA_CONTEXT_TYPE"
              value="gst.cuda.context"
              c:type="GST_CUDA_CONTEXT_TYPE"
              version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="47"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="CUDA_MEMORY_CAST"
                    c:identifier="GST_CUDA_MEMORY_CAST"
                    version="1.22"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="50"/>
      <parameters>
        <parameter name="mem">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_MEMORY_POOL"
                    c:identifier="GST_CUDA_MEMORY_POOL"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                       line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="CUDA_MEMORY_TYPE_NAME"
              value="gst.cuda.memory"
              c:type="GST_CUDA_MEMORY_TYPE_NAME"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="104">Name of cuda memory type</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="111"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="CUDA_POOL_ALLOCATOR"
                    c:identifier="GST_CUDA_POOL_ALLOCATOR"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="53"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_POOL_ALLOCATOR_CLASS"
                    c:identifier="GST_CUDA_POOL_ALLOCATOR_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="54"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_POOL_ALLOCATOR_GET_CLASS"
                    c:identifier="GST_CUDA_POOL_ALLOCATOR_GET_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="55"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="CUDA_STREAM"
                    c:identifier="GST_CUDA_STREAM"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudastream.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="CudaAllocator"
           c:symbol-prefix="cuda_allocator"
           c:type="GstCudaAllocator"
           version="1.22"
           parent="Gst.Allocator"
           glib:type-name="GstCudaAllocator"
           glib:get-type="gst_cuda_allocator_get_type"
           glib:type-struct="CudaAllocatorClass">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="279">A #GstAllocator subclass for cuda memory</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="311"/>
      <virtual-method name="set_active" invoker="set_active" version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1207">Controls the active state of @allocator. Default #GstCudaAllocator is
stateless and therefore active state is ignored, but subclass implementation
(e.g., #GstCudaPoolAllocator) will require explicit active state control
for its internal resource management.

This method is conceptually identical to gst_buffer_pool_set_active method.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="306"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1219">%TRUE if active state of @allocator was successfully updated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1209">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="active" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1210">the new active state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="alloc"
              c:identifier="gst_cuda_allocator_alloc"
              version="1.22">
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="317"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1142">a newly allocated #GstCudaMemory</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1137">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1138">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1139">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1140">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="alloc_stream_ordered"
              c:identifier="gst_cuda_allocator_alloc_stream_ordered"
              version="1.28">
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="323"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1178">a newly allocated #GstCudaMemory</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1173">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1174">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1175">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1176">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
        </parameters>
      </method>
      <method name="alloc_wrapped"
              c:identifier="gst_cuda_allocator_alloc_wrapped"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1237">Allocates a new memory that wraps the given CUDA device memory.

@info must represent actual memory layout, in other words, offset, stride
and size fields of @info should be matched with memory layout of @dev_ptr

By default, wrapped @dev_ptr will be freed at the time when #GstMemory
is freed if @notify is %NULL. Otherwise, if caller sets @notify,
freeing @dev_ptr is callers responsibility and default #GstCudaAllocator
will not free it.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="333"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1258">a new #GstMemory</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1239">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1240">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1241">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1242">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
          <parameter name="dev_ptr" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1243">a CUdeviceptr CUDA device memory</doc>
            <type name="CudaGst.deviceptr" c:type="CUdeviceptr"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1244">user data</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1245">
  Called with @user_data when the memory is freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active"
              c:identifier="gst_cuda_allocator_set_active"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1207">Controls the active state of @allocator. Default #GstCudaAllocator is
stateless and therefore active state is ignored, but subclass implementation
(e.g., #GstCudaPoolAllocator) will require explicit active state control
for its internal resource management.

This method is conceptually identical to gst_buffer_pool_set_active method.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="329"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1219">%TRUE if active state of @allocator was successfully updated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1209">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="active" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1210">the new active state</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="virtual_alloc"
              c:identifier="gst_cuda_allocator_virtual_alloc"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1339">Allocates new #GstMemory object with CUDA virtual memory.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="342"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1350">a newly allocated memory object or
%NULL if allocation is not supported</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1341">a #GstCudaAllocator</doc>
            <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1342">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1343">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1344">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
          <parameter name="prop" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1345">allocation property</doc>
            <type name="CudaGst.memAllocationProp"
                  c:type="const CUmemAllocationProp*"/>
          </parameter>
          <parameter name="granularity_flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1346">allocation flags</doc>
            <type name="CudaGst.memAllocationGranularity_flags"
                  c:type="CUmemAllocationGranularity_flags"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gst.Allocator" c:type="GstAllocator"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaAllocatorPrivate" c:type="GstCudaAllocatorPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="CudaAllocatorClass"
            c:type="GstCudaAllocatorClass"
            glib:is-gtype-struct-for="CudaAllocator">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="311"/>
      <field name="parent_class">
        <type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
      </field>
      <field name="set_active">
        <callback name="set_active">
          <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                           line="306"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1219">%TRUE if active state of @allocator was successfully updated.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="allocator" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                   line="1209">a #GstCudaAllocator</doc>
              <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
            </parameter>
            <parameter name="active" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                   line="1210">the new active state</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="20">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CudaAllocatorPrivate"
            c:type="GstCudaAllocatorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="64"/>
    </record>
    <class name="CudaBufferPool"
           c:symbol-prefix="cuda_buffer_pool"
           c:type="GstCudaBufferPool"
           version="1.22"
           parent="Gst.BufferPool"
           glib:type-name="GstCudaBufferPool"
           glib:get-type="gst_cuda_buffer_pool_get_type"
           glib:type-struct="CudaBufferPoolClass">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="67"/>
      <constructor name="new"
                   c:identifier="gst_cuda_buffer_pool_new"
                   version="1.22">
        <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="269">A newly created #GstCudaBufferPool</doc>
          <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
                 line="267">The #GstCudaContext to use for the new buffer pool</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Gst.BufferPool" c:type="GstBufferPool"/>
      </field>
      <field name="context">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="priv">
        <type name="CudaBufferPoolPrivate" c:type="GstCudaBufferPoolPrivate*"/>
      </field>
    </class>
    <record name="CudaBufferPoolClass"
            c:type="GstCudaBufferPoolClass"
            glib:is-gtype-struct-for="CudaBufferPool">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="67"/>
      <field name="parent_class">
        <type name="Gst.BufferPoolClass" c:type="GstBufferPoolClass"/>
      </field>
    </record>
    <record name="CudaBufferPoolPrivate"
            c:type="GstCudaBufferPoolPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="45"/>
    </record>
    <class name="CudaContext"
           c:symbol-prefix="cuda_context"
           c:type="GstCudaContext"
           version="1.22"
           parent="Gst.Object"
           glib:type-name="GstCudaContext"
           glib:get-type="gst_cuda_context_get_type"
           glib:type-struct="CudaContextClass">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="69"/>
      <constructor name="new"
                   c:identifier="gst_cuda_context_new"
                   version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="511">Create #GstCudaContext with given device_id</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="75"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="517">a new #GstCudaContext or %NULL on
failure</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </return-value>
        <parameters>
          <parameter name="device_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="513">device-id for creating #GstCudaContext</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_wrapped"
                   c:identifier="gst_cuda_context_new_wrapped"
                   version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="654">Note: The caller is responsible for ensuring that the CUcontext and CUdevice
represented by @handle and @device stay alive while the returned
#GstCudaContext is active.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="78"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="667">A newly created #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </return-value>
        <parameters>
          <parameter name="handler" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="656">A
[CUcontext](https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1gf9f5bd81658f866613785b3a0bb7d7d9)
to wrap</doc>
            <type name="CudaGst.context" c:type="CUcontext"/>
          </parameter>
          <parameter name="device" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="659">A
[CUDevice](https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__TYPES.html#group__CUDA__TYPES_1gf9f5bd81658f866613785b3a0bb7d7d9)
to wrap</doc>
            <type name="CudaGst.device" c:type="CUdevice"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="pop" c:identifier="gst_cuda_context_pop" version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="572">Pops the current CUDA context from CPU thread</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="577">%TRUE if @ctx was pushed without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="cuda_ctx" transfer-ownership="none">
            <type name="CudaGst.context" c:type="CUcontext*"/>
          </parameter>
        </parameters>
      </function>
      <method name="can_access_peer"
              c:identifier="gst_cuda_context_can_access_peer"
              version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="626">Query whether @ctx can access any memory which belongs to @peer directly.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="633">%TRUE if @ctx can access @peer directly</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="ctx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="628">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </instance-parameter>
          <parameter name="peer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="629">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_handle"
              c:identifier="gst_cuda_context_get_handle"
              version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="587">Get CUDA device context. Caller must not modify and/or destroy
returned device context.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="87"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="594">the `CUcontext` of @ctx</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="ctx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="589">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_texture_alignment"
              c:identifier="gst_cuda_context_get_texture_alignment"
              version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="607">Get required texture alignment by device</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="613">the `CUcontext` of @ctx</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ctx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="609">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="push" c:identifier="gst_cuda_context_push" version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="551">Pushes the given @ctx onto the CPU thread's stack of current contexts.
The specified context becomes the CPU thread's current context,
so all CUDA functions that operate on the current context are affected.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudacontext.cpp"
               line="559">%TRUE if @ctx was pushed without error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="ctx" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudacontext.cpp"
                 line="553">a #GstCudaContext to push current thread</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="cuda-device-id"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="0">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="default-gpu-stack-size"
                version="1.26"
                writable="1"
                transfer-ownership="none"
                default-value="1024">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="187">The default stack size for each GPU thread.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="external-resource-interop"
                version="1.26"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="174">External resource interop API support</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="os-handle"
                version="1.24"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="141">OS handle supportability in virtual memory management</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="prefer-stream-ordered-alloc"
                version="1.26"
                writable="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="stream-ordered-alloc"
                version="1.26"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="virtual-memory"
                version="1.24"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudacontext.cpp"
             line="129">Virtual memory management supportability</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="object">
        <type name="Gst.Object" c:type="GstObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaContextPrivate" c:type="GstCudaContextPrivate*"/>
      </field>
    </class>
    <record name="CudaContextClass"
            c:type="GstCudaContextClass"
            glib:is-gtype-struct-for="CudaContext">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="69"/>
      <field name="parent_class">
        <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
      </field>
    </record>
    <record name="CudaContextPrivate"
            c:type="GstCudaContextPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="51"/>
    </record>
    <record name="CudaGraphicsResource"
            c:type="GstCudaGraphicsResource"
            version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="108"/>
      <field name="cuda_context" writable="1">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="graphics_context" writable="1">
        <type name="Gst.Object" c:type="GstObject*"/>
      </field>
      <field name="type" writable="1">
        <type name="CudaGraphicsResourceType"
              c:type="GstCudaGraphicsResourceType"/>
      </field>
      <field name="resource" writable="1">
        <type name="CudaGst.graphicsResource" c:type="CUgraphicsResource"/>
      </field>
      <field name="flags" writable="1">
        <type name="CudaGst.graphicsRegisterFlags"
              c:type="CUgraphicsRegisterFlags"/>
      </field>
      <field name="registered" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="mapped" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <method name="free"
              c:identifier="gst_cuda_graphics_resource_free"
              version="1.22"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="665">Free @resource</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="162"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="667">a #GstCudaGraphicsResource</doc>
            <type name="CudaGraphicsResource"
                  c:type="GstCudaGraphicsResource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="map"
              c:identifier="gst_cuda_graphics_resource_map"
              version="1.22"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="561">Map previously registered resource with map flags</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="153"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="569">the `CUgraphicsResource` if successful or %NULL when failed</doc>
          <type name="CudaGst.graphicsResource" c:type="CUgraphicsResource"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="563">a #GstCudaGraphicsResource</doc>
            <type name="CudaGraphicsResource"
                  c:type="GstCudaGraphicsResource*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="564">a CUstream</doc>
            <type name="CudaGst.stream" c:type="CUstream"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="565">a CUgraphicsMapResourceFlags</doc>
            <type name="CudaGst.graphicsMapResourceFlags"
                  c:type="CUgraphicsMapResourceFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="register_gl_buffer"
              c:identifier="gst_cuda_graphics_resource_register_gl_buffer"
              version="1.22"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="456">@resource a #GstCudaGraphicsResource
Register the @buffer for access by CUDA.
Must be called from the gl context thread with current cuda context was
pushed on the current thread</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="138"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="466">whether @buffer was registered or not</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <type name="CudaGraphicsResource"
                  c:type="GstCudaGraphicsResource*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="459">a GL buffer object</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="460">a `CUgraphicsRegisterFlags`</doc>
            <type name="CudaGst.graphicsRegisterFlags"
                  c:type="CUgraphicsRegisterFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="unmap"
              c:identifier="gst_cuda_graphics_resource_unmap"
              version="1.22"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="597">Unmap previously mapped resource</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="158"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="599">a #GstCudaGraphicsResource</doc>
            <type name="CudaGraphicsResource"
                  c:type="GstCudaGraphicsResource*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="600">a `CUstream`</doc>
            <type name="CudaGst.stream" c:type="CUstream"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister"
              c:identifier="gst_cuda_graphics_resource_unregister"
              version="1.22"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="533">Unregister previously registered resource.
For GL resource, this method must be called from gl context thread.
Also, current cuda context should be pushed on the current thread
before calling this method.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="150"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="535">a #GstCudaGraphicsResource</doc>
            <type name="CudaGraphicsResource"
                  c:type="GstCudaGraphicsResource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="new"
                c:identifier="gst_cuda_graphics_resource_new"
                version="1.22"
                introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="423">Create new #GstCudaGraphicsResource with given @context and @type</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudautils.h"
                         line="133"/>
        <return-value>
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="431">a new #GstCudaGraphicsResource.
Free with gst_cuda_graphics_resource_free</doc>
          <type name="CudaGraphicsResource" c:type="GstCudaGraphicsResource*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="425">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="graphics_context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="426">a graphics API specific context object</doc>
            <type name="Gst.Object" c:type="GstObject*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudautils.cpp"
                 line="427">a #GstCudaGraphicsResourceType of resource registration</doc>
            <type name="CudaGraphicsResourceType"
                  c:type="GstCudaGraphicsResourceType"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="CudaGraphicsResourceType"
                 version="1.22"
                 c:type="GstCudaGraphicsResourceType">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="89"/>
      <member name="none"
              value="0"
              c:identifier="GST_CUDA_GRAPHICS_RESOURCE_NONE">
      </member>
      <member name="gl_buffer"
              value="1"
              c:identifier="GST_CUDA_GRAPHICS_RESOURCE_GL_BUFFER">
      </member>
      <member name="d3d11_resource"
              value="2"
              c:identifier="GST_CUDA_GRAPHICS_RESOURCE_D3D11_RESOURCE">
      </member>
      <member name="egl_resource"
              value="3"
              c:identifier="GST_CUDA_GRAPHICS_RESOURCE_EGL_RESOURCE"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.h"
             line="76">Resource represents a EGL resource.</doc>
      </member>
    </enumeration>
    <record name="CudaMemory" c:type="GstCudaMemory" version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="239"/>
      <field name="mem" writable="1">
        <type name="Gst.Memory" c:type="GstMemory"/>
      </field>
      <field name="context" writable="1">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="info" writable="1">
        <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaMemoryPrivate" c:type="GstCudaMemoryPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="export"
              c:identifier="gst_cuda_memory_export"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1020">Exports virtual memory handle to OS specific handle.

On Windows, @os_handle should be pointer to HANDLE (i.e., void **), and
pointer to file descriptor (i.e., int *) on Linux.

The returned @os_handle is owned by @mem and therefore caller shouldn't
close the handle.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="276"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1033">%TRUE if successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1022">a #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
          <parameter name="os_handle"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1023">a pointer to OS handle</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_alloc_method"
              c:identifier="gst_cuda_memory_get_alloc_method"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1003">Query allocation method</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="273"/>
        <return-value transfer-ownership="none">
          <type name="CudaMemoryAllocMethod"
                c:type="GstCudaMemoryAllocMethod"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1005">a #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream"
              c:identifier="gst_cuda_memory_get_stream"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="716">Gets CUDA stream object associated with @mem</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="248"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="722">a #GstCudaStream or %NULL if default
CUDA stream is in use</doc>
          <type name="CudaStream" c:type="GstCudaStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="718">A #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_texture"
              c:identifier="gst_cuda_memory_get_texture"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="822">Creates CUtexObject with given parameters</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="254"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="831">%TRUE if successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="824">A #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
          <parameter name="plane" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="825">the plane index</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="filter_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="826">filter mode</doc>
            <type name="CudaGst.filter_mode" c:type="CUfilter_mode"/>
          </parameter>
          <parameter name="texture"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="827">a pointer to CUtexObject object</doc>
            <type name="CudaGst.texObject" c:type="CUtexObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_token_data"
              c:identifier="gst_cuda_memory_get_token_data"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="975">Gets back user data pointer stored via gst_cuda_memory_set_token_data()</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="269"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="982">user data pointer or %NULL</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="977">a #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="978">an user token</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_data"
              c:identifier="gst_cuda_memory_get_user_data"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="924">Gets user data pointer stored via gst_cuda_allocator_alloc_wrapped()</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="260"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="930">the user data pointer</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="926">A #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_token_data"
              c:identifier="gst_cuda_memory_set_token_data"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="942">Sets an opaque user data on a #GstCudaMemory</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="263"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="944">a #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
          <parameter name="token" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="945">an user token</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="946">an user data</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="947">function to invoke with @data as argument, when @data needs to be
         freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync" c:identifier="gst_cuda_memory_sync" version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="735">Performs synchronization if needed</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="251"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="mem" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="737">A #GstCudaMemory</doc>
            <type name="CudaMemory" c:type="GstCudaMemory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="init_once"
                c:identifier="gst_cuda_memory_init_once"
                version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="681">Ensures that the #GstCudaAllocator is initialized and ready to be used.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="242"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
    </record>
    <enumeration name="CudaMemoryAllocMethod"
                 version="1.24"
                 glib:type-name="GstCudaMemoryAllocMethod"
                 glib:get-type="gst_cuda_memory_alloc_method_get_type"
                 c:type="GstCudaMemoryAllocMethod">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="157">CUDA memory allocation method</doc>
      <member name="unknown"
              value="0"
              c:identifier="GST_CUDA_MEMORY_ALLOC_UNKNOWN"
              version="1.24"
              glib:nick="unknown"
              glib:name="GST_CUDA_MEMORY_ALLOC_UNKNOWN">
      </member>
      <member name="malloc"
              value="1"
              c:identifier="GST_CUDA_MEMORY_ALLOC_MALLOC"
              version="1.24"
              glib:nick="malloc"
              glib:name="GST_CUDA_MEMORY_ALLOC_MALLOC">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="173">Memory allocated via cuMemAlloc or cuMemAllocPitch</doc>
      </member>
      <member name="mmap"
              value="2"
              c:identifier="GST_CUDA_MEMORY_ALLOC_MMAP"
              version="1.24"
              glib:nick="mmap"
              glib:name="GST_CUDA_MEMORY_ALLOC_MMAP">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="182">Memory allocated via cuMemCreate and cuMemMap</doc>
      </member>
    </enumeration>
    <callback name="CudaMemoryAllocatorNeedPoolCallback"
              c:type="GstCudaMemoryAllocatorNeedPoolCallback"
              version="1.26"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="205">Called to request cuda memory pool object. If callee returns a memory pool,
@allocator will allocate memory via cuMemAllocFromPoolAsync.
Otherwise device default memory pool will be used with cuMemAllocAsync method</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="219"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="215">Configured #GstCudaMemoryPool object</doc>
        <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
      </return-value>
      <parameters>
        <parameter name="allocator" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.h"
               line="207">a #GstCudaAllocator</doc>
          <type name="CudaAllocator" c:type="GstCudaAllocator*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.h"
               line="208">a #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.h"
               line="209">the user data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="CudaMemoryPool"
            c:type="GstCudaMemoryPool"
            version="1.26"
            glib:type-name="GstCudaMemoryPool"
            glib:get-type="gst_cuda_memory_pool_get_type"
            c:symbol-prefix="cuda_memory_pool">
      <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                       line="49"/>
      <field name="parent" writable="1">
        <type name="Gst.MiniObject" c:type="GstMiniObject"/>
      </field>
      <field name="context" writable="1">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaMemoryPoolPrivate" c:type="GstCudaMemoryPoolPrivate*"/>
      </field>
      <constructor name="new"
                   c:identifier="gst_cuda_memory_pool_new"
                   version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
             line="98">Creates a new #GstCudaMemoryPool with @props. If @props is %NULL,
non-exportable pool property will be used.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                         line="55"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
               line="106">a new #GstCudaMemoryPool or %NULL on
failure</doc>
          <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
                 line="100">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="props"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
                 line="101">a CUmemPoolProps</doc>
            <type name="CudaGst.memPoolProps" c:type="const CUmemPoolProps*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_handle"
              c:identifier="gst_cuda_memory_pool_get_handle"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
             line="156">Get CUDA memory pool handle</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
               line="162">a CUmemoryPool handle</doc>
          <type name="CudaGst.memoryPool" c:type="CUmemoryPool"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
                 line="158">a #GstCudaMemoryPool</doc>
            <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref"
              c:identifier="gst_cuda_memory_pool_ref"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
             line="174">Increase the reference count of @pool.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                         line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
               line="180">@pool</doc>
          <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
                 line="176">a #GstCudaMemoryPool</doc>
            <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref"
              c:identifier="gst_cuda_memory_pool_unref"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
             line="191">Decrease the reference count of @pool.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="pool" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
                 line="193">a #GstCudaMemoryPool</doc>
            <type name="CudaMemoryPool" c:type="GstCudaMemoryPool*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="CudaMemoryPoolPrivate"
            c:type="GstCudaMemoryPoolPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                       line="34"/>
    </record>
    <record name="CudaMemoryPrivate"
            c:type="GstCudaMemoryPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="60"/>
    </record>
    <bitfield name="CudaMemoryTransfer" c:type="GstCudaMemoryTransfer">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="122">CUDA memory transfer flags</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="155"/>
      <member name="download"
              value="1048576"
              c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_DOWNLOAD"
              version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="129">the device memory needs downloading to the staging memory</doc>
      </member>
      <member name="upload"
              value="2097152"
              c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_UPLOAD"
              version="1.22">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="138">the staging memory needs uploading to the device memory</doc>
      </member>
      <member name="sync"
              value="4194304"
              c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_SYNC"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.h"
             line="147">the device memory needs synchronization</doc>
      </member>
    </bitfield>
    <class name="CudaPoolAllocator"
           c:symbol-prefix="cuda_pool_allocator"
           c:type="GstCudaPoolAllocator"
           version="1.24"
           parent="CudaAllocator"
           glib:type-name="GstCudaPoolAllocator"
           glib:get-type="gst_cuda_pool_allocator_get_type"
           glib:type-struct="CudaPoolAllocatorClass">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="349">A #GstCudaAllocator subclass for cuda memory pool</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="376"/>
      <constructor name="new"
                   c:identifier="gst_cuda_pool_allocator_new"
                   version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1911">Creates a new #GstCudaPoolAllocator instance.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="382"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1919">a new #GstCudaPoolAllocator instance</doc>
          <type name="CudaPoolAllocator" c:type="GstCudaPoolAllocator*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1913">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1914">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1915">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_virtual_memory"
                   c:identifier="gst_cuda_pool_allocator_new_for_virtual_memory"
                   version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1930">Creates a new #GstCudaPoolAllocator instance for virtual memory allocation.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="387"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1938">a new #GstCudaPoolAllocator instance</doc>
          <type name="CudaPoolAllocator" c:type="GstCudaPoolAllocator*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1932">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1933">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1934">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
          <parameter name="prop" transfer-ownership="none">
            <type name="CudaGst.memAllocationProp"
                  c:type="const CUmemAllocationProp*"/>
          </parameter>
          <parameter name="granularity_flags" transfer-ownership="none">
            <type name="CudaGst.memAllocationGranularity_flags"
                  c:type="CUmemAllocationGranularity_flags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_full"
                   c:identifier="gst_cuda_pool_allocator_new_full"
                   version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="1973">Creates a new #GstCudaPoolAllocator instance with given @config</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="394"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="1982">a new #GstCudaPoolAllocator instance</doc>
          <type name="CudaPoolAllocator" c:type="GstCudaPoolAllocator*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1975">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
          <parameter name="stream"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1976">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1977">a #GstVideoInfo</doc>
            <type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
          </parameter>
          <parameter name="config"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="1978">a #GstStructure with configuration options</doc>
            <type name="Gst.Structure" c:type="GstStructure*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="acquire_memory"
              c:identifier="gst_cuda_pool_allocator_acquire_memory"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudamemory.cpp"
             line="2019">Acquires a #GstMemory from @allocator. @memory should point to a memory
location that can hold a pointer to the new #GstMemory.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                         line="399"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="2027">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the allocator is
inactive.</doc>
          <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
        </return-value>
        <parameters>
          <instance-parameter name="allocator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="2021">a #GstCudaPoolAllocator</doc>
            <type name="CudaPoolAllocator" c:type="GstCudaPoolAllocator*"/>
          </instance-parameter>
          <parameter name="memory"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudamemory.cpp"
                 line="2022">a #GstMemory</doc>
            <type name="Gst.Memory" c:type="GstMemory**"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="CudaAllocator" c:type="GstCudaAllocator"/>
      </field>
      <field name="context">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="stream">
        <type name="CudaStream" c:type="GstCudaStream*"/>
      </field>
      <field name="info">
        <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaPoolAllocatorPrivate"
              c:type="GstCudaPoolAllocatorPrivate*"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </class>
    <record name="CudaPoolAllocatorClass"
            c:type="GstCudaPoolAllocatorClass"
            glib:is-gtype-struct-for="CudaPoolAllocator">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="376"/>
      <field name="parent_class">
        <type name="CudaAllocatorClass" c:type="GstCudaAllocatorClass"/>
      </field>
      <field name="_gst_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CudaPoolAllocatorPrivate"
            c:type="GstCudaPoolAllocatorPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="68"/>
    </record>
    <enumeration name="CudaQuarkId" version="1.22" c:type="GstCudaQuarkId">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="65"/>
      <member name="graphics_resource"
              value="0"
              c:identifier="GST_CUDA_QUARK_GRAPHICS_RESOURCE">
      </member>
      <member name="max" value="1" c:identifier="GST_CUDA_QUARK_MAX">
      </member>
    </enumeration>
    <record name="CudaStream"
            c:type="GstCudaStream"
            version="1.24"
            glib:type-name="GstCudaStream"
            glib:get-type="gst_cuda_stream_get_type"
            c:symbol-prefix="cuda_stream">
      <source-position filename="gst-libs/gst/cuda/gstcudastream.h" line="49"/>
      <field name="parent" writable="1">
        <type name="Gst.MiniObject" c:type="GstMiniObject"/>
      </field>
      <field name="context" writable="1">
        <type name="CudaContext" c:type="GstCudaContext*"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CudaStreamPrivate" c:type="GstCudaStreamPrivate*"/>
      </field>
      <constructor name="new"
                   c:identifier="gst_cuda_stream_new"
                   version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudastream.cpp"
             line="96">Creates a new #GstCudaStream</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudastream.h"
                         line="55"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudastream.cpp"
               line="102">a new #GstCudaStream or %NULL on
failure</doc>
          <type name="CudaStream" c:type="GstCudaStream*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudastream.cpp"
                 line="98">a #GstCudaContext</doc>
            <type name="CudaContext" c:type="GstCudaContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_handle"
              c:identifier="gst_cuda_stream_get_handle"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudastream.cpp"
             line="141">Get CUDA stream handle</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudastream.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudastream.cpp"
               line="147">a `CUstream` handle of @stream or %NULL if @stream is %NULL</doc>
          <type name="CudaGst.stream" c:type="CUstream"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudastream.cpp"
                 line="143">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gst_cuda_stream_ref" version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudastream.cpp"
             line="162">Increase the reference count of @stream.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudastream.h"
                         line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudastream.cpp"
               line="168">@stream</doc>
          <type name="CudaStream" c:type="GstCudaStream*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudastream.cpp"
                 line="164">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gst_cuda_stream_unref" version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudastream.cpp"
             line="178">Decrease the reference count of @stream.</doc>
        <source-position filename="gst-libs/gst/cuda/gstcudastream.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/cuda/gstcudastream.cpp"
                 line="180">a #GstCudaStream</doc>
            <type name="CudaStream" c:type="GstCudaStream*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="CudaStreamPrivate"
            c:type="GstCudaStreamPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gst-libs/gst/cuda/gstcudastream.h" line="34"/>
    </record>
    <function-macro name="IS_CUDA_ALLOCATOR"
                    c:identifier="GST_IS_CUDA_ALLOCATOR"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_ALLOCATOR_CLASS"
                    c:identifier="GST_IS_CUDA_ALLOCATOR_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="37"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_BUFFER_POOL"
                    c:identifier="GST_IS_CUDA_BUFFER_POOL"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_BUFFER_POOL_CLASS"
                    c:identifier="GST_IS_CUDA_BUFFER_POOL_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_CONTEXT"
                    c:identifier="GST_IS_CUDA_CONTEXT"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_CONTEXT_CLASS"
                    c:identifier="GST_IS_CUDA_CONTEXT_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudacontext.h"
                       line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_MEMORY_POOL"
                    c:identifier="GST_IS_CUDA_MEMORY_POOL"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                       line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_POOL_ALLOCATOR"
                    c:identifier="GST_IS_CUDA_POOL_ALLOCATOR"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="56"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_POOL_ALLOCATOR_CLASS"
                    c:identifier="GST_IS_CUDA_POOL_ALLOCATOR_CLASS"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="57"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_CUDA_STREAM"
                    c:identifier="GST_IS_CUDA_STREAM"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudastream.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="MAP_CUDA"
              value="131072"
              c:type="GST_MAP_CUDA"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="70">Flag indicating that we should map the CUDA device memory
instead of to system memory.

Combining #GST_MAP_CUDA with #GST_MAP_WRITE has the same semantics as though
you are writing to CUDA device/host memory.
Conversely, combining #GST_MAP_CUDA with
#GST_MAP_READ has the same semantics as though you are reading from
CUDA device/host memory</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="84"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MAP_READ_CUDA"
              value="131073"
              c:type="GST_MAP_READ_CUDA"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="86">GstMapFlags value alias for GST_MAP_READ | GST_MAP_CUDA</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h" line="93"/>
      <type name="Gst.MapFlags" c:type="GstMapFlags"/>
    </constant>
    <constant name="MAP_WRITE_CUDA"
              value="131074"
              c:type="GST_MAP_WRITE_CUDA"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.h"
           line="95">GstMapFlags value alias for GST_MAP_WRITE | GST_MAP_CUDA</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="102"/>
      <type name="Gst.MapFlags" c:type="GstMapFlags"/>
    </constant>
    <function name="buffer_pool_config_get_cuda_alloc_method"
              c:identifier="gst_buffer_pool_config_get_cuda_alloc_method"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
           line="332">Gets configured allocation method</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="83"/>
      <return-value transfer-ownership="none">
        <type name="CudaMemoryAllocMethod" c:type="GstCudaMemoryAllocMethod"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="334">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pool_config_get_cuda_stream"
              c:identifier="gst_buffer_pool_config_get_cuda_stream"
              version="1.24">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="76"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
             line="294">the currently configured #GstCudaStream
on @config or %NULL if @config doesn't hold #GstCudaStream</doc>
        <type name="CudaStream" c:type="GstCudaStream*"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="292">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pool_config_get_cuda_stream_ordered_alloc"
              c:identifier="gst_buffer_pool_config_get_cuda_stream_ordered_alloc"
              version="1.26">
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="90"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
             line="378">%TRUE stream ordered allocation option was specified</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="375">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="enabled"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="376">whether stream ordered allocation was requested or not</doc>
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pool_config_set_cuda_alloc_method"
              c:identifier="gst_buffer_pool_config_set_cuda_alloc_method"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
           line="355">Sets allocation method</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="86"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="357">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="method" transfer-ownership="none">
          <type name="CudaMemoryAllocMethod"
                c:type="GstCudaMemoryAllocMethod"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pool_config_set_cuda_stream"
              c:identifier="gst_buffer_pool_config_set_cuda_stream"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
           line="312">Sets @stream on @config</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="79"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="314">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="stream" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="315">a #GstCudaStream</doc>
          <type name="CudaStream" c:type="GstCudaStream*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_pool_config_set_cuda_stream_ordered_alloc"
              c:identifier="gst_buffer_pool_config_set_cuda_stream_ordered_alloc"
              version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
           line="401">Sets stream ordered allocation option</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudabufferpool.h"
                       line="94"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="config" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="403">a buffer pool config</doc>
          <type name="Gst.Structure" c:type="GstStructure*"/>
        </parameter>
        <parameter name="stream_ordered" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudabufferpool.cpp"
               line="404">whether stream ordered allocation is allowed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="clear_cuda_memory_pool"
              c:identifier="gst_clear_cuda_memory_pool"
              version="1.26"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
           line="205">Clears a reference to a #GstCudaMemoryPool.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemorypool.h"
                       line="68"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pool" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemorypool.cpp"
               line="207">a pointer to a #GstCudaMemoryPool reference</doc>
          <type name="CudaMemoryPool" c:type="GstCudaMemoryPool**"/>
        </parameter>
      </parameters>
    </function>
    <function name="clear_cuda_stream"
              c:identifier="gst_clear_cuda_stream"
              version="1.24"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudastream.cpp"
           line="192">Clears a reference to a #GstCudaStream.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudastream.h" line="67"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="stream" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudastream.cpp"
               line="194">a pointer to a #GstCudaStream reference</doc>
          <type name="CudaStream" c:type="GstCudaStream**"/>
        </parameter>
      </parameters>
    </function>
    <function name="context_new_cuda_context"
              c:identifier="gst_context_new_cuda_context"
              version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="127"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="368">a new #GstContext embedding the @cuda_ctx</doc>
        <type name="Gst.Context" c:type="GstContext*"/>
      </return-value>
      <parameters>
        <parameter name="cuda_ctx" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="366">a #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_create_user_token"
              c:identifier="gst_cuda_create_user_token"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudautils.cpp"
           line="1790">Creates new user token value</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="165"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="1795">user token value</doc>
        <type name="gint64" c:type="gint64"/>
      </return-value>
    </function>
    <function name="cuda_ensure_element_context"
              c:identifier="gst_cuda_ensure_element_context"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudautils.cpp"
           line="184">Perform the steps necessary for retrieving a #GstCudaContext from the
surrounding elements or from the application using the #GstContext mechanism.

If the content of @cuda_ctx is not %NULL, then no #GstContext query is
necessary for #GstCudaContext.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="111"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="197">whether a #GstCudaContext exists in @cuda_ctx</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="186">the #GstElement running the query</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
        <parameter name="device_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="187">preferred device-id, pass device_id &gt;=0 when
            the device_id explicitly required. Otherwise, set -1.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="cuda_ctx"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="189">the resulting #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext**"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_graphics_resource_new"
              c:identifier="gst_cuda_graphics_resource_new"
              moved-to="CudaGraphicsResource.new"
              version="1.22"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudautils.cpp"
           line="423">Create new #GstCudaGraphicsResource with given @context and @type</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="133"/>
      <return-value>
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="431">a new #GstCudaGraphicsResource.
Free with gst_cuda_graphics_resource_free</doc>
        <type name="CudaGraphicsResource" c:type="GstCudaGraphicsResource*"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="425">a #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </parameter>
        <parameter name="graphics_context"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="426">a graphics API specific context object</doc>
          <type name="Gst.Object" c:type="GstObject*"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="427">a #GstCudaGraphicsResourceType of resource registration</doc>
          <type name="CudaGraphicsResourceType"
                c:type="GstCudaGraphicsResourceType"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_handle_context_query"
              c:identifier="gst_cuda_handle_context_query"
              version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="122"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="320">Whether the @query was successfully responded to from the passed
         @context.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="316">a #GstElement</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
        <parameter name="query" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="317">a #GstQuery of type %GST_QUERY_CONTEXT</doc>
          <type name="Gst.Query" c:type="GstQuery*"/>
        </parameter>
        <parameter name="cuda_ctx"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="318">a #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext*"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_handle_set_context"
              c:identifier="gst_cuda_handle_set_context"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudautils.cpp"
           line="254">Helper function for implementing #GstElementClass.set_context() in
CUDA capable elements.

Retrieves the #GstCudaContext in @context and places the result in @cuda_ctx.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="116"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="267">whether the @cuda_ctx could be set successfully</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="256">a #GstElement</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="257">a #GstContext</doc>
          <type name="Gst.Context" c:type="GstContext*"/>
        </parameter>
        <parameter name="device_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="258">preferred device-id, pass device_id &gt;=0 when
            the device_id explicitly required. Otherwise, set -1.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="cuda_ctx"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="260">location of a #GstCudaContext</doc>
          <type name="CudaContext" c:type="GstCudaContext**"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_load_library"
              c:identifier="gst_cuda_load_library"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudaloader.cpp"
           line="467">Loads the cuda library</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudaloader.h" line="28"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudaloader.cpp"
             line="472">%TRUE if the libcuda could be loaded %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="cuda_memory_init_once"
              c:identifier="gst_cuda_memory_init_once"
              moved-to="CudaMemory.init_once"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.cpp"
           line="681">Ensures that the #GstCudaAllocator is initialized and ready to be used.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="242"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="cuda_nvrtc_compile"
              c:identifier="gst_cuda_nvrtc_compile"
              version="1.22">
      <source-position filename="gst-libs/gst/cuda/gstcudanvrtc.h" line="31"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
               line="389">Source code to compile</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_nvrtc_compile_cubin"
              c:identifier="gst_cuda_nvrtc_compile_cubin"
              version="1.24">
      <source-position filename="gst-libs/gst/cuda/gstcudanvrtc.h" line="34"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
             line="496">Compiled CUDA assembly code if successful,
otherwise %NULL</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
               line="493">Source code to compile</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="device" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
               line="494">CUDA device</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_nvrtc_load_library"
              c:identifier="gst_cuda_nvrtc_load_library"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
           line="191">Loads the nvrtc library.</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudanvrtc.h" line="28"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudanvrtc.cpp"
             line="196">%TRUE if the library could be loaded, %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="cuda_quark_from_id"
              c:identifier="gst_cuda_quark_from_id"
              version="1.22"
              introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="130"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/cuda/gstcudautils.cpp"
             line="408">the GQuark for given @id or 0 if @id is unknown value</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
      <parameters>
        <parameter name="id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.cpp"
               line="406">a #GstCudaQuarkId</doc>
          <type name="CudaQuarkId" c:type="GstCudaQuarkId"/>
        </parameter>
      </parameters>
    </function>
    <function name="cuda_register_allocator_need_pool_callback"
              c:identifier="gst_cuda_register_allocator_need_pool_callback"
              version="1.26"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.cpp"
           line="2060">Sets global need-pool callback function</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="403"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="callback"
                   transfer-ownership="none"
                   scope="notified"
                   closure="1"
                   destroy="2">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="2062">the callbacks</doc>
          <type name="CudaMemoryAllocatorNeedPoolCallback"
                c:type="GstCudaMemoryAllocatorNeedPoolCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="2063">an user_data argument for the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="2064">a destory notify function</doc>
          <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function-macro name="cuda_result"
                    c:identifier="gst_cuda_result"
                    version="1.22"
                    introspectable="0">
      <source-position filename="gst-libs/gst/cuda/gstcudautils.h" line="46"/>
      <parameters>
        <parameter name="result">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudautils.h"
               line="40">CUDA device API return code `CUresult`</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function name="is_cuda_memory"
              c:identifier="gst_is_cuda_memory"
              version="1.22">
      <doc xml:space="preserve"
           filename="gst-libs/gst/cuda/gstcudamemory.cpp"
           line="701">Check if @mem is a cuda memory</doc>
      <source-position filename="gst-libs/gst/cuda/gstcudamemory.h"
                       line="245"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/cuda/gstcudamemory.cpp"
               line="703">A #GstMemory</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
