<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <namespace name="GUPnPDLNA"
             version="2.0"
             shared-library="libgupnp-dlna-2.0.so.3"
             c:identifier-prefixes="GUPnPDLNA"
             c:symbol-prefixes="gupnp_dlna">
    <class name="AudioInformation"
           c:symbol-prefix="audio_information"
           c:type="GUPnPDLNAAudioInformation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAAudioInformation"
           glib:get-type="gupnp_dlna_audio_information_get_type"
           glib:type-struct="AudioInformationClass">
      <virtual-method name="get_bitrate"
                      invoker="get_bitrate"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_channels"
                      invoker="get_channels"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A number of channels.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_depth" invoker="get_depth" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A depth.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_layer" invoker="get_layer" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A layer.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_level" invoker="get_level" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_audio_version"
                      invoker="get_mpeg_audio_version"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG audio version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_rate" invoker="get_rate" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A sample rate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_stream_format"
                      invoker="get_stream_format"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A stream format.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_wma_version"
                      invoker="get_wma_version"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A WMA version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_bitrate"
              c:identifier="gupnp_dlna_audio_information_get_bitrate"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_channels"
              c:identifier="gupnp_dlna_audio_information_get_channels"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A number of channels.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_depth"
              c:identifier="gupnp_dlna_audio_information_get_depth"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A depth.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_layer"
              c:identifier="gupnp_dlna_audio_information_get_layer"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A layer.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_level"
              c:identifier="gupnp_dlna_audio_information_get_level"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime"
              c:identifier="gupnp_dlna_audio_information_get_mime"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mpeg_audio_version"
              c:identifier="gupnp_dlna_audio_information_get_mpeg_audio_version"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG audio version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mpeg_version"
              c:identifier="gupnp_dlna_audio_information_get_mpeg_version"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="gupnp_dlna_audio_information_get_profile"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rate"
              c:identifier="gupnp_dlna_audio_information_get_rate"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A sample rate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_format"
              c:identifier="gupnp_dlna_audio_information_get_stream_format"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A stream format.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_wma_version"
              c:identifier="gupnp_dlna_audio_information_get_wma_version"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A WMA version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="AudioInformationPrivate"
              c:type="GUPnPDLNAAudioInformationPrivate*"/>
      </field>
    </class>
    <record name="AudioInformationClass"
            c:type="GUPnPDLNAAudioInformationClass"
            glib:is-gtype-struct-for="AudioInformation">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_bitrate" introspectable="0">
        <callback name="get_bitrate" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A bitrate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_channels" introspectable="0">
        <callback name="get_channels" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A number of channels.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_depth" introspectable="0">
        <callback name="get_depth" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A depth.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_layer" introspectable="0">
        <callback name="get_layer" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A layer.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_level" introspectable="0">
        <callback name="get_level" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A level.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_audio_version" introspectable="0">
        <callback name="get_mpeg_audio_version" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">An MPEG audio version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <callback name="get_mpeg_version" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <callback name="get_profile" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_rate" introspectable="0">
        <callback name="get_rate" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A sample rate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_stream_format" introspectable="0">
        <callback name="get_stream_format" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A stream format.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_wma_version" introspectable="0">
        <callback name="get_wma_version" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A WMA version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <callback name="get_mime" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <array zero-terminated="0" c:type="gpointer" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="AudioInformationPrivate"
            c:type="GUPnPDLNAAudioInformationPrivate"
            disguised="1">
    </record>
    <record name="BoolValue" c:type="GUPnPDLNABoolValue">
      <doc xml:whitespace="preserve">GUPnP DLNA Value representing a boolean value of some metadata attribute.</doc>
      <field name="value" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="state" writable="1">
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <class name="ContainerInformation"
           c:symbol-prefix="container_information"
           c:type="GUPnPDLNAContainerInformation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAContainerInformation"
           glib:get-type="gupnp_dlna_container_information_get_type"
           glib:type-struct="ContainerInformationClass">
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_packet_size"
                      invoker="get_packet_size"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A packet size.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_variant"
                      invoker="get_variant"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A variant.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_system_stream"
                      invoker="is_system_stream"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether it is system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_mime"
              c:identifier="gupnp_dlna_container_information_get_mime"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mpeg_version"
              c:identifier="gupnp_dlna_container_information_get_mpeg_version"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_packet_size"
              c:identifier="gupnp_dlna_container_information_get_packet_size"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A packet size.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="gupnp_dlna_container_information_get_profile"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_variant"
              c:identifier="gupnp_dlna_container_information_get_variant"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A variant.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_system_stream"
              c:identifier="gupnp_dlna_container_information_is_system_stream"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether it is system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ContainerInformationPrivate"
              c:type="GUPnPDLNAContainerInformationPrivate*"/>
      </field>
    </class>
    <record name="ContainerInformationClass"
            c:type="GUPnPDLNAContainerInformationClass"
            glib:is-gtype-struct-for="ContainerInformation">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <callback name="get_mpeg_version" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_packet_size" introspectable="0">
        <callback name="get_packet_size" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A packet size.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <callback name="get_profile" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_system_stream" introspectable="0">
        <callback name="is_system_stream" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">Whether it is system stream.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_variant" introspectable="0">
        <callback name="get_variant" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A variant.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <callback name="get_mime" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <array zero-terminated="0" c:type="gpointer" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ContainerInformationPrivate"
            c:type="GUPnPDLNAContainerInformationPrivate"
            disguised="1">
    </record>
    <record name="Fraction"
            c:type="GUPnPDLNAFraction"
            glib:type-name="GUPnPDLNAFraction"
            glib:get-type="gupnp_dlna_fraction_get_type"
            c:symbol-prefix="fraction">
      <method name="copy" c:identifier="gupnp_dlna_fraction_copy">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A copy of @fraction.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A fraction to copy.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gupnp_dlna_fraction_free">
        <doc xml:whitespace="preserve">Frees @fraction.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A fraction to free.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_denominator"
              c:identifier="gupnp_dlna_fraction_get_denominator">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">@fraction's denominator.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A fraction.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_numerator"
              c:identifier="gupnp_dlna_fraction_get_numerator">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">@fraction's numerator.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A fraction.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="FractionRange"
            c:type="GUPnPDLNAFractionRange"
            glib:type-name="GUPnPDLNAFractionRange"
            glib:get-type="gupnp_dlna_fraction_range_get_type"
            c:symbol-prefix="fraction_range">
      <method name="copy" c:identifier="gupnp_dlna_fraction_range_copy">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A copy of @range.</doc>
          <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range to copy.</doc>
            <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gupnp_dlna_fraction_range_free">
        <doc xml:whitespace="preserve">Frees @range.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range to free.</doc>
            <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max" c:identifier="gupnp_dlna_fraction_range_get_max">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Maximum value of @range.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range.</doc>
            <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min" c:identifier="gupnp_dlna_fraction_range_get_min">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Minimum value of @range.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range.</doc>
            <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="FractionValue" c:type="GUPnPDLNAFractionValue">
      <doc xml:whitespace="preserve">GUPnP DLNA Value representing a fraction value of some metadata attribute.</doc>
      <field name="numerator" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="denominator" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="state" writable="1">
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <class name="ImageInformation"
           c:symbol-prefix="image_information"
           c:type="GUPnPDLNAImageInformation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAImageInformation"
           glib:get-type="gupnp_dlna_image_information_get_type"
           glib:type-struct="ImageInformationClass">
      <virtual-method name="get_depth" invoker="get_depth" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A depth of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_height"
                      invoker="get_height"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A height of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type of an image.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_width" invoker="get_width" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A width of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_depth"
              c:identifier="gupnp_dlna_image_information_get_depth"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A depth of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="gupnp_dlna_image_information_get_height"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A height of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime"
              c:identifier="gupnp_dlna_image_information_get_mime"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type of an image.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width"
              c:identifier="gupnp_dlna_image_information_get_width"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A width of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ImageInformationPrivate"
              c:type="GUPnPDLNAImageInformationPrivate*"/>
      </field>
    </class>
    <record name="ImageInformationClass"
            c:type="GUPnPDLNAImageInformationClass"
            glib:is-gtype-struct-for="ImageInformation">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_depth" introspectable="0">
        <callback name="get_depth" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A depth of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_height" introspectable="0">
        <callback name="get_height" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A height of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_width" introspectable="0">
        <callback name="get_width" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A width of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <callback name="get_mime" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A MIME type of an image.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <array zero-terminated="0" c:type="gpointer" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ImageInformationPrivate"
            c:type="GUPnPDLNAImageInformationPrivate"
            disguised="1">
    </record>
    <class name="Information"
           c:symbol-prefix="information"
           c:type="GUPnPDLNAInformation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAInformation"
           glib:get-type="gupnp_dlna_information_get_type"
           glib:type-struct="InformationClass">
      <virtual-method name="get_audio_information"
                      invoker="get_audio_information">
        <doc xml:whitespace="preserve">Get an audio information of media file if applicable (e.g. for
video and audio files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
          <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_container_information"
                      invoker="get_container_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
video and audio files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
          <type name="ContainerInformation"
                c:type="GUPnPDLNAContainerInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_image_information"
                      invoker="get_image_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
image files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object or %NULL.</doc>
          <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile_name" invoker="get_profile_name">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of a DLNA profile or %NULL.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_video_information"
                      invoker="get_video_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
video files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
          <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_audio_information"
              c:identifier="gupnp_dlna_information_get_audio_information">
        <doc xml:whitespace="preserve">Get an audio information of media file if applicable (e.g. for
video and audio files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
          <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_container_information"
              c:identifier="gupnp_dlna_information_get_container_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
video and audio files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
          <type name="ContainerInformation"
                c:type="GUPnPDLNAContainerInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image_information"
              c:identifier="gupnp_dlna_information_get_image_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
image files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object or %NULL.</doc>
          <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile_name"
              c:identifier="gupnp_dlna_information_get_profile_name">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of a DLNA profile or %NULL.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri" c:identifier="gupnp_dlna_information_get_uri">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">An URI of a file.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_video_information"
              c:identifier="gupnp_dlna_information_get_video_information">
        <doc xml:whitespace="preserve">Get an container information of media file if applicable (e.g. for
video files).</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
          <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="audio-information" transfer-ownership="none">
        <doc xml:whitespace="preserve">Audio information of a file.</doc>
        <type name="AudioInformation"/>
      </property>
      <property name="container-information" transfer-ownership="none">
        <doc xml:whitespace="preserve">Container information of a file.</doc>
        <type name="ContainerInformation"/>
      </property>
      <property name="image-information" transfer-ownership="none">
        <doc xml:whitespace="preserve">Image information of a file.</doc>
        <type name="ImageInformation"/>
      </property>
      <property name="uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">URI of file which metadata this object stores.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="video-information" transfer-ownership="none">
        <doc xml:whitespace="preserve">Video information of a file.</doc>
        <type name="VideoInformation"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="InformationPrivate" c:type="GUPnPDLNAInformationPrivate*"/>
      </field>
    </class>
    <record name="InformationClass"
            c:type="GUPnPDLNAInformationClass"
            glib:is-gtype-struct-for="Information">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_audio_information">
        <callback name="get_audio_information">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_container_information">
        <callback name="get_container_information">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_image_information">
        <callback name="get_image_information">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAImageInformation object or %NULL.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_video_information">
        <callback name="get_video_information">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile_name">
        <callback name="get_profile_name">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of a DLNA profile or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <array zero-terminated="0" c:type="gpointer" fixed-size="11">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="InformationPrivate"
            c:type="GUPnPDLNAInformationPrivate"
            disguised="1">
    </record>
    <record name="IntRange"
            c:type="GUPnPDLNAIntRange"
            glib:type-name="GUPnPDLNAIntRange"
            glib:get-type="gupnp_dlna_int_range_get_type"
            c:symbol-prefix="int_range">
      <method name="copy" c:identifier="gupnp_dlna_int_range_copy">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A copy of @range.</doc>
          <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range to copy.</doc>
            <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gupnp_dlna_int_range_free">
        <doc xml:whitespace="preserve">Frees @range.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range to free.</doc>
            <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max" c:identifier="gupnp_dlna_int_range_get_max">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Maximum value of @range.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range.</doc>
            <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_min" c:identifier="gupnp_dlna_int_range_get_min">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Minimum value of @range.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:whitespace="preserve">A range.</doc>
            <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="IntValue" c:type="GUPnPDLNAIntValue">
      <doc xml:whitespace="preserve">GUPnP DLNA Value representing an integer value of some metadata attribute.</doc>
      <field name="value" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="state" writable="1">
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <class name="Profile"
           c:symbol-prefix="profile"
           c:type="GUPnPDLNAProfile"
           parent="GObject.Object"
           glib:type-name="GUPnPDLNAProfile"
           glib:get-type="gupnp_dlna_profile_get_type"
           glib:type-struct="ProfileClass">
      <doc xml:whitespace="preserve">The top-level object used for the in-memory representation of the
DLNA Profiles.</doc>
      <method name="get_audio_restrictions"
              c:identifier="gupnp_dlna_profile_get_audio_restrictions">
        <doc xml:whitespace="preserve">Gets a list of audio restrictions.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Audio restrictions. Do not modify.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Restriction"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_container_restrictions"
              c:identifier="gupnp_dlna_profile_get_container_restrictions">
        <doc xml:whitespace="preserve">Gets a list of container restrictions.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Container restrictions. Do not modify.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Restriction"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extended"
              c:identifier="gupnp_dlna_profile_get_extended">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @profile is extended one and %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfile object.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image_restrictions"
              c:identifier="gupnp_dlna_profile_get_image_restrictions">
        <doc xml:whitespace="preserve">Gets a list of image restrictions.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Image restrictions. Do not modify.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Restriction"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime" c:identifier="gupnp_dlna_profile_get_mime">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The DLNA MIME type of the DLNA profile represented by @profile.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfile object.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gupnp_dlna_profile_get_name">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of the DLNA profile represented by @profile.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfile object.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_video_restrictions"
              c:identifier="gupnp_dlna_profile_get_video_restrictions">
        <doc xml:whitespace="preserve">Gets a list of video restrictions.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Video restrictions. Do not modify.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Restriction"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="audio-restrictions"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="container-restrictions"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="extended"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether the DLNA profile is not a part of DLNA specification.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="image-restrictions"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="mime"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">MIME type of the DLNA profile.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Name of the DLNA profile.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="video-restrictions"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfilePrivate" c:type="GUPnPDLNAProfilePrivate*"/>
      </field>
    </class>
    <record name="ProfileClass"
            c:type="GUPnPDLNAProfileClass"
            glib:is-gtype-struct-for="Profile">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="ProfileGuesser"
           c:symbol-prefix="profile_guesser"
           c:type="GUPnPDLNAProfileGuesser"
           parent="GObject.Object"
           glib:type-name="GUPnPDLNAProfileGuesser"
           glib:get-type="gupnp_dlna_profile_guesser_get_type"
           glib:type-struct="ProfileGuesserClass">
      <doc xml:whitespace="preserve">The top-level object used to for DLNA profile guessing.</doc>
      <constructor name="new" c:identifier="gupnp_dlna_profile_guesser_new">
        <doc xml:whitespace="preserve">Creates a new guesser that will use specific DLNA profiles for
matching - i.e. which profiles will be used depends on
@relaxed_mode and @extended_mode.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A new #GUPnPDLNAProfileGuesser object.</doc>
          <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
        </return-value>
        <parameters>
          <parameter name="relaxed_mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to enable relaxed mode support. %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="extended_mode" transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE to enable extended mode support. %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="cleanup"
                c:identifier="gupnp_dlna_profile_guesser_cleanup">
        <doc xml:whitespace="preserve">Cleans up the DLNA profiles. Provided to remove Valgrind noise. Not
thread-safe. Do not call it if there is even a slightest chance
that profile guessing will be performed during process
lifetime. The profiles are not reloaded after cleanup.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <method name="get_extended_mode"
              c:identifier="gupnp_dlna_profile_guesser_get_extended_mode">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @guesser is in extended mode, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="gupnp_dlna_profile_guesser_get_profile">
        <doc xml:whitespace="preserve">Lookups for #GUPnPDLNAProfile with given @name.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAProfile object on success, %NULL otherwise.</doc>
          <type name="Profile" c:type="GUPnPDLNAProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">The name of the DLNA profile to be retrieved.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_relaxed_mode"
              c:identifier="gupnp_dlna_profile_guesser_get_relaxed_mode">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @guesser is in relaxed mode, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="guess_profile_async"
              c:identifier="gupnp_dlna_profile_guesser_guess_profile_async"
              throws="1">
        <doc xml:whitespace="preserve">Asynchronously guesses DLNA profile for given @uri. When guessing
is done, ::done signal is emitted on @guesser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @uri was successfully queued, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">#GUPnPDLNAProfileGuesser object to use for guessing.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">URI of media.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:whitespace="preserve">Timeout of guessing in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="guess_profile_from_info"
              c:identifier="gupnp_dlna_profile_guesser_guess_profile_from_info">
        <doc xml:whitespace="preserve">Guesses the profile which fits to passed @info.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GUPnPDLNAProfile object on success, %NULL otherwise.</doc>
          <type name="Profile" c:type="GUPnPDLNAProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="guess_profile_sync"
              c:identifier="gupnp_dlna_profile_guesser_guess_profile_sync"
              throws="1">
        <doc xml:whitespace="preserve">Synchronously guesses DLNA profile for given @uri.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">DLNA profile if any had matched, %NULL otherwise.</doc>
          <type name="Profile" c:type="GUPnPDLNAProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">#GUPnPDLNAProfileGuesser object to use for guessing.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:whitespace="preserve">URI of media.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:whitespace="preserve">Timeout of guessing in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="dlna_info"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <doc xml:whitespace="preserve">A place where to store DLNA information or %NULL.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation**"/>
          </parameter>
        </parameters>
      </method>
      <method name="list_profiles"
              c:identifier="gupnp_dlna_profile_guesser_list_profiles">
        <doc xml:whitespace="preserve">Gets a list of the all DLNA profiles supported by @guesser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">A #GList of #GUPnPDLNAProfile on success, %NULL otherwise.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Profile"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="guesser" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GUPnPDLNAProfileGuesser whose profile list is required.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="extended-mode"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether profile matching should be done also against DLNA
profiles not being a part of DLNA specification.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="relaxed-mode"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">Whether profile matching should not be strictly compliant
with the DLNA specification.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfileGuesserPrivate"
              c:type="GUPnPDLNAProfileGuesserPrivate*"/>
      </field>
      <glib:signal name="done" when="last">
        <doc xml:whitespace="preserve">Will be emitted when guessing DLNA profile for a URI has finished.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">URI metadata as #GUPnPDLNAInformation.</doc>
            <type name="Information"/>
          </parameter>
          <parameter name="dlna" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">The results as #GUPnPDLNAProfile.</doc>
            <type name="Profile"/>
          </parameter>
          <parameter name="error" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">Contains details of the error if discovery failed, else is %NULL.</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ProfileGuesserClass"
            c:type="GUPnPDLNAProfileGuesserClass"
            glib:is-gtype-struct-for="ProfileGuesser">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="ProfileGuesserPrivate"
            c:type="GUPnPDLNAProfileGuesserPrivate"
            disguised="1">
    </record>
    <record name="ProfilePrivate"
            c:type="GUPnPDLNAProfilePrivate"
            disguised="1">
    </record>
    <record name="Restriction"
            c:type="GUPnPDLNARestriction"
            glib:type-name="GUPnPDLNARestriction"
            glib:get-type="gupnp_dlna_restriction_get_type"
            c:symbol-prefix="restriction">
      <method name="copy" c:identifier="gupnp_dlna_restriction_copy">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A copy of @restriction.</doc>
          <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction to copy.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gupnp_dlna_restriction_free">
        <doc xml:whitespace="preserve">Frees @restriction.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction to free.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_entries"
              c:identifier="gupnp_dlna_restriction_get_entries">
        <doc xml:whitespace="preserve">Gets @restriction's entries. It is a string to #GUPnPDLNAValueList
mapping.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">Entries. Do not modify.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="utf8"/>
            <type name="ValueList"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime" c:identifier="gupnp_dlna_restriction_get_mime">
        <doc xml:whitespace="preserve">Gets @restriction's MIME type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">MIME type. Do not modify.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="gupnp_dlna_restriction_is_empty">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @restriction is empty and has no MIME type, otherwise %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="gupnp_dlna_restriction_to_string">
        <doc xml:whitespace="preserve">Creates a string representation of @restriction.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A string representation of @restriction. Free with g_free() when not needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:whitespace="preserve">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="StringValue" c:type="GUPnPDLNAStringValue">
      <doc xml:whitespace="preserve">GUPnP DLNA Value representing a string value of some metadata
attribute.</doc>
      <field name="value" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="state" writable="1">
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <record name="ValueList"
            c:type="GUPnPDLNAValueList"
            glib:type-name="GUPnPDLNAValueList"
            glib:get-type="gupnp_dlna_value_list_get_type"
            c:symbol-prefix="value_list">
      <method name="copy" c:identifier="gupnp_dlna_value_list_copy">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A copy of @list.</doc>
          <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list to copy.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gupnp_dlna_value_list_free">
        <doc xml:whitespace="preserve">Frees the value list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list to free.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_g_values"
              c:identifier="gupnp_dlna_value_list_get_g_values">
        <doc xml:whitespace="preserve">Gets a list of #GValues. #GValues can be of types #G_TYPE_BOOLEAN,
#G_TYPE_INT, #G_TYPE_STRING, #GUPNP_TYPE_DLNA_FRACTION,
#GUPNP_TYPE_DLNA_FRACTION_RANGE or #GUPNP_TYPE_DLNA_INT_RANGE.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A list. Free it with g_list_free_full() with g_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GObject.Value"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="gupnp_dlna_value_list_is_empty">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @list is empty, otherwise %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="gupnp_dlna_value_list_to_string">
        <doc xml:whitespace="preserve">Creates a string representation of @list.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">A string representation of @list. Free with g_free() when not needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:whitespace="preserve">A list.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ValueState" c:type="GUPnPDLNAValueState">
      <doc xml:whitespace="preserve">Flags describing a state of GUPnP DLNA Value.</doc>
      <member name="set" value="0" c:identifier="GUPNP_DLNA_VALUE_STATE_SET">
        <doc xml:whitespace="preserve">Value is set.</doc>
      </member>
      <member name="unset"
              value="1"
              c:identifier="GUPNP_DLNA_VALUE_STATE_UNSET">
        <doc xml:whitespace="preserve">Value is unset.</doc>
      </member>
      <member name="unsupported"
              value="2"
              c:identifier="GUPNP_DLNA_VALUE_STATE_UNSUPPORTED">
        <doc xml:whitespace="preserve">Value is unsupported.</doc>
      </member>
    </enumeration>
    <class name="VideoInformation"
           c:symbol-prefix="video_information"
           c:type="GUPnPDLNAVideoInformation"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAVideoInformation"
           glib:get-type="gupnp_dlna_video_information_get_type"
           glib:type-struct="VideoInformationClass">
      <virtual-method name="get_bitrate"
                      invoker="get_bitrate"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_framerate"
                      invoker="get_framerate"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A framerate.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_height"
                      invoker="get_height"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A height.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_level" invoker="get_level" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_pixel_aspect_ratio"
                      invoker="get_pixel_aspect_ratio"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A pixel-aspect-ratio.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_width" invoker="get_width" introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A width.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_interlaced"
                      invoker="is_interlaced"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether video is interlaced.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_system_stream"
                      invoker="is_system_stream"
                      introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether it is a system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_bitrate"
              c:identifier="gupnp_dlna_video_information_get_bitrate"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_framerate"
              c:identifier="gupnp_dlna_video_information_get_framerate"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A framerate.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="gupnp_dlna_video_information_get_height"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A height.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_level"
              c:identifier="gupnp_dlna_video_information_get_level"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime"
              c:identifier="gupnp_dlna_video_information_get_mime"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mpeg_version"
              c:identifier="gupnp_dlna_video_information_get_mpeg_version"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixel_aspect_ratio"
              c:identifier="gupnp_dlna_video_information_get_pixel_aspect_ratio"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A pixel-aspect-ratio.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="gupnp_dlna_video_information_get_profile"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width"
              c:identifier="gupnp_dlna_video_information_get_width"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">A width.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_interlaced"
              c:identifier="gupnp_dlna_video_information_is_interlaced"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether video is interlaced.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_system_stream"
              c:identifier="gupnp_dlna_video_information_is_system_stream"
              introspectable="0">
        <return-value>
          <doc xml:whitespace="preserve">Whether it is a system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:whitespace="preserve">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="VideoInformationPrivate"
              c:type="GUPnPDLNAVideoInformationPrivate*"/>
      </field>
    </class>
    <record name="VideoInformationClass"
            c:type="GUPnPDLNAVideoInformationClass"
            glib:is-gtype-struct-for="VideoInformation">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_bitrate" introspectable="0">
        <callback name="get_bitrate" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A bitrate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_framerate" introspectable="0">
        <callback name="get_framerate" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A framerate.</doc>
            <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_height" introspectable="0">
        <callback name="get_height" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A height.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_interlaced" introspectable="0">
        <callback name="is_interlaced" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">Whether video is interlaced.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_level" introspectable="0">
        <callback name="get_level" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A level.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <callback name="get_mpeg_version" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_pixel_aspect_ratio" introspectable="0">
        <callback name="get_pixel_aspect_ratio" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A pixel-aspect-ratio.</doc>
            <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <callback name="get_profile" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_system_stream" introspectable="0">
        <callback name="is_system_stream" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">Whether it is a system stream.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_width" introspectable="0">
        <callback name="get_width" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A width.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <callback name="get_mime" introspectable="0">
          <return-value>
            <doc xml:whitespace="preserve">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <array zero-terminated="0" c:type="gpointer" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="VideoInformationPrivate"
            c:type="GUPnPDLNAVideoInformationPrivate"
            disguised="1">
    </record>
  </namespace>
</repository>
