<?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="Gst" version="1.0"/>
  <include name="GstBase" version="1.0"/>
  <include name="GstVideo" version="1.0"/>
  <package name="gstreamer-analytics-1.0"/>
  <doc:format name="unknown"/>
  <namespace name="GstAnalytics"
             version="1.0"
             shared-library="libgstanalytics-1.0.so.0"
             c:identifier-prefixes="GstAnalytics,Gst"
             c:symbol-prefixes="gst_analytics,gst">
    <alias name="MtdType" c:type="GstAnalyticsMtdType">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="44">Type of analytics meta data</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="51"/>
      <type name="guintptr" c:type="guintptr"/>
    </alias>
    <record name="BatchMeta" c:type="GstAnalyticsBatchMeta" version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
           line="59">This meta represents a batch of buffers from one or more streams together
with the relevant events to be able to interpret the buffers and to be able
to reconstruct the original streams.

When used for multiple streams and batching them temporarily, caps of type
`multistream/x-analytics-batch(meta:GstAnalyticsBatchMeta)` should be used,
with the original caps of each stream in an array-typed `streams` field. The
original caps of each stream might be extended by additional fields and the
order of the streams in the array corresponds to the order of the @streams
array of the meta. In this case, empty buffers would be used without any
#GstMemory and

When used for a single stream, the original caps might be used together with
the `meta:GstAnalyticsBatchMeta` caps feature and potentially extended by
additional fields to describe the kind of batching and its configuration,
e.g. that each batch is made of 25% overlapping 320x320 slices of the
original video frame.

The timestamp, duration and other metadata of each batch can be retrieved
from the parent buffer of this meta.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="94"/>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="61">parent</doc>
        <type name="Gst.Meta" c:type="GstMeta"/>
      </field>
      <field name="streams" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="62">#GstAnalyticsBatchStream for this batch</doc>
        <array length="2"
               zero-terminated="0"
               c:type="GstAnalyticsBatchStream*">
          <type name="BatchStream" c:type="GstAnalyticsBatchStream"/>
        </array>
      </field>
      <field name="n_streams" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="63">Number of streams</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <function name="get_info"
                c:identifier="gst_analytics_batch_meta_get_info"
                version="1.28"
                introspectable="0">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
        </return-value>
      </function>
    </record>
    <record name="BatchStream" c:type="GstAnalyticsBatchStream" version="1.28">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="57"/>
      <field name="index" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="38">Index of the stream in the meta's stream array</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="sticky_events" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="39">The sticky events store before any of the mini objects in the @objects fields are processed</doc>
        <array length="2" zero-terminated="0" c:type="GstEvent**">
          <type name="Gst.Event" c:type="GstEvent*"/>
        </array>
      </field>
      <field name="n_sticky_events" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="40">Number of sticky events</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <field name="objects" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="41">#GstMiniObject in this batch for this stream. Those are serialized mini objects: buffers, bufferlists and serialized events</doc>
        <array length="4" zero-terminated="0" c:type="GstMiniObject**">
          <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
        </array>
      </field>
      <field name="n_objects" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
             line="42">Number of objects</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="4">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="get_caps"
              c:identifier="gst_analytics_batch_stream_get_caps"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
             line="210">Gets the #GstCaps from a stream</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                         line="145"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
               line="216">The #GstCaps if there are any</doc>
          <type name="Gst.Caps" c:type="GstCaps*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
                 line="212">A #GstAnalyticsBatchStream</doc>
            <type name="BatchStream" c:type="GstAnalyticsBatchStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_segment"
              c:identifier="gst_analytics_batch_stream_get_segment"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
             line="240">Gets the #GstSegment from a stream</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                         line="149"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
               line="246">The #GstSegment if there is one</doc>
          <type name="Gst.Segment" c:type="const GstSegment*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
                 line="242">A #GstAnalyticsBatchStream</doc>
            <type name="BatchStream" c:type="GstAnalyticsBatchStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_id"
              c:identifier="gst_analytics_batch_stream_get_stream_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
             line="180">Gets the current stream id from a stream</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                         line="141"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
               line="186">The stream id if there is any</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
                 line="182">A #GstAnalyticsBatchStream</doc>
            <type name="BatchStream" c:type="GstAnalyticsBatchStream*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <constant name="CAPS_FEATURE_META_GST_ANALYTICS_BATCH_META"
              value="meta:GstAnalyticsBatchMeta"
              c:type="GST_CAPS_FEATURE_META_GST_ANALYTICS_BATCH_META"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
           line="116">The caps feature to be used on streams that make use of this meta.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="121"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="ClsMtd" c:type="GstAnalyticsClsMtd" version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
           line="30">Handle containing data required to use gst_analytics_cls_mtd APIs. This type
is generally expected to be allocated on the stack.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                       line="41"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_index_by_quark"
              c:identifier="gst_analytics_cls_mtd_get_index_by_quark"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="115">index of the class associated with @quarks ( and label) or
    a negative value on failure.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="112">Instance handle</doc>
            <type name="ClsMtd" c:type="const GstAnalyticsClsMtd*"/>
          </instance-parameter>
          <parameter name="quark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="113">Quark of the class
Get index of class represented by @quark</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_length"
              c:identifier="gst_analytics_cls_mtd_get_length"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="143">Number of classes in this classification instance</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="141">Instance handle
Get number of classes</doc>
            <type name="ClsMtd" c:type="const GstAnalyticsClsMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_level"
              c:identifier="gst_analytics_cls_mtd_get_level"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="87">Get confidence level for class at @index</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="93">confidence level for @index, &lt;0.0 if the call failed.</doc>
          <type name="gfloat" c:type="gfloat"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="89">instance handle</doc>
            <type name="ClsMtd" c:type="const GstAnalyticsClsMtd*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="90">Object class index</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_quark"
              c:identifier="gst_analytics_cls_mtd_get_quark"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="162">Quark of this class (label) associated with @index</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="159">Instance handle</doc>
            <type name="ClsMtd" c:type="const GstAnalyticsClsMtd*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="160">index of the class
Get quark of the class at @index</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <function name="get_mtd_type"
                c:identifier="gst_analytics_cls_mtd_get_mtd_type"
                version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="72">Get an id identifying #GstAnalyticsMtd type.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="77">opaque id of #GstAnalyticsMtd type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
      </function>
    </record>
    <docsection name="GstAnalyticsModelInfo">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.c"
           line="30">The #GstAnalyticsModelInfo is an object storing artifical neural network
model metadata describing the input and output tensors. These information's
are required by inference elements.

The ".modelinfo" files describe the additional metadata for
a given serialized model file such as a `.tflite`, `.onnx` or `.pte` files.

The ModelInfo files are ini-style. Each section is matched to a
particular input or output tensor.

The title of the section must match the name of the tensor in the model file.

The fields used to match the modelinfo to the model are:
 `\[title\]`: The name of the tensor, must be unique
 `dims`: The dimensions as a comma-separated list of ints. -1 matches a dynamic dimension and is a wildcard
 `dir`: Either "input" or "output"
 `type`: The data type match #GstTensorDataType, one of:
   `int4`
   `int8`
   `int16`
   `int32`
   `int64`
   `uint4`
   `uint8`
   `uint16`
   `uint32`
   `uint64`
   `float16`
   `float32`
   `float64`
   `bfloat16`

Based on these fields, the following metadata is applied to output tensors:
 `id`: The tensor ID so other elements can identity it, ideally registered in the [Tensor ID Registry](https://github.com/collabora/tensor-id-registry/blob/main/tensor-id-register.md).
 `group-id`: The group ID that groups related tensors together (e.g., all outputs from the same model)
 `dims-order`: The dimension ordering, either "row-major" or "col-major". Defaults to "row-major" if not specified.

Those fields are applied to input tensors for normalization:
 `ranges`: semicolon-separated list of comma-separated pairs of floats,
  each representing (min, max) for a single channel or dimension.
  For per-channel normalization: `ranges=0.0,255.0;-1.0,1.0;0.0,1.0` (R,G,B)
  For single range (applies to all channels): `ranges=0.0,255.0`
  The inference elements will convert 8-bit input [0-255] to target ranges using:
    output[i] = input[i] * scale[i] + offset[i]
  where for each channel i:
    scale[i] = (max[i] - min[i]) / 255.0
    offset[i] = min[i]

  Common ranges:
   `0.0,255.0` - No normalization (passthrough, scale=1.0, offset=0.0)
   `0.0,1.0` - Normalized to [0,1] range (scale≈0.00392, offset=0.0)
   `-1.0,1.0` - Normalized to [-1,1] range (scale≈0.00784, offset=-1.0)
   `16.0,235.0` - TV/limited range (scale≈0.859, offset=16.0)

Other fields are ignored for now.

The API is meant to be used by inference elements</doc>
    </docsection>
    <constant name="INF_RELATION_SPAN"
              value="-1"
              c:type="GST_INF_RELATION_SPAN"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="33">Passes to functions asking for a relation span when the span is
infinite.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="41"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MODELINFO_SECTION_NAME"
              value="modelinfo"
              c:type="GST_MODELINFO_SECTION_NAME"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.h"
           line="59">The name of the modelinfo header section</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="66"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="MODELINFO_VERSION_MAJOR"
              value="1"
              c:type="GST_MODELINFO_VERSION_MAJOR"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.h"
           line="31">The current major version of the modelinfo format</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="38"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MODELINFO_VERSION_MINOR"
              value="0"
              c:type="GST_MODELINFO_VERSION_MINOR"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.h"
           line="40">The current minor version of the modelinfo format</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="47"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MODELINFO_VERSION_STR"
              value="1.0"
              c:type="GST_MODELINFO_VERSION_STR"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.h"
           line="49">The current version string for the modelinfo format.
This MUST be updated whenever the format changes.</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="57"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function-macro name="MTD_CAST"
                    c:identifier="GST_ANALYTICS_MTD_CAST"
                    version="1.24"
                    introspectable="0">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="68"/>
      <parameters>
        <parameter name="mtd">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="MTD_TYPE_ANY"
              value="0"
              c:type="GST_ANALYTICS_MTD_TYPE_ANY"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="53">A wildcard matching any type of analysis</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="61"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="ModelInfo"
            c:type="GstAnalyticsModelInfo"
            opaque="1"
            version="1.28"
            glib:type-name="GstAnalyticsModelInfo"
            glib:get-type="gst_analytics_modelinfo_get_type"
            c:symbol-prefix="modelinfo">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.h"
           line="84">The #GstAnalyticsModelInfo is an object storing artifical neural network
model metadata describing the input and output tensors. These information's
are required by inference elements.</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="93"/>
      <method name="find_tensor_name"
              c:identifier="gst_analytics_modelinfo_find_tensor_name"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="576">Find the name of a tensor in the modelinfo that matches the given criteria.

The function performs the following checks in order:
1. If @in_tensor_name is provided and exists in modelinfo, validate it matches
2. Search by index for the specified direction and validate
3. Search by dimensions and data type</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="113"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="593">The tensor name if found, or %NULL otherwise.
   The caller must free this with g_free() when done.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="578">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="dir" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="579">The tensor direction (input or output)</doc>
            <type name="ModelInfoTensorDirection"
                  c:type="GstAnalyticsModelInfoTensorDirection"/>
          </parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="580">The tensor index within the specified direction</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="in_tensor_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="581">An optional tensor name hint to check first</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="582">The tensor data type to match</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="583">The number of dimensions</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="584">The dimension sizes. Use -1 for dynamic dimensions.</doc>
            <array length="4" zero-terminated="0" c:type="const gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="free"
              c:identifier="gst_analytics_modelinfo_free"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="556">Free a modelinfo object allocated by gst_analytics_modelinfo_load().

This function should be called when the modelinfo is no longer needed
to release the associated resources.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="156"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="model_info"
                              transfer-ownership="full"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="558">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dims_order"
              c:identifier="gst_analytics_modelinfo_get_dims_order"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="830">Retrieve the dimension ordering for a given tensor.

The dimension ordering specifies how multi-dimensional tensor data is
laid out in memory:
- Row-major (C/NumPy style): Last dimension changes fastest in memory
- Column-major (Fortran style): First dimension changes fastest in memory

If not specified in the modelinfo, defaults to row-major.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="147"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="844">The dimension order as #GstTensorDimOrder</doc>
          <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="832">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="tensor_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="833">The name of the tensor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_group_id"
              c:identifier="gst_analytics_modelinfo_get_group_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="247">Get the group ID that groups related tensors together (e.g., all outputs
from the same model).

The group ID is stored in the modelinfo section and is global for all
tensors in the model.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="123"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="257">The group ID string, or %NULL if not found.
   The caller must free this with g_free() when done.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="249">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id"
              c:identifier="gst_analytics_modelinfo_get_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="215">Get the tensor ID from the modelinfo for the specified tensor name.

The tensor ID is ideally registered in the [Tensor ID Registry](https://github.com/collabora/tensor-id-registry/blob/main/tensor-id-register.md).</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="119"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="224">The tensor ID string, or %NULL if not found.
   The caller must free this with g_free() when done.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="217">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="tensor_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="218">The name of the tensor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_input_scales_offsets"
              c:identifier="gst_analytics_modelinfo_get_input_scales_offsets"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="720">Calculate normalization scales and offsets to transform input data to the target range.

This function calculates transformation parameters to convert from the actual input data range
[input_min, input_max] to the target range expected by the model [target_min, target_max]:
  `normalized_value[i] = input[i] * output_scale[i] + output_offset[i]`

The target ranges are read from the modelinfo `ranges` field: Semicolon-separated list of
comma-separated pairs (min,max) for per-channel target ranges
(e.g., "0.0,255.0;-1.0,1.0;0.0,1.0" for RGB channels with different target ranges).

Common input ranges:
- [0.0, 255.0]: 8-bit unsigned (uint8)
- [-128.0, 127.0]: 8-bit signed (int8)
- [0.0, 65535.0]: 16-bit unsigned (uint16)
- [-32768.0, 32767.0]: 16-bit signed (int16)
- [0.0, 1.0]: Normalized float
- [-1.0, 1.0]: Normalized signed float

The number of input ranges (@num_input_ranges) must equal the number of target ranges
in the modelinfo. The function will return FALSE if they don't match.

The caller must free @output_scales and @output_offsets with g_free() when done.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="754">%TRUE on success, %FALSE on error, if ranges field is not found, or if @num_input_ranges
         doesn't match the number of target ranges in the modelinfo</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="722">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="tensor_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="723">The name of the tensor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_input_ranges" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="724">The number of input ranges (channels/dimensions)</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="input_mins" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="725">The minimum values of the actual input data for each channel</doc>
            <array length="1" zero-terminated="0" c:type="const gdouble*">
              <type name="gdouble" c:type="gdouble"/>
            </array>
          </parameter>
          <parameter name="input_maxs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="726">The maximum values of the actual input data for each channel</doc>
            <array length="1" zero-terminated="0" c:type="const gdouble*">
              <type name="gdouble" c:type="gdouble"/>
            </array>
          </parameter>
          <parameter name="num_output_ranges"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="727">The number of output ranges/scale-offset pairs</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
          <parameter name="output_scales"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="728">The scale values for normalization</doc>
            <array length="4" zero-terminated="0" c:type="gdouble**">
              <type name="gdouble" c:type="gdouble*"/>
            </array>
          </parameter>
          <parameter name="output_offsets"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="729">The offset values for normalization</doc>
            <array length="4" zero-terminated="0" c:type="gdouble**">
              <type name="gdouble" c:type="gdouble*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_quark_group_id"
              c:identifier="gst_analytics_modelinfo_get_quark_group_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="314">Get the group ID as a GQuark for efficient string comparison and storage.

Using GQuark is more efficient than string comparison when you need to
compare multiple group IDs.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="323">The GQuark of the group ID, or 0 if not found</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="316">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_quark_id"
              c:identifier="gst_analytics_modelinfo_get_quark_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="285">Get the tensor ID as a GQuark for efficient string comparison and storage.

Using GQuark is more efficient than string comparison when you need to
compare multiple IDs.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="295">The GQuark of the tensor ID, or 0 if not found</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="287">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="tensor_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="288">The name of the tensor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_target_ranges"
              c:identifier="gst_analytics_modelinfo_get_target_ranges"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="627">Retrieve all target ranges (min/max pairs) expected by the model for a given tensor.

This function retrieves all target ranges from the `ranges` field in the modelinfo.
Each range represents the expected input range for a channel or dimension that the
model requires.

The function reads from the `ranges` field: Semicolon-separated list of
comma-separated pairs (min,max) for per-channel target ranges
(e.g., "0.0,1.0;-1.0,1.0;0.0,1.0" for RGB channels with different normalization targets).

The caller must free @mins and @maxs with g_free() when done.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="647">%TRUE if range information was found and valid, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="629">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
          <parameter name="tensor_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="630">The name of the tensor</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_ranges"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="631">The number of ranges</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
          <parameter name="mins"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="632">The minimum values for each target range</doc>
            <array length="1" zero-terminated="0" c:type="gdouble**">
              <type name="gdouble" c:type="gdouble*"/>
            </array>
          </parameter>
          <parameter name="maxs"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="633">The maximum values for each target range</doc>
            <array length="1" zero-terminated="0" c:type="gdouble**">
              <type name="gdouble" c:type="gdouble*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_version"
              c:identifier="gst_analytics_modelinfo_get_version"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="868">Retrieve the version string of the modelinfo file format.

The version is in the format "Major.Minor" and is stored in the
[modelinfo] section of the modelinfo file.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="152"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="877">The version string (e.g., "1.0").
   The caller must free this with g_free() when done.
   Defaults to "1.0" if not specified.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="modelinfo" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="870">Instance of #GstAnalyticsModelInfo</doc>
            <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="load"
                c:identifier="gst_analytics_modelinfo_load"
                version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="487">Load a modelinfo file associated with the given model file.

This function attempts to load a `.modelinfo` file in the following order:
1. `{model_filename}.modelinfo`
2. `{model_filename_without_extension}.modelinfo`

The modelinfo file contains metadata for the model's input and output tensors,
including normalization ranges, dimension ordering, tensor IDs, etc.

The loaded modelinfo must be freed with gst_analytics_modelinfo_free()
when no longer needed.</doc>
        <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                         line="109"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="503">A new #GstAnalyticsModelInfo instance,
   or %NULL if the modelinfo file could not be found or loaded.</doc>
          <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
        </return-value>
        <parameters>
          <parameter name="model_filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/modelinfo.c"
                 line="489">Path to the model file (e.g., "model.onnx", "model.tflite")</doc>
            <type name="filename" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="ModelInfoTensorDirection"
                 version="1.28"
                 c:type="GstAnalyticsModelInfoTensorDirection">
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="82"/>
      <member name="unknown"
              value="0"
              c:identifier="MODELINFO_DIRECTION_UNKNOWN">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.h"
             line="72">Tensor location is unknown</doc>
      </member>
      <member name="input" value="1" c:identifier="MODELINFO_DIRECTION_INPUT">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.h"
             line="73">Input tensor</doc>
      </member>
      <member name="output"
              value="2"
              c:identifier="MODELINFO_DIRECTION_OUTPUT">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.h"
             line="74">Output tensor</doc>
      </member>
    </enumeration>
    <record name="Mtd" c:type="GstAnalyticsMtd" version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="84">Handle containing data required to use gst_analytics_mtd API. This type
is generally expected to be allocated on the stack.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="99"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_id"
              c:identifier="gst_analytics_mtd_get_id"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="154">Get instance id</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="136"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="160">Id of @instance</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="156">Instance of #GstAnalyticsMtd</doc>
            <type name="Mtd" c:type="const GstAnalyticsMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mtd_type"
              c:identifier="gst_analytics_mtd_get_mtd_type"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="132"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="138">opaque id of the type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="135">Instance of #GstAnalyticsMtd
Get analysis result type.</doc>
            <type name="Mtd" c:type="const GstAnalyticsMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size"
              c:identifier="gst_analytics_mtd_get_size"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="169">Get instance size</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="175">Size (in bytes) of this instance or 0 on failure.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="171">Instance of #GstAnalyticsMtd</doc>
            <type name="Mtd" c:type="const GstAnalyticsMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="type_get_name"
                c:identifier="gst_analytics_mtd_type_get_name"
                version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="194">Gets the string version of the name of this type of analytics data</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="142"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="200">the name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="196">The type of analytics data</doc>
            <type name="MtdType" c:type="GstAnalyticsMtdType"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <record name="MtdImpl" c:type="GstAnalyticsMtdImpl" version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="101">This structure must be provided when registering a new type of Mtd. It must
have a static lifetime (never be freed).</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="129"/>
      <field name="name" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="103">The name of the metadata type</doc>
        <type name="utf8" c:type="const char*"/>
      </field>
      <field name="mtd_meta_transform">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="104">A pointer to a function that will be called
when the containing meta is transform to potentially copy the data
into a new Mtd into the new meta.</doc>
        <callback name="mtd_meta_transform">
          <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                           line="121"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="transbuf" transfer-ownership="none">
              <type name="Gst.Buffer" c:type="GstBuffer*"/>
            </parameter>
            <parameter name="transmtd" transfer-ownership="none">
              <type name="Mtd" c:type="GstAnalyticsMtd*"/>
            </parameter>
            <parameter name="buffer" transfer-ownership="none">
              <type name="Gst.Buffer" c:type="GstBuffer*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="GLib.Quark" c:type="GQuark"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="mtd_meta_clear">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="107">A pointer to a function that will be called when the
containing meta is cleared to potetially do cleanup (ex. _unref or release)
resources it was using.</doc>
        <callback name="mtd_meta_clear">
          <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                           line="125"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="buffer" transfer-ownership="none">
              <type name="Gst.Buffer" c:type="GstBuffer*"/>
            </parameter>
            <parameter name="mtd" transfer-ownership="none">
              <type name="Mtd" c:type="GstAnalyticsMtd*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved" readable="0" private="1">
        <array zero-terminated="0" fixed-size="19">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ODMtd" c:type="GstAnalyticsODMtd" version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
           line="35">Handle containing data required to use gst_analytics_od_mtd APIs. This type
is generally expected to be allocated on the stack.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                       line="46"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_confidence_lvl"
              c:identifier="gst_analytics_od_mtd_get_confidence_lvl"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="297">Retrieve location confidence level.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="304">TRUE on success, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="299">instance</doc>
            <type name="ODMtd" c:type="const GstAnalyticsODMtd*"/>
          </instance-parameter>
          <parameter name="loc_conf_lvl"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="300">Confidence on object location</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gst_analytics_od_mtd_get_location"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="173">Retrieve location and location confidence level.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="185">TRUE on success, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="175">instance</doc>
            <type name="ODMtd" c:type="const GstAnalyticsODMtd*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="176">x component of upper-left corner of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="177">y component of upper-left corner of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="w"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="178">bounding box width of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="h"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="179">bounding box height of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="loc_conf_lvl"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="180">Confidence on object location</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_obj_type"
              c:identifier="gst_analytics_od_mtd_get_obj_type"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="324">Quark of the class of object associated with this location.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="330">Quark different from on success and 0 on failure.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="326">Instance handle</doc>
            <type name="ODMtd" c:type="const GstAnalyticsODMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_oriented_location"
              c:identifier="gst_analytics_od_mtd_get_oriented_location"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="255">Retrieve oriented location and location confidence level.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="270">TRUE on success, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="257">instance</doc>
            <type name="ODMtd" c:type="const GstAnalyticsODMtd*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="258">x component of upper-left corner of the object location (pre-rotation)</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="259">y component of upper-left corner of the object location (pre-rotation)</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="w"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="260">bounding box width of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="h"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="261">bounding box height of the object location</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="r"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="262">Rotation of the bounding box in radians &lt;0, 2xPI&gt;
   with respect to the bounding box center
   (the rotation value is a clock-wise angle)</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
          <parameter name="loc_conf_lvl"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="265">Confidence on object location</doc>
            <type name="gfloat" c:type="gfloat*"/>
          </parameter>
        </parameters>
      </method>
      <function name="get_mtd_type"
                c:identifier="gst_analytics_od_mtd_get_mtd_type"
                version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="158">Get an id that represent object-detection metadata type</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="163">Opaque id of the #GstAnalyticsMtd type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
      </function>
    </record>
    <bitfield name="RelTypes" version="1.24" c:type="GstAnalyticsRelTypes">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="196"/>
      <member name="none" value="0" c:identifier="GST_ANALYTICS_REL_TYPE_NONE">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="169">No relation</doc>
      </member>
      <member name="is_part_of"
              value="2"
              c:identifier="GST_ANALYTICS_REL_TYPE_IS_PART_OF">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="170">First analysis-meta is part of second analysis-meta</doc>
      </member>
      <member name="contain"
              value="4"
              c:identifier="GST_ANALYTICS_REL_TYPE_CONTAIN">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="171">First analysis-meta contain second analysis-meta.</doc>
      </member>
      <member name="relate_to"
              value="8"
              c:identifier="GST_ANALYTICS_REL_TYPE_RELATE_TO">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="172">First analysis-meta relate to second analysis-meta.</doc>
      </member>
      <member name="n_to_n"
              value="16"
              c:identifier="GST_ANALYTICS_REL_TYPE_N_TO_N"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="186">Used to express relations between two groups where each group's components
correspond to the respective component in the other group.</doc>
      </member>
      <member name="any"
              value="2147483647"
              c:identifier="GST_ANALYTICS_REL_TYPE_ANY">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="176">Only use for criteria.</doc>
      </member>
    </bitfield>
    <record name="RelationMeta"
            c:type="GstAnalyticsRelationMeta"
            disguised="1"
            opaque="1"
            version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="71">An opaque #GstMeta that can be used to hold various types of results
from analysis processes.

The content should be accessed through the API.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="82"/>
      <method name="add_cls_mtd"
              c:identifier="gst_analytics_relation_meta_add_cls_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="179">Add analytic classification metadata to @instance.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="190">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="181">Instance of #GstAnalyticsRelationMeta where to add classification instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="182">length of @confidence_levels</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="confidence_levels" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="183">confidence levels</doc>
            <array length="0" zero-terminated="0" c:type="gfloat*">
              <type name="gfloat" c:type="gfloat"/>
            </array>
          </parameter>
          <parameter name="class_quarks" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="184">labels of this
   classification. Order define index, quark, labels relation. This array
   need to exist as long has this classification meta exist.</doc>
            <array length="0" zero-terminated="0" c:type="GQuark*">
              <type name="GLib.Quark" c:type="GQuark"/>
            </array>
          </parameter>
          <parameter name="cls_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="187">Handle updated to newly added classification meta.</doc>
            <type name="ClsMtd" c:type="GstAnalyticsClsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_mtd"
              c:identifier="gst_analytics_relation_meta_add_mtd"
              version="1.24"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="876">Add a relatable metadata to @meta. This method is meant to be used by
new struct sub-classing GstAnalyticsRelatableMtd.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="256"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="886">A pointer to a memory area of size @size where to put the data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="878">Instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="impl" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="879">Implementation of relatable (#GstAnalyticsRelatableMtd)</doc>
            <type name="MtdImpl" c:type="const GstAnalyticsMtdImpl*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="880">Size required</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="rlt_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="881">Updated handle</doc>
            <type name="Mtd" c:type="GstAnalyticsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_od_mtd"
              c:identifier="gst_analytics_relation_meta_add_od_mtd"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="356">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="346">Instance of #GstAnalyticsRelationMeta where to add classification instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="347">Quark of the object type</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="348">x component of bounding box upper-left corner</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="349">y component of bounding box upper-left corner</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="w" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="350">bounding box width</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="h" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="351">bounding box height</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="loc_conf_lvl" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="352">confidence level on the object location</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="od_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="353">Handle updated with newly added object detection
   meta. Add an object-detetion metadata to @instance.</doc>
            <type name="ODMtd" c:type="GstAnalyticsODMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_one_cls_mtd"
              c:identifier="gst_analytics_relation_meta_add_one_cls_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="221">Add analytic classification metadata to @instance.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="231">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="223">Instance of #GstAnalyticsRelationMeta where to add classification instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="confidence_level" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="224">confidence levels</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="class_quark" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="225">labels of this
   classification. Order define index, quark, labels relation. This array
   need to exist as long has this classification meta exist.</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="cls_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="228">Handle updated to newly added classification meta.</doc>
            <type name="ClsMtd" c:type="GstAnalyticsClsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_oriented_od_mtd"
              c:identifier="gst_analytics_relation_meta_add_oriented_od_mtd"
              version="1.26">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="396">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="383">Instance of #GstAnalyticsRelationMeta where to add classification instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="384">Quark of the object type</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="385">x component of bounding box upper-left corner (pre-rotation)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="386">y component of bounding box upper-left corner (pre-rotation)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="w" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="387">bounding box width</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="h" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="388">bounding box height</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="r" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="389">bounding box rotation in radians &lt;0, 2xPI&gt;
   with respect to the bounding box center
   (the rotation value is a clock-wise angle)</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="loc_conf_lvl" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="392">confidence level on the object location</doc>
            <type name="gfloat" c:type="gfloat"/>
          </parameter>
          <parameter name="od_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="393">Handle updated with newly added object detection
   meta. Add an object-detetion metadata to @instance.</doc>
            <type name="ODMtd" c:type="GstAnalyticsODMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_segmentation_mtd"
              c:identifier="gst_analytics_relation_meta_add_segmentation_mtd"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="361">Add analytics segmentation metadata to @instance. The rectangle (@masks_loc_x,
@mask_loc_y, @mask_loc_w, @mask_loc_h) define a area of the image that
correspond to the segmentation masks stored in @buffer. For example if the
segmentation masks stored in @buffer describe the segmented regions for the
entire image the rectangular area will be (@masks_loc_x = 0, @masks_loc_y = 0,
@masks_loc_w = image_width, @masks_loc_h = image_height).</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="383">TRUE if added successfully, otherwise FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="363">Instance of #GstAnalyticsRelationMeta where to add segmentation
instance.</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="buffer" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="365">Buffer containing segmentation masks. @buffer
must have a #GstVideoMeta attached</doc>
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
          <parameter name="segmentation_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="367">Segmentation type</doc>
            <type name="SegmentationType" c:type="GstSegmentationType"/>
          </parameter>
          <parameter name="region_count" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="368">Number of regions in the masks</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="region_ids" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="369">Arrays of region ids present in the mask.</doc>
            <array length="2" zero-terminated="0" c:type="guint*">
              <type name="guint" c:type="guint"/>
            </array>
          </parameter>
          <parameter name="masks_loc_x" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="370">Left coordinate of the rectangle corresponding to the masks in the image.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="masks_loc_y" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="371">Top coordinate of the rectangle corresponding to the masks in the image.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="masks_loc_w" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="372">Width of the rectangle corresponding to the masks in the image.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="masks_loc_h" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="373">Height of the rectangle corresponding to the masks in the image.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="segmentation_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="374">Handle update with newly added segmentation meta.</doc>
            <type name="SegmentationMtd"
                  c:type="GstAnalyticsSegmentationMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_tensor_mtd"
              c:identifier="gst_analytics_relation_meta_add_tensor_mtd"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="107">Add a new #GstAnalyticsTensorMtd holding a #GstTensor to @instance. The
#GstTensor needs to be filled.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
               line="117">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="109">Instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="110">The number of dimensions in the tensor</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="tensor_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="111">Handle update with newly added tensor mtd.
 Add tensor mtd to @instance.</doc>
            <type name="TensorMtd" c:type="GstAnalyticsTensorMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_tensor_mtd_simple"
              c:identifier="gst_analytics_relation_meta_add_tensor_mtd_simple"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="140">Add a new #GstAnalyticsTensorMtd holding a #GstTensor to @instance.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
               line="155">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="142">Instance</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="143">semantically identify the contents of the tensor</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="144">#GstTensorDataType of tensor data</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="data" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="145">#GstBuffer holding tensor data</doc>
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
          <parameter name="dims_order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="146">Indicate tensor dimension indexing order</doc>
            <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="147">number of tensor dimensions</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="148">size of tensor in each dimension.
    A value of 0 means the dimension is dynamic.</doc>
            <array length="4" zero-terminated="0" c:type="gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
          <parameter name="tensor_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="150">Handle update with newly added tensor mtd.
 Add tensor mtd to @instance.</doc>
            <type name="TensorMtd" c:type="GstAnalyticsTensorMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_tracking_mtd"
              c:identifier="gst_analytics_relation_meta_add_tracking_mtd"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
               line="172">Added successfully</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="167">Instance of GstAnalyticsRelationMeta where to add tracking mtd</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="tracking_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="168">Tracking id</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="tracking_first_seen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="169">Timestamp of first time the object was observed.</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
          <parameter name="trk_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="170">Handle updated with newly added tracking meta.
Add an analytic tracking metadata to @instance.</doc>
            <type name="TrackingMtd" c:type="GstAnalyticsTrackingMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="exist"
              c:identifier="gst_analytics_relation_meta_exist"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="666">Verify existence of relation(s) between @an_meta_first_d and
@an_meta_second_id according to relation condition @cond_types. It optionally
also return a shortest path of relations ( compliant with @cond_types)
between @an_meta_first_id and @an_meta_second_id.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="236"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="690">TRUE if a relation between exit between @an_meta_first_id and
 @an_meta_second_id, otherwise FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="rmeta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="668">a #GstAnalyticsRelationMeta describing analysis-meta
   relation</doc>
            <type name="RelationMeta"
                  c:type="const GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_first_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="670">First analysis-meta</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="an_meta_second_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="671">Second analysis-meta</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="max_relation_span" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="672">Maximum number of relation between @an_meta_first_id and
   @an_meta_second_id.
   A value of 1 mean only only consider direct relation.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cond_types" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="675">condition on relation types.</doc>
            <type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
          </parameter>
          <parameter name="relations_path"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="676">
   If not NULL this list will be filled with relation path between
   @an_meta_first_id and
   @an_meta_second_id. List value should be access with GSList API. Use
   GPOINTER_TO_INT(iter-&gt;data) where iter is a GSList element to get
   analysis-meta id on the relation path. Free this list with g_slist_free
   (@relations_path) after using.</doc>
            <array zero-terminated="0" name="GLib.Array" c:type="GArray**">
              <type name="gint"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="get_cls_mtd"
              c:identifier="gst_analytics_relation_meta_get_cls_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="246">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
               line="256">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="248">Instance of #GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="249">Id of #GstAnalyticsClsMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
                 line="250">Will be filled with relatable
   meta</doc>
            <type name="ClsMtd" c:type="GstAnalyticsClsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_direct_related"
              c:identifier="gst_analytics_relation_meta_get_direct_related"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="277"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="1035">TRUE if @rlt_mtd was updated, other wise FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1025">GstAnalyticsRelationMeta instance where to query for
   GstAnalyticsRelatableMtd.</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1027">Id of GstAnalyticsMtd involved in relation to query</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="relation_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1028">Type of relation to filter on.</doc>
            <type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1029">Type of GstAnalyticsMtd to filter on</doc>
            <type name="MtdType" c:type="GstAnalyticsMtdType"/>
          </parameter>
          <parameter name="state"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1030">Opaque data to store state of the query.
   If @state point to NULL, the first analytics-metadata directly related
   to @an_meta_id will be set in @rlt_mtd. Doesn't need to be free.</doc>
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="rlt_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1033">Handle updated to directly related relatable meta.</doc>
            <type name="Mtd" c:type="GstAnalyticsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mtd"
              c:identifier="gst_analytics_relation_meta_get_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="955">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="261"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="967">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="957">Instance of GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="958">Id of GstAnalyticsMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="959">Filter on a specific type of analysis, use
 %GST_ANALYTICS_MTD_TYPE_ANY to match any type</doc>
            <type name="MtdType" c:type="GstAnalyticsMtdType"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="961">Will be filled with relatable
   meta</doc>
            <type name="Mtd" c:type="GstAnalyticsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mtd_data"
              c:identifier="gst_analytics_relation_meta_get_mtd_data"
              version="1.24"
              introspectable="0">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="266"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="1010">Analytics data pointer</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1007">Instance of GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta"
                  c:type="const GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1008">Id of GstAnalyticsMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_od_mtd"
              c:identifier="gst_analytics_relation_meta_get_od_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="421">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
               line="431">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="423">Instance of #GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="424">Id of #GstAnalyticsODMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
                 line="425">Will be filled with relatable
   meta</doc>
            <type name="ODMtd" c:type="GstAnalyticsODMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_relation"
              c:identifier="gst_analytics_relation_meta_get_relation"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="593">Get relations between first and second analysis-meta.
Ids (@an_meta_first_id and @an_meta_second_id) must be from a call to
@gst_analytics_mtd_get_id (handle).</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="225"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="603">relation description between first and second analysis-meta.</doc>
          <type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="595">a #GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta"
                  c:type="const GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_first_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="596">Id of first analysis-meta</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="an_meta_second_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="597">Id of second  analysis-meta</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_segmentation_mtd"
              c:identifier="gst_analytics_relation_meta_get_segmentation_mtd"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="498">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="508">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="500">Instance of #GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="501">Id of #GstAnalyticsSegmentationMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="502">Will be filled with relatable
   meta</doc>
            <type name="SegmentationMtd"
                  c:type="GstAnalyticsSegmentationMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tensor_mtd"
              c:identifier="gst_analytics_relation_meta_get_tensor_mtd"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="215">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                         line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
               line="225">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="217">Instance of #GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="218">Id of #GstAnalyticsTensorMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="219">Will be filled with relatable
   meta</doc>
            <type name="TensorMtd" c:type="GstAnalyticsTensorMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_tracking_mtd"
              c:identifier="gst_analytics_relation_meta_get_tracking_mtd"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
             line="197">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
otherwise this method return FALSE and @rlt is invalid.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
               line="207">TRUE if successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="199">Instance of GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="an_meta_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="200">Id of GstAnalyticsMtd instance to retrieve</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="rlt"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="201">Will be filled with relatable
   meta</doc>
            <type name="TrackingMtd" c:type="GstAnalyticsTrackingMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="iterate"
              c:identifier="gst_analytics_relation_meta_iterate"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="271"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="1104">FALSE if end was reached and iteration is completed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1097">Instance of GstAnalyticsRelationMeta</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="state"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1098">Opaque data to store iteration state, initialize to NULL, no need to
   free it.</doc>
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1100">Type of GstAnalyticsMtd to iterate on or use
 %GST_ANALYTICS_MTD_TYPE_ANY for any.</doc>
            <type name="MtdType" c:type="GstAnalyticsMtdType"/>
          </parameter>
          <parameter name="rlt_mtd"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="1102">Handle updated to iterated GstAnalyticsRelatableMtd.</doc>
            <type name="Mtd" c:type="GstAnalyticsMtd*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation"
              c:identifier="gst_analytics_relation_meta_set_relation"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="633">Sets the relation (#GstAnalyticsRelTypes) between @an_meta_first and
   @an_meta_second.
Ids must have been obtained a call to
   @gst_analytics_mtd_get_id(handle).</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="230"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="646">TRUE on success and FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="635">Parameter to receive new maximum number of
   analysis-meta described by relation.</doc>
            <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="637">a #GstAnalyticsRelTypes defining relation between two analysis-meta</doc>
            <type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
          </parameter>
          <parameter name="an_meta_first_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="638">first meta id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="an_meta_second_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
                 line="639">second meta id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <function name="get_info"
                c:identifier="gst_analytics_relation_meta_get_info"
                version="1.24"
                introspectable="0">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="481">Get the meta info</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                         line="217"/>
        <return-value transfer-ownership="none">
          <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
        </return-value>
      </function>
    </record>
    <record name="RelationMetaInitParams"
            c:type="GstAnalyticsRelationMetaInitParams"
            version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
           line="199">GstAnalyticsRelationMeta initialization parameters.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="212"/>
      <field name="initial_relation_order" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="201">Initial relations order.</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <field name="initial_buf_size" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
             line="202">Buffer size in bytes to store relatable metadata</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
    </record>
    <record name="SegmentationMtd"
            c:type="GstAnalyticsSegmentationMtd"
            version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
           line="32">This type of metadata holds information on which pixels belongs to
 a region of the image representing a type of object.

 It supports two types of segmentation, semantic or instance:
  * Semantic: All objects of the same type have the same id
  * Instance: Each instance of an object has a different id

 The results of the segmentation are stored in a #GstBuffer that has a
 #GstVideoMeta associated with it. This buffer is stored in the
 GstAnalyticsSegmentationMtd using
 #gst_analytics_relation_meta_add_segmentation_mtd(). The #GstBuffer
 containing the segmentation mask is image-like but the color values are
 arbitrary values, referred by region-id in this API, without meaning beyond
 specifying that two pixels in the original image with the same values in
 their corresponding mask value belong to the same region.

 To further describe a region, the #GstAnalyticsSegmentationMtd can be
 associated with other #GstAnalyticsMtd. Since region ids are
 generated by the segmentation process itself and are not always sequential,
 we use a map of indexes to region ids starting with 0 without discontinuity
 which facilitate N-to-N mapping with other #GstAnalyticsMtd. For
 example it can be associated with #GstAnalyticsClsMtd to describe the class
 of object matching the pixels of a segmented region.

 Example: Associate Instance Segmentation with Classification

 In the following example the segmentation process will fill segmask with
 values of 0 for background, 12 for the first region which correspond to a
 to a strawberry, 7 for the second region that also correspond to  a
 strawberry in the image and 31 for the third region that correspond to a
 leaf in the image.
 region_ids is fill during segmentation post-processing

 region_ids:
 |region-index | region-id |
 |-------------|-----------|
 | 0           | 0         |
 | 1           | 12        |
 | 2           | 7         |
 | 3           | 31        |

 region_count = 4

 ``` C
   GstAnalyticsSegmentationMtd segmtd;
   GstAnalyticsClassificationMtd clsmtd;
   GstBuffer *segmask, *img;
   guint *region_ids;
   gsize region_count, class_count;
   gfloat *class_confidence;
   GQuark *classes;

   ... (segmentation filling segmask based on img)

   gst_analytics_relation_meta_add_segmentation_mtd (rmeta, segmask,
     GST_SEGMENTATION_TYPE_INSTANCE, region_count, region_ids, &amp;segmtd);
   class_count = region_count;

   ... (class-index must match and correspond to region-index)
   classes [0]  = g_quark_from_string ("background");
   classes [1]  = g_quark_from_string ("strawberry");
   classes [2] = g_quark_from_string ("strawberry");
   classes [3] = g_quark_from_string ("leaf");

   ... (set confidence level for each class associated with a region
   ... where -1.0 mean undefined.)
   class_confidence [0] = -1.0;
   class_confidence [1] = 0.6;
   class_confidence [2] = 0.9;
   class_confidence [3] = 0.8;

   gst_analytics_relation_meta_add_cls_mtd (rmeta, class_count,
     class_confidence, classes, &amp;clsmtd);

   gst_analytics_relation_meta_set_relation (rmeta,
    GST_ANALYTICS_REL_TYPE_RELATE_TO, segmtd.id, clsmtd.id);
 ```

 Example: Associate Semantic Segmentation with Classification
 Assuming the same context as for Instance Segmentation above but instead
 a semantic segmentation is performed, therefore region-id-12 and region-id-7
 are now represented by the same region-id-12

 region_ids: (here
 |region-index | region-id |
 |-------------|-----------|
 | 0           | 0         |
 | 1           | 12        |
 | 2           | 31        |

 Code remain the same except that we set all confidence level to undefined
 (-1.0).

 ```
   ... (class-index must match and correspond to region-index)
   classes [0]  = g_quark_from_string ("background");
   classes [1]  = g_quark_from_string ("strawberry");
   classes [2] = g_quark_from_string ("leaf");

   ... (set confidence level for each class associated with a region
   ... where -1.0 mean undefined.)
   class_confidence [0] = -1.0;
   class_confidence [1] = -1.0;
   class_confidence [2] = -1.0;

   gst_analytics_relation_meta_add_cls_mtd (rmeta, class_count,
     class_confidence, classes, &amp;clsmtd);

   gst_analytics_relation_meta_set_relation (rmeta,
    GST_ANALYTICS_REL_TYPE_RELATE_TO, segmtd.id, clsmtd.id);
 ```

 Example: Retrieving class associated with a segmentation region-id-12
 This the typical case for an overlay as we visit the segmentation mask we
 we find region-id values

 ```
 gsize idx;
 gst_analytics_segmentation_mtd_get_region_index (&amp;segmtd, &amp;idx, 12);
 gst_analytics_relation_meta_get_direct_related (rmeta, segmtd.id,
   GST_ANALYTICS_REL_TYPE_RELATE_TO, gst_analytics_cls_mtd_get_type (),
   NULL, &amp;clsmtd);

  GQuark region_class = gst_analytics_cls_mtd_get_quark (&amp;segmtd, idx)
  ...
 ```

 Since: 1.26</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                       line="44"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_mask"
              c:identifier="gst_analytics_segmentation_mtd_get_mask"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="233">Get segmentation mask data.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="69"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="247">Segmentation mask data stored in a #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="235">Instance</doc>
            <type name="SegmentationMtd"
                  c:type="const GstAnalyticsSegmentationMtd*"/>
          </instance-parameter>
          <parameter name="masks_loc_x"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="236">Left coordinate of the
rectangle corresponding to the mask in the image.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="masks_loc_y"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="238">Top coordinate of the
rectangle corresponding to the mask in the image.</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="masks_loc_w"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="240">Width of the rectangle
corresponding to the mask in the image.</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="masks_loc_h"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="242">Height of the rectangle
corresponding to the mask in the image.</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_region_count"
              c:identifier="gst_analytics_segmentation_mtd_get_region_count"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="337">Get the regions count.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="343">Number of regions segmented</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="339">Instance</doc>
            <type name="SegmentationMtd"
                  c:type="const GstAnalyticsSegmentationMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_region_id"
              c:identifier="gst_analytics_segmentation_mtd_get_region_id"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="309">Get id of the region corresponding to @index, which should be
smaller than the return value of
gst_analytics_segmentation_mtd_get_region_count()</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="318">The region ID</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="311">Instance</doc>
            <type name="SegmentationMtd"
                  c:type="const GstAnalyticsSegmentationMtd*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="312">Region index</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_region_index"
              c:identifier="gst_analytics_segmentation_mtd_get_region_index"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="275">Get region index of the region identified by @id.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="283">TRUE if a region with @id exist, otherwise FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="277">Instance</doc>
            <type name="SegmentationMtd"
                  c:type="const GstAnalyticsSegmentationMtd*"/>
          </instance-parameter>
          <parameter name="index"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="278">Region index</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
                 line="279">Region id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <function name="get_mtd_type"
                c:identifier="gst_analytics_segmentation_mtd_get_mtd_type"
                version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="217">Get an instance of #GstAnalyticsMtdType that represent segmentation
metadata type.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
               line="223">A #GstAnalyticsMtdType type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
      </function>
    </record>
    <enumeration name="SegmentationType"
                 version="1.26"
                 c:type="GstSegmentationType">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
           line="46">Enum value describing supported segmentation type</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                       line="61"/>
      <member name="semantic"
              value="0"
              c:identifier="GST_SEGMENTATION_TYPE_SEMANTIC">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
             line="48">Segmentation where the belonging of each
pixel to a class of objects is identified.</doc>
      </member>
      <member name="instance"
              value="1"
              c:identifier="GST_SEGMENTATION_TYPE_INSTANCE">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
             line="50">Segmentation where the belonging of each
pixel to instance of an object is identified.</doc>
      </member>
    </enumeration>
    <record name="Tensor"
            c:type="GstTensor"
            version="1.26"
            glib:type-name="GstTensor"
            glib:get-type="gst_tensor_get_type"
            c:symbol-prefix="tensor">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensor.h"
           line="168">Hold tensor data</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                       line="191"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="170">semantically identify the contents of the tensor</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </field>
      <field name="layout" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="171">Indicate tensor layout</doc>
        <type name="TensorLayout" c:type="GstTensorLayout"/>
      </field>
      <field name="data_type" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="172">#GstTensorDataType of tensor data</doc>
        <type name="TensorDataType" c:type="GstTensorDataType"/>
      </field>
      <field name="data" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="173">#GstBuffer holding tensor data</doc>
        <type name="Gst.Buffer" c:type="GstBuffer*"/>
      </field>
      <field name="dims_order" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="174">Indicate tensor elements layout in memory.</doc>
        <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
      </field>
      <field name="num_dims" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="175">number of tensor dimensions</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <field name="dims" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="176">number of tensor dimensions</doc>
        <array length="5" zero-terminated="0">
          <type name="gsize" c:type="gsize"/>
        </array>
      </field>
      <constructor name="alloc" c:identifier="gst_tensor_alloc" version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="33">Allocate a tensor with @num_dims dimensions.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="198"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="39">tensor allocated</doc>
          <type name="Tensor" c:type="GstTensor*"/>
        </return-value>
        <parameters>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="35">Number of dimension of the tensors</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_simple"
                   c:identifier="gst_tensor_new_simple"
                   version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="87">Allocates a new #GstTensor of @dims_order ROW_MAJOR or COLUMN_MAJOR and
with an interleaved layout.

For example, a two-dimensional tensor with 32 rows and 4 columns, @dims would
be the two element array `[32, 4]`.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="201"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="103">A newly allocated #GstTensor</doc>
          <type name="Tensor" c:type="GstTensor*"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="89">semantically identify the contents of the tensor</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="90">#GstTensorDataType of tensor data</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="data" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="91">#GstBuffer holding tensor data</doc>
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
          <parameter name="dims_order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="92">Indicate tensor dimension indexing order</doc>
            <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="93">number of tensor dimensions</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="94">size of tensor in each dimension.
    A value of 0 means the dimension is dynamic.</doc>
            <array length="4" zero-terminated="0" c:type="gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
        </parameters>
      </constructor>
      <method name="check_type"
              c:identifier="gst_tensor_check_type"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="303">Validate the tensor whether it mathces the reading order, dimensions and the data type.
Validate whether the #GstBuffer has enough size to hold the tensor data.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="229"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="314">TRUE if the #GstTensor has the reading order from the memory matching @order,
dimensions matching @num_dims, data type matching @data_type
Otherwise FALSE will be returned.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tensor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="305">A #GstTensor</doc>
            <type name="Tensor" c:type="const GstTensor*"/>
          </instance-parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="306">The data type of the tensor</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="307">The order of the tensor to read from the memory</doc>
            <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="308">The number of dimensions that the tensor can have</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="309">An optional array of dimensions, where G_MAXSIZE means ANY.</doc>
            <array length="2" zero-terminated="0" c:type="const gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="gst_tensor_copy" version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="213">Create a copy of @tensor.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="217"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="219">a new #GstTensor</doc>
          <type name="Tensor" c:type="GstTensor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tensor"
                              transfer-ownership="none"
                              nullable="1"
                              allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="215">a #GstTensor to be copied</doc>
            <type name="Tensor" c:type="const GstTensor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gst_tensor_free" version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="196">Free tensor</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="214"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tensor" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="198">pointer to tensor to free</doc>
            <type name="Tensor" c:type="GstTensor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_dims"
              c:identifier="gst_tensor_get_dims"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="236">Gets the dimensions of the tensor.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="220"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="243">The dims array form the tensor</doc>
          <array length="0" zero-terminated="0" c:type="gsize*">
            <type name="gsize" c:type="gsize"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="tensor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="238">a #GstTensor</doc>
            <type name="Tensor" c:type="GstTensor*"/>
          </instance-parameter>
          <parameter name="num_dims"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="239">The number of dimensions</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_simple"
              c:identifier="gst_tensor_set_simple"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="124">Sets the content of a #GstTensor of @dims_order ROW_MAJOR or COLUMN_MAJOR and
with an interleaved layout. The #GstTensor must have exactly num_dims.

For example, a two-dimensional tensor with 32 rows and 4 columns, @dims would
be the two element array `[32, 4]`.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="209"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="141">TRUE if it coudl be set correctly</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tensor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="126">a #GstTensor</doc>
            <type name="Tensor" c:type="GstTensor*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="127">semantically identify the contents of the tensor</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="128">#GstTensorDataType of tensor data</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="data" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="129">#GstBuffer holding tensor data</doc>
            <type name="Gst.Buffer" c:type="GstBuffer*"/>
          </parameter>
          <parameter name="dims_order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="130">Indicate tensor dimension indexing order</doc>
            <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="131">number of tensor dimensions</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="132">size of tensor in each dimension.
    A value of 0 means the dimension is dynamic.</doc>
            <array length="4" zero-terminated="0" c:type="gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <function name="data_type_get_name"
                c:identifier="gst_tensor_data_type_get_name"
                version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="256">Get a string version of the data type</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                         line="226"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="262">a constant string with the name of the data type</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensor.c"
                 line="258">a #GstTensorDataType</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <enumeration name="TensorDataType"
                 version="1.26"
                 c:type="GstTensorDataType">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensor.h"
           line="33">Describe the type of data contain in the tensor.</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                       line="138"/>
      <member name="int4" value="0" c:identifier="GST_TENSOR_DATA_TYPE_INT4">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="35">signed 4 bit integer tensor data</doc>
      </member>
      <member name="int8" value="1" c:identifier="GST_TENSOR_DATA_TYPE_INT8">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="36">signed 8 bit integer tensor data</doc>
      </member>
      <member name="int16" value="2" c:identifier="GST_TENSOR_DATA_TYPE_INT16">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="37">signed 16 bit integer tensor data</doc>
      </member>
      <member name="int32" value="3" c:identifier="GST_TENSOR_DATA_TYPE_INT32">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="38">signed 32 bit integer tensor data</doc>
      </member>
      <member name="int64" value="4" c:identifier="GST_TENSOR_DATA_TYPE_INT64">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="39">signed 64 bit integer tensor data</doc>
      </member>
      <member name="uint4" value="5" c:identifier="GST_TENSOR_DATA_TYPE_UINT4">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="40">unsigned 4 bit integer tensor data</doc>
      </member>
      <member name="uint8" value="6" c:identifier="GST_TENSOR_DATA_TYPE_UINT8">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="41">unsigned 8 bit integer tensor data</doc>
      </member>
      <member name="uint16"
              value="7"
              c:identifier="GST_TENSOR_DATA_TYPE_UINT16">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="42">unsigned 16 bit integer tensor data</doc>
      </member>
      <member name="uint32"
              value="8"
              c:identifier="GST_TENSOR_DATA_TYPE_UINT32">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="43">unsigned 32 bit integer tensor data</doc>
      </member>
      <member name="uint64"
              value="9"
              c:identifier="GST_TENSOR_DATA_TYPE_UINT64">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="44">unsigned 64 bit integer tensor data</doc>
      </member>
      <member name="float16"
              value="10"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT16">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="45">16 bit floating point tensor data</doc>
      </member>
      <member name="float32"
              value="11"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT32">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="46">32 bit floating point tensor data</doc>
      </member>
      <member name="float64"
              value="12"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT64">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="47">64 bit floating point tensor data</doc>
      </member>
      <member name="bfloat16"
              value="13"
              c:identifier="GST_TENSOR_DATA_TYPE_BFLOAT16">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="48">"brain" 16 bit floating point tensor data</doc>
      </member>
      <member name="string"
              value="14"
              c:identifier="GST_TENSOR_DATA_TYPE_STRING"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="70">UTF-8 string</doc>
      </member>
      <member name="bool"
              value="15"
              c:identifier="GST_TENSOR_DATA_TYPE_BOOL"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="78">A boolean value stored in 1 byte.</doc>
      </member>
      <member name="complex64"
              value="16"
              c:identifier="GST_TENSOR_DATA_TYPE_COMPLEX64"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="86">A 64-bit complex number stored in 2 32-bit values.</doc>
      </member>
      <member name="complex128"
              value="17"
              c:identifier="GST_TENSOR_DATA_TYPE_COMPLEX128"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="94">A 128-bit complex number stored in 2 64-bit values.</doc>
      </member>
      <member name="float8e4m3fn"
              value="18"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT8E4M3FN"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="102">A non-IEEE 8-bit floating point format with 4 exponent bits and 3 mantissa bits, with NaN and no infinite values (FN).
See [this paper for more details](https://onnx.ai/onnx/technical/float8.html)</doc>
      </member>
      <member name="float8e4m3fnuz"
              value="19"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT8E4M3FNUZ"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="111">A non-IEEE 8-bit floating point format with 4 exponent bits and 3 mantissa bits, with NaN, no infinite values (FN) and no negative zero (UZ).
See [this paper for more details](https://onnx.ai/onnx/technical/float8.html)</doc>
      </member>
      <member name="float8e5m2"
              value="20"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT8E5M2"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="120">A non-IEEE 8-bit floating point format with 5 exponent bits and 2 mantissa bits.
See [this paper for more details](https://onnx.ai/onnx/technical/float8.html)</doc>
      </member>
      <member name="float8e5m2fnuz"
              value="21"
              c:identifier="GST_TENSOR_DATA_TYPE_FLOAT8E5M2FNUZ"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="129">A non-IEEE 8-bit floating point format with 5 exponent bits and 2 mantissa bits, with NaN, no infinite values (FN) and no negative zero (UZ).
See [this paper for more details](https://onnx.ai/onnx/technical/float8.html)</doc>
      </member>
    </enumeration>
    <enumeration name="TensorDimOrder"
                 version="1.26"
                 c:type="GstTensorDimOrder">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensor.h"
           line="140">Indicate to read tensor from memory in row-major or column-major order.</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                       line="153"/>
      <member name="row_major"
              value="0"
              c:identifier="GST_TENSOR_DIM_ORDER_ROW_MAJOR">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="142">elements along a row are consecutive in memory</doc>
      </member>
      <member name="col_major"
              value="1"
              c:identifier="GST_TENSOR_DIM_ORDER_COL_MAJOR">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="143">elements along a column are consecutive in memory</doc>
      </member>
    </enumeration>
    <enumeration name="TensorLayout" version="1.26" c:type="GstTensorLayout">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensor.h"
           line="155">Indicate tensor storage in memory.</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                       line="166"/>
      <member name="tensor_layout_contiguous"
              value="0"
              c:identifier="GST_TENSOR_LAYOUT_CONTIGUOUS">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.h"
             line="157">indicate the tensor is stored in a dense format in memory</doc>
      </member>
    </enumeration>
    <record name="TensorMeta" c:type="GstTensorMeta" version="1.26">
      <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                       line="48"/>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.h"
             line="36">parent</doc>
        <type name="Gst.Meta" c:type="GstMeta"/>
      </field>
      <field name="num_tensors" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.h"
             line="37">number of tensors</doc>
        <type name="gsize" c:type="gsize"/>
      </field>
      <field name="tensors" writable="1">
        <type name="Tensor" c:type="GstTensor**"/>
      </field>
      <method name="get" c:identifier="gst_tensor_meta_get" version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="240">Retrieves a tensor from the #GstTensorMeta, the index must be
smaller than #GstTensorMeta.num_tensors</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="248">a GstTensor</doc>
          <type name="Tensor" c:type="const GstTensor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tmeta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="242">A #GstTensorMeta</doc>
            <type name="TensorMeta" c:type="GstTensorMeta*"/>
          </instance-parameter>
          <parameter name="index" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="243">The number of the tensor to get</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_by_id"
              c:identifier="gst_tensor_meta_get_by_id"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="177">Get the first tensor from the #GstTensorMeta identified by @id.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="83"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="184">a GstTensor with id matching @id.
Otherwise NULL will be returned.</doc>
          <type name="Tensor" c:type="const GstTensor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tmeta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="179">A #GstTensorMeta</doc>
            <type name="TensorMeta" c:type="GstTensorMeta*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="180">A #GQuark identifying tensor-encoding</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_index_from_id"
              c:identifier="gst_tensor_meta_get_index_from_id"
              version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="261">Finds the first tensor with the requsted ID in the meta</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="268">The index of the tensor inthe meta, or -1 if
 its not found.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="meta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="263">a #GstTensorMeta</doc>
            <type name="TensorMeta" c:type="GstTensorMeta*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="264">The tensor id to look for</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_typed_tensor"
              c:identifier="gst_tensor_meta_get_typed_tensor"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="203">Get the first tensor from the #GstTensorMeta identified by
@tensor_id, matching the reading order, dimensions and the data
type and optionally the dimensions.  Validate whether the
#GstBuffer has enough size to hold the tensor data.</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="86"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="217">a matching #GstTensor,
otherwise NULL</doc>
          <type name="Tensor" c:type="const GstTensor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tmeta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="205">A #GstTensorMeta</doc>
            <type name="TensorMeta" c:type="GstTensorMeta*"/>
          </instance-parameter>
          <parameter name="tensor_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="206">A #GQuark identifying the tensor-encoding</doc>
            <type name="GLib.Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="data_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="207">The data type of the tensor</doc>
            <type name="TensorDataType" c:type="GstTensorDataType"/>
          </parameter>
          <parameter name="order" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="208">The order of the tensor to read from the memory</doc>
            <type name="TensorDimOrder" c:type="GstTensorDimOrder"/>
          </parameter>
          <parameter name="num_dims" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="209">The number of dimensions that the tensor can have</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="dims"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="210">An optional array of dimensions, where G_MAXSIZE means ANY.</doc>
            <array length="3" zero-terminated="0" c:type="const gsize*">
              <type name="gsize" c:type="gsize"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="gst_tensor_meta_set" version="1.26">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="152">Sets tensors into the #GstTensorMeta</doc>
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tmeta" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="154">a #GstTensorMeta</doc>
            <type name="TensorMeta" c:type="GstTensorMeta*"/>
          </instance-parameter>
          <parameter name="num_tensors" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="155">The number of tensors in the @tensors array</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="tensors" transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gsttensormeta.c"
                 line="156">An array of poiners to #GstTensor</doc>
            <array length="0" zero-terminated="0" c:type="GstTensor**">
              <type name="Tensor" c:type="GstTensor*"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <function name="get_info"
                c:identifier="gst_tensor_meta_get_info"
                version="1.26"
                introspectable="0">
        <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
        </return-value>
      </function>
    </record>
    <record name="TensorMtd" c:type="GstAnalyticsTensorMtd" version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
           line="29">This type of metadata holds a tensor. It can be used to store tensor as
analytics-meta for their ability to relate to each others. For example
in a multi-model analytics pipeline, we sometime have one model input match
the output of the other model. In this context it can be useful to keep the
ancestry relation between first tensor, output of first inference, and the
second tensor, output from second inference. Another use-case for
#GstAnalyticsTensorMtd is to transport tensors from inference element to a
post-processing element using a computing graph framework, like ONNX.
Essentially #GstAnalyticsTensorMtd is a GstBuffer encapsulated by a
analytics-meta with additional parameters describing the tensor.

Since 1.28</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                       line="44"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_tensor"
              c:identifier="gst_analytics_tensor_mtd_get_tensor"
              version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="83">Get tensor</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
               line="89">a #GstTensor</doc>
          <type name="Tensor" c:type="GstTensor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
                 line="85">Instance of #GstAnalyticsTensorMtd</doc>
            <type name="TensorMtd" c:type="const GstAnalyticsTensorMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_mtd_type"
                c:identifier="gst_analytics_tensor_mtd_get_mtd_type"
                version="1.28">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="68">Get an id that represent tensor metadata type</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
               line="73">Opaque id of the #GstAnalyticsMtd type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
      </function>
    </record>
    <record name="TrackingMtd" c:type="GstAnalyticsTrackingMtd" version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
           line="45">Store information on results of object tracking</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                       line="45"/>
      <field name="id" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="35">Instance identifier</doc>
        <type name="guint" c:type="guint"/>
      </field>
      <field name="meta" writable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
             line="36">Instance of #GstAnalyticsRelationMeta where the analytics-metadata
identified by @id is stored</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </field>
      <method name="get_info"
              c:identifier="gst_analytics_tracking_mtd_get_info"
              version="1.24">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
             line="127">Retrieve tracking information.</doc>
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
               line="137">Successfully retrieved info.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="129">Instance of tracking metadata</doc>
            <type name="TrackingMtd" c:type="const GstAnalyticsTrackingMtd*"/>
          </instance-parameter>
          <parameter name="tracking_id"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="130">Updated tracking id</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
          <parameter name="tracking_first_seen"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="131">Updated timestamp of the tracking first observation.</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime*"/>
          </parameter>
          <parameter name="tracking_last_seen"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="132">Updated timestamp of the tracking last observation.</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime*"/>
          </parameter>
          <parameter name="tracking_lost"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="133">Has the tracking been lost</doc>
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_lost"
              c:identifier="gst_analytics_tracking_mtd_set_lost"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
               line="111">Update successful</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="108">Instance of GstAnalyticsTrackingMtd.
Set tracking to lost</doc>
            <type name="TrackingMtd" c:type="GstAnalyticsTrackingMtd*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_last_seen"
              c:identifier="gst_analytics_tracking_mtd_update_last_seen"
              version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="instance" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="87">GstAnalyticsTrackingMtd instance</doc>
            <type name="TrackingMtd" c:type="GstAnalyticsTrackingMtd*"/>
          </instance-parameter>
          <parameter name="last_seen" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
                 line="88">Timestamp of last time this object was tracked</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
        </parameters>
      </method>
      <function name="get_mtd_type"
                c:identifier="gst_analytics_tracking_mtd_get_mtd_type"
                version="1.24">
        <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
               line="73">id representing the type of GstAnalyticsRelatableMtd

Get the opaque id identifying the relatable type</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </return-value>
      </function>
    </record>
    <function name="batch_meta_api_get_type"
              c:identifier="gst_analytics_batch_meta_api_get_type"
              version="1.28"
              introspectable="0">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="126"/>
      <return-value transfer-ownership="none">
        <type name="GType" c:type="GType"/>
      </return-value>
    </function>
    <function name="batch_meta_get_info"
              c:identifier="gst_analytics_batch_meta_get_info"
              moved-to="BatchMeta.get_info"
              version="1.28"
              introspectable="0">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="129"/>
      <return-value transfer-ownership="none">
        <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
      </return-value>
    </function>
    <function name="buffer_add_analytics_batch_meta"
              c:identifier="gst_buffer_add_analytics_batch_meta"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
           line="145">Adds a #GstAnalyticsBatchMeta to a buffer or returns the existing one</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="133"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
             line="151">The new #GstAnalyticsBatchMeta</doc>
        <type name="BatchMeta" c:type="GstAnalyticsBatchMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
               line="147">A writable #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_analytics_relation_meta"
              c:identifier="gst_buffer_add_analytics_relation_meta"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="805">Attach a analysis-results-meta-relation  meta (#GstAnalyticsRelationMeta)to @buffer.

A #GstAnalyticsRelationMeta is a metadata describing relation between other
analysis meta. It's more efficient to use #gst_buffer_add_analytics_relation_meta_full
and providing the maximum number of analysis meta that will attached to a buffer.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="243"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="815">Newly attached #GstAnalyticsRelationMeta</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="807">a #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_analytics_relation_meta_full"
              c:identifier="gst_buffer_add_analytics_relation_meta_full"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="825">Attache a analysis-results relation-meta (#GstAnalyticsRelationMeta) to @buffer.

A #GstAnalyticsRelationMeta is a metadata describing relation between other
analysis meta.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="247"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="835">Newly attached #GstAnalyticsRelationMeta</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="827">a #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
        <parameter name="init_params" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="828">Initialization parameters</doc>
          <type name="RelationMetaInitParams"
                c:type="GstAnalyticsRelationMetaInitParams*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_add_tensor_meta"
              c:identifier="gst_buffer_add_tensor_meta"
              version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensormeta.c"
           line="116">Adds a #GstTensorMeta to a buffer</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                       line="98"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="122">The new #GstTensorMeta</doc>
        <type name="TensorMeta" c:type="GstTensorMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="118">A writable #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_analytics_batch_meta"
              c:identifier="gst_buffer_get_analytics_batch_meta"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
           line="163">Gets the #GstAnalyticsBatchMeta from a buffer</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.h"
                       line="137"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
             line="169">The #GstAnalyticsBatchMeta if there is one</doc>
        <type name="BatchMeta" c:type="GstAnalyticsBatchMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsbatchmeta.c"
               line="165">A #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_analytics_relation_meta"
              c:identifier="gst_buffer_get_analytics_relation_meta"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="860">Retrives the meta or %NULL if it doesn't exist</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="252"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="866">The #GstAnalyticsRelationMeta if there is one</doc>
        <type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="862">a #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="buffer_get_tensor_meta"
              c:identifier="gst_buffer_get_tensor_meta"
              version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensormeta.c"
           line="134">Gets the #GstTensorMeta from a buffer</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                       line="102"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensormeta.c"
             line="140">The #GstTensorMeta if there is wone</doc>
        <type name="TensorMeta" c:type="GstTensorMeta*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensormeta.c"
               line="136">A #GstBuffer</doc>
          <type name="Gst.Buffer" c:type="GstBuffer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="cls_mtd_get_mtd_type"
              c:identifier="gst_analytics_cls_mtd_get_mtd_type"
              moved-to="ClsMtd.get_mtd_type"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
           line="72">Get an id identifying #GstAnalyticsMtd type.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"
                       line="44"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
             line="77">opaque id of #GstAnalyticsMtd type</doc>
        <type name="MtdType" c:type="GstAnalyticsMtdType"/>
      </return-value>
    </function>
    <docsection name="gstanalyticsclassificationtd">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsclassificationmtd.c"
           line="27">This type of metadata holds classification, it is generally used in
relationship with another metadata type to enhance its content. For example,
it can enhance the classifcation of an object detection held by the
#GstAnalyticsODMtd metadata type.</doc>
    </docsection>
    <docsection name="gstanalyticsmeta">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="29">The #GstAnalyticsRelationMeta is a #GstMeta that can contain a large number
of results from the analysis of a meta. Each result can be accessed by
using its id, or more conviently, by using a #GstAnalyticsMtd. A matrix
of relationships between the various metadata is also defined and can be
filled by the analysis processes.</doc>
    </docsection>
    <docsection name="gstanalyticsobjectdetectionmtd">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
           line="34">This type of metadata holds the position of detected object inside the
image, along with the probabily of each detection.</doc>
    </docsection>
    <docsection name="gstanalyticsobjecttrackingmtd">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
           line="27">This type of metadata holds tracking information. In many cases, it is
desired to track an object across many frames. This type of metadata holds
information about the tracking, for example, it can be used alongside a
#GstAnalyticsODMtd to track an object.</doc>
    </docsection>
    <function name="image_util_iou_float"
              c:identifier="gst_analytics_image_util_iou_float"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
           line="163">Calculate the intersection over the union (IoU) of the two areas defined by
the bounding box 1 and bounding box 2. IoU is a measure of how much two
regions overlap.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalytics_image_util.h"
                       line="36"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
             line="178">IoU of bb1 and bb2.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </return-value>
      <parameters>
        <parameter name="bb1_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="165">Bounding box 1, X coordinate</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb1_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="166">Bounding box 1, Y coordinate</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb1_w" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="167">Bounding box 1, width</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb1_h" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="168">Bounding box 1, height</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb2_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="169">Bounding box 2, X coordinate</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb2_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="170">Bounding box 2, Y coordinate</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb2_w" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="171">Bounding box 2, width</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
        <parameter name="bb2_h" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="172">Bounding box 2, height</doc>
          <type name="gfloat" c:type="gfloat"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_util_iou_int"
              c:identifier="gst_analytics_image_util_iou_int"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
           line="99">Calculate the intersection over the union (IoU) of the two areas defined by
the bounding box 1 and bounding box 2. IoU is a measure of how much two
regions overlap.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalytics_image_util.h"
                       line="32"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
             line="114">IoU of bb1 and bb2.</doc>
        <type name="gfloat" c:type="gfloat"/>
      </return-value>
      <parameters>
        <parameter name="bb1_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="101">Bounding box 1, X coordinate</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb1_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="102">Bounding box 1, Y coordinate</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb1_w" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="103">Bounding box 1, width</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb1_h" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="104">Bounding box 1, height</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb2_x" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="105">Bounding box 2, X coordinate</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb2_y" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="106">Bounding box 2, Y coordinate</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb2_w" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="107">Bounding box 2, width</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="bb2_h" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalytics_image_util.c"
               line="108">Bounding box 2, height</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="modelinfo_load"
              c:identifier="gst_analytics_modelinfo_load"
              moved-to="ModelInfo.load"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/modelinfo.c"
           line="487">Load a modelinfo file associated with the given model file.

This function attempts to load a `.modelinfo` file in the following order:
1. `{model_filename}.modelinfo`
2. `{model_filename_without_extension}.modelinfo`

The modelinfo file contains metadata for the model's input and output tensors,
including normalization ranges, dimension ordering, tensor IDs, etc.

The loaded modelinfo must be freed with gst_analytics_modelinfo_free()
when no longer needed.</doc>
      <source-position filename="gst-libs/gst/analytics/modelinfo.h"
                       line="109"/>
      <return-value transfer-ownership="full" nullable="1">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/modelinfo.c"
             line="503">A new #GstAnalyticsModelInfo instance,
   or %NULL if the modelinfo file could not be found or loaded.</doc>
        <type name="ModelInfo" c:type="GstAnalyticsModelInfo*"/>
      </return-value>
      <parameters>
        <parameter name="model_filename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/modelinfo.c"
               line="489">Path to the model file (e.g., "model.onnx", "model.tflite")</doc>
          <type name="filename" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="mtd_type_get_name"
              c:identifier="gst_analytics_mtd_type_get_name"
              moved-to="Mtd.type_get_name"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="194">Gets the string version of the name of this type of analytics data</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="142"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="200">the name</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="196">The type of analytics data</doc>
          <type name="MtdType" c:type="GstAnalyticsMtdType"/>
        </parameter>
      </parameters>
    </function>
    <function name="od_mtd_get_mtd_type"
              c:identifier="gst_analytics_od_mtd_get_mtd_type"
              moved-to="ODMtd.get_mtd_type"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
           line="158">Get an id that represent object-detection metadata type</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"
                       line="49"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c"
             line="163">Opaque id of the #GstAnalyticsMtd type</doc>
        <type name="MtdType" c:type="GstAnalyticsMtdType"/>
      </return-value>
    </function>
    <function name="relation_get_length"
              c:identifier="gst_analytics_relation_get_length"
              version="1.24">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="214">Get number of relatable meta attached to instance</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="221"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="220">Number of analysis-meta attached to this
 instance.</doc>
        <type name="gsize" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="instance" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
               line="216">Instance of #GstAnalyticsRelationMeta</doc>
          <type name="RelationMeta" c:type="const GstAnalyticsRelationMeta*"/>
        </parameter>
      </parameters>
    </function>
    <function name="relation_meta_api_get_type"
              c:identifier="gst_analytics_relation_meta_api_get_type"
              version="1.24">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="214"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
             line="283">GType of GstAnalyticsRelationMeta</doc>
        <type name="GType" c:type="GType"/>
      </return-value>
    </function>
    <function name="relation_meta_get_info"
              c:identifier="gst_analytics_relation_meta_get_info"
              moved-to="RelationMeta.get_info"
              version="1.24"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticsmeta.c"
           line="481">Get the meta info</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticsmeta.h"
                       line="217"/>
      <return-value transfer-ownership="none">
        <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
      </return-value>
    </function>
    <function name="segmentation_mtd_get_mtd_type"
              c:identifier="gst_analytics_segmentation_mtd_get_mtd_type"
              moved-to="SegmentationMtd.get_mtd_type"
              version="1.26">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
           line="217">Get an instance of #GstAnalyticsMtdType that represent segmentation
metadata type.</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.h"
                       line="65"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticssegmentationmtd.c"
             line="223">A #GstAnalyticsMtdType type</doc>
        <type name="MtdType" c:type="GstAnalyticsMtdType"/>
      </return-value>
    </function>
    <function name="tensor_data_type_get_name"
              c:identifier="gst_tensor_data_type_get_name"
              moved-to="Tensor.data_type_get_name"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gsttensor.c"
           line="256">Get a string version of the data type</doc>
      <source-position filename="gst-libs/gst/analytics/gsttensor.h"
                       line="226"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gsttensor.c"
             line="262">a constant string with the name of the data type</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="data_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gst-libs/gst/analytics/gsttensor.c"
               line="258">a #GstTensorDataType</doc>
          <type name="TensorDataType" c:type="GstTensorDataType"/>
        </parameter>
      </parameters>
    </function>
    <function name="tensor_meta_api_get_type"
              c:identifier="gst_tensor_meta_api_get_type"
              version="1.26"
              introspectable="0">
      <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                       line="73"/>
      <return-value transfer-ownership="none">
        <type name="GType" c:type="GType"/>
      </return-value>
    </function>
    <function name="tensor_meta_get_info"
              c:identifier="gst_tensor_meta_get_info"
              moved-to="TensorMeta.get_info"
              version="1.26"
              introspectable="0">
      <source-position filename="gst-libs/gst/analytics/gsttensormeta.h"
                       line="76"/>
      <return-value transfer-ownership="none">
        <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
      </return-value>
    </function>
    <function name="tensor_mtd_get_mtd_type"
              c:identifier="gst_analytics_tensor_mtd_get_mtd_type"
              moved-to="TensorMtd.get_mtd_type"
              version="1.28">
      <doc xml:space="preserve"
           filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
           line="68">Get an id that represent tensor metadata type</doc>
      <source-position filename="gst-libs/gst/analytics/gstanalyticstensormtd.h"
                       line="49"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticstensormtd.c"
             line="73">Opaque id of the #GstAnalyticsMtd type</doc>
        <type name="MtdType" c:type="GstAnalyticsMtdType"/>
      </return-value>
    </function>
    <function name="tracking_mtd_get_mtd_type"
              c:identifier="gst_analytics_tracking_mtd_get_mtd_type"
              moved-to="TrackingMtd.get_mtd_type"
              version="1.24">
      <source-position filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"
                       line="48"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c"
             line="73">id representing the type of GstAnalyticsRelatableMtd

Get the opaque id identifying the relatable type</doc>
        <type name="MtdType" c:type="GstAnalyticsMtdType"/>
      </return-value>
    </function>
  </namespace>
</repository>
