<?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:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gst" version="1.0"/>
  <package name="gstreamer-allocators-1.0"/>
  <c:include name="gst/allocators/allocators.h"/>
  <namespace name="GstAllocators"
             version="1.0"
             shared-library="libgstallocators-1.0.so.0"
             c:identifier-prefixes="Gst"
             c:symbol-prefixes="gst">
    <constant name="ALLOCATOR_DMABUF"
              value="dmabuf"
              c:type="GST_ALLOCATOR_DMABUF">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function name="dmabuf_allocator_alloc"
              c:identifier="gst_dmabuf_allocator_alloc"
              version="1.2">
      <doc xml:space="preserve">Return a %GstMemory that wraps a dmabuf file descriptor.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a GstMemory based on @allocator.
When the buffer will be released dmabuf allocator will close the @fd.
The memory is only mmapped on gst_buffer_mmap() request.</doc>
        <type name="Gst.Memory" c:type="GstMemory*"/>
      </return-value>
      <parameters>
        <parameter name="allocator"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">allocator to be used for this memory</doc>
          <type name="Gst.Allocator" c:type="GstAllocator*"/>
        </parameter>
        <parameter name="fd" transfer-ownership="none">
          <doc xml:space="preserve">dmabuf file descriptor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <doc xml:space="preserve">memory size</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="dmabuf_allocator_new"
              c:identifier="gst_dmabuf_allocator_new"
              version="1.2">
      <doc xml:space="preserve">Return a new dmabuf allocator.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a new dmabuf allocator, or NULL if the allocator
   isn't available. Use gst_object_unref() to release the allocator after
   usage</doc>
        <type name="Gst.Allocator" c:type="GstAllocator*"/>
      </return-value>
    </function>
    <function name="dmabuf_memory_get_fd"
              c:identifier="gst_dmabuf_memory_get_fd"
              version="1.2">
      <doc xml:space="preserve">Return the file descriptor associated with @mem.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">the file descriptor associated with the memory, or -1</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <doc xml:space="preserve">the memory to get the file descriptor</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </parameter>
      </parameters>
    </function>
    <function name="is_dmabuf_memory"
              c:identifier="gst_is_dmabuf_memory"
              version="1.2">
      <doc xml:space="preserve">Check if @mem is dmabuf memory.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if @mem is dmabuf memory, otherwise %FALSE</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <doc xml:space="preserve">the memory to be check</doc>
          <type name="Gst.Memory" c:type="GstMemory*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
