<?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"/>
  <c:include name="libgupnp-dlna/gupnp-dlna.h"/>
  <namespace name="GUPnPDLNA"
             version="2.0"
             shared-library="libgupnp-dlna-2.0.so.4"
             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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                       line="118"/>
      <virtual-method name="get_bitrate"
                      invoker="get_bitrate"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="52">This is called by #GUPnPDLNAProfileGuesser to get a
bitrate.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="82"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="87">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="85">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_channels"
                      invoker="get_channels"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="54">This is called by #GUPnPDLNAProfileGuesser to get a
channels count.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="85"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="112">A number of channels.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="110">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_depth" invoker="get_depth" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="56">This is called by #GUPnPDLNAProfileGuesser to get a
depth.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="88"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="137">A depth.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="135">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_layer" invoker="get_layer" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser to get a
layer.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="91"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="162">A layer.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="160">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_level" invoker="get_level" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="60">This is called by #GUPnPDLNAProfileGuesser to get a
level.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="94"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="187">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="185">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="74">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="115"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="363">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="361">A #GUPnPDLNAAudioInformation object.</doc>
            <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">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser
to get an MPEG audio version.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="97"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="212">An MPEG audio version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="210">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="64">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="100"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="238">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="236">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="66">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="103"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="263">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="261">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_rate" invoker="get_rate" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="68">This is called by #GUPnPDLNAProfileGuesser to get a
sample rate.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="106"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="288">A sample rate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="286">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_stream_format"
                      invoker="get_stream_format"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="70">This is called by #GUPnPDLNAProfileGuesser to
get a stream format.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="109"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="313">A stream format.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="311">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_wma_version"
                      invoker="get_wma_version"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="72">This is called by #GUPnPDLNAProfileGuesser to get
a WMA version.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="112"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="338">A WMA version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="336">A #GUPnPDLNAAudioInformation object.</doc>
            <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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="121"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="87">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="85">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="124"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="112">A number of channels.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="110">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="127"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="137">A depth.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="135">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="130"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="162">A layer.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="160">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="133"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="187">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="185">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="156"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="363">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="361">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="136"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="212">An MPEG audio version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="210">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="140"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="238">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="236">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="143"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="263">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="261">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="146"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="288">A sample rate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="286">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="149"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="313">A stream format.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="311">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                         line="153"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
               line="338">A WMA version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="336">A #GUPnPDLNAAudioInformation object.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="AudioInformationClass"
            c:type="GUPnPDLNAAudioInformationClass"
            glib:is-gtype-struct-for="AudioInformation">
      <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                       line="118"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="51">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_bitrate" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="52">This is called by #GUPnPDLNAProfileGuesser to get a
bitrate.</doc>
        <callback name="get_bitrate" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="82"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="87">A bitrate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="85">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_channels" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="54">This is called by #GUPnPDLNAProfileGuesser to get a
channels count.</doc>
        <callback name="get_channels" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="85"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="112">A number of channels.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="110">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_depth" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="56">This is called by #GUPnPDLNAProfileGuesser to get a
depth.</doc>
        <callback name="get_depth" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="88"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="137">A depth.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="135">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_layer" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser to get a
layer.</doc>
        <callback name="get_layer" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="91"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="162">A layer.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="160">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_level" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="60">This is called by #GUPnPDLNAProfileGuesser to get a
level.</doc>
        <callback name="get_level" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="94"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="187">A level.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="185">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_audio_version" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser
to get an MPEG audio version.</doc>
        <callback name="get_mpeg_audio_version" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="97"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="212">An MPEG audio version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="210">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="64">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <callback name="get_mpeg_version" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="100"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="238">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="236">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="66">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <callback name="get_profile" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="103"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="263">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="261">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_rate" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="68">This is called by #GUPnPDLNAProfileGuesser to get a
sample rate.</doc>
        <callback name="get_rate" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="106"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="288">A sample rate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="286">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_stream_format" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="70">This is called by #GUPnPDLNAProfileGuesser to
get a stream format.</doc>
        <callback name="get_stream_format" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="109"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="313">A stream format.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="311">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_wma_version" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="72">This is called by #GUPnPDLNAProfileGuesser to get
a WMA version.</doc>
        <callback name="get_wma_version" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="112"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="338">A WMA version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="336">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="74">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <callback name="get_mime" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
                           line="115"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                 line="363">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
                   line="361">A #GUPnPDLNAAudioInformation object.</doc>
              <type name="AudioInformation"
                    c:type="GUPnPDLNAAudioInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-audio-information.h"
             line="76">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="BoolValue" c:type="GUPnPDLNABoolValue">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="69">GUPnP DLNA Value representing a boolean value of some metadata attribute.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-values.h" line="79"/>
      <field name="value" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="71">The boolean value.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="state" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="72">The state of #GUPnPDLNABoolValue.</doc>
        <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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                       line="88"/>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="85"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="212">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="210">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="52">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="70"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="82">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="80">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_packet_size"
                      invoker="get_packet_size"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="54">This is called by #GUPnPDLNAProfileGuesser to get
a packet size.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="73"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="108">A packet size.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="106">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="56">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="76"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="134">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="132">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_variant"
                      invoker="get_variant"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="60">This is called by #GUPnPDLNAProfileGuesser to get a
variant.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="82"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="186">A variant.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="184">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_system_stream"
                      invoker="is_system_stream"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser to
get whether it is a system stream</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="79"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="160">Whether it is system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="158">A #GUPnPDLNAContainerInformation object.</doc>
            <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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="111"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="212">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="210">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="91"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="82">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="80">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="95"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="108">A packet size.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="106">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="99"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="134">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="132">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="107"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="186">A variant.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="184">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                         line="103"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-container-information.c"
               line="160">Whether it is system stream.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="158">A #GUPnPDLNAContainerInformation object.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ContainerInformationClass"
            c:type="GUPnPDLNAContainerInformationClass"
            glib:is-gtype-struct-for="ContainerInformation">
      <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                       line="88"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="51">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="52">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <callback name="get_mpeg_version" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="70"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="82">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="80">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_packet_size" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="54">This is called by #GUPnPDLNAProfileGuesser to get
a packet size.</doc>
        <callback name="get_packet_size" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="73"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="108">A packet size.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="106">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="56">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <callback name="get_profile" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="76"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="134">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="132">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_system_stream" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser to
get whether it is a system stream</doc>
        <callback name="is_system_stream" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="79"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="160">Whether it is system stream.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="158">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_variant" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="60">This is called by #GUPnPDLNAProfileGuesser to get a
variant.</doc>
        <callback name="get_variant" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="82"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="186">A variant.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="184">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <callback name="get_mime" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-container-information.h"
                           line="85"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                 line="212">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-container-information.c"
                   line="210">A #GUPnPDLNAContainerInformation object.</doc>
              <type name="ContainerInformation"
                    c:type="GUPnPDLNAContainerInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-container-information.h"
             line="64">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="FRACTION"
                    c:identifier="GUPNP_DLNA_FRACTION"
                    introspectable="0">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="34"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="FRACTION_RANGE"
                    c:identifier="GUPNP_DLNA_FRACTION_RANGE"
                    introspectable="0">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="37"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Fraction"
            c:type="GUPnPDLNAFraction"
            opaque="1"
            glib:type-name="GUPnPDLNAFraction"
            glib:get-type="gupnp_dlna_fraction_get_type"
            c:symbol-prefix="fraction">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="30"/>
      <method name="copy" c:identifier="gupnp_dlna_fraction_copy">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="74"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="74">A copy of @fraction.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="72">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-g-values.c"
             line="91">Frees @fraction.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="93">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="124">@fraction's denominator.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="122">A fraction.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_numerator"
              c:identifier="gupnp_dlna_fraction_get_numerator">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="110">@fraction's numerator.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="fraction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="108">A fraction.</doc>
            <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="FractionRange"
            c:type="GUPnPDLNAFractionRange"
            opaque="1"
            glib:type-name="GUPnPDLNAFractionRange"
            glib:get-type="gupnp_dlna_fraction_range_get_type"
            c:symbol-prefix="fraction_range">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="31"/>
      <method name="copy" c:identifier="gupnp_dlna_fraction_range_copy">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="86"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="138">A copy of @range.</doc>
          <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="136">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-g-values.c"
             line="151">Frees @range.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="153">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="186">Maximum value of @range.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="184">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="172">Minimum value of @range.</doc>
          <type name="Fraction" c:type="GUPnPDLNAFraction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="170">A range.</doc>
            <type name="FractionRange" c:type="GUPnPDLNAFractionRange*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="FractionValue" c:type="GUPnPDLNAFractionValue">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="118">GUPnP DLNA Value representing a fraction value of some metadata attribute.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-values.h"
                       line="130"/>
      <field name="numerator" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="120">The numerator of fraction.</doc>
        <type name="gint" c:type="gint"/>
      </field>
      <field name="denominator" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="121">The denominator of fraction.</doc>
        <type name="gint" c:type="gint"/>
      </field>
      <field name="state" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="122">The state of #GUPnPDLNAFractionValue.</doc>
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <function-macro name="INT_RANGE"
                    c:identifier="GUPNP_DLNA_INT_RANGE"
                    introspectable="0">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="40"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                       line="79"/>
      <virtual-method name="get_depth" invoker="get_depth" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="53">This is called by #GUPnPDLNAProfileGuesser to get a
depth.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="67"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="79">A depth of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="77">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_height"
                      invoker="get_height"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="55">This is called by #GUPnPDLNAProfileGuesser to get a
height.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="70"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="104">A height of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="102">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="59">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="76"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="154">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="152">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_width" invoker="get_width" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="57">This is called by #GUPnPDLNAProfileGuesser to get a
width.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="73"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="129">A width of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="127">A #GUPnPDLNAImageInformation object.</doc>
            <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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="82"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="79">A depth of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="77">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="85"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="104">A height of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="102">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="91"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="154">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="152">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                         line="88"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-image-information.c"
               line="129">A width of an image.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="127">A #GUPnPDLNAImageInformation object.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ImageInformationClass"
            c:type="GUPnPDLNAImageInformationClass"
            glib:is-gtype-struct-for="ImageInformation">
      <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                       line="79"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="52">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_depth" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="53">This is called by #GUPnPDLNAProfileGuesser to get a
depth.</doc>
        <callback name="get_depth" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                           line="67"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="79">A depth of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                   line="77">A #GUPnPDLNAImageInformation object.</doc>
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_height" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="55">This is called by #GUPnPDLNAProfileGuesser to get a
height.</doc>
        <callback name="get_height" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                           line="70"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="104">A height of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                   line="102">A #GUPnPDLNAImageInformation object.</doc>
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_width" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="57">This is called by #GUPnPDLNAProfileGuesser to get a
width.</doc>
        <callback name="get_width" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                           line="73"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="129">A width of an image.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                   line="127">A #GUPnPDLNAImageInformation object.</doc>
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="59">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <callback name="get_mime" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-image-information.h"
                           line="76"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                 line="154">A MIME type of an image.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-image-information.c"
                   line="152">A #GUPnPDLNAImageInformation object.</doc>
              <type name="ImageInformation"
                    c:type="GUPnPDLNAImageInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-image-information.h"
             line="61">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                       line="85"/>
      <virtual-method name="get_audio_information"
                      invoker="get_audio_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="249">Get an audio information of media file if applicable (e.g. for
video and audio files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="256">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
          <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="251">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_container_information"
                      invoker="get_container_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="283">Get an container information of media file if applicable (e.g. for
video and audio files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="290">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
          <type name="ContainerInformation"
                c:type="GUPnPDLNAContainerInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="285">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_image_information"
                      invoker="get_image_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="319">Get an container information of media file if applicable (e.g. for
image files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="326">A #GUPnPDLNAImageInformation object or %NULL.</doc>
          <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="321">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile_name" invoker="get_profile_name">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser to
get the name of the DLNA profile assigned with this information.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="393">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="391">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_video_information"
                      invoker="get_video_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="354">Get an container information of media file if applicable (e.g. for
video files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="361">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
          <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="356">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_audio_information"
              c:identifier="gupnp_dlna_information_get_audio_information"
              glib:get-property="audio-information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="249">Get an audio information of media file if applicable (e.g. for
video and audio files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="256">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
          <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="251">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"
              glib:get-property="container-information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="283">Get an container information of media file if applicable (e.g. for
video and audio files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="290">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
          <type name="ContainerInformation"
                c:type="GUPnPDLNAContainerInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="285">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"
              glib:get-property="image-information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="319">Get an container information of media file if applicable (e.g. for
image files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="326">A #GUPnPDLNAImageInformation object or %NULL.</doc>
          <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="321">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="393">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="391">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"
              glib:get-property="uri">
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="103"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="408">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="406">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"
              glib:get-property="video-information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="354">Get an container information of media file if applicable (e.g. for
video files).</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-information.c"
               line="361">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
          <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="356">A #GUPnPDLNAInformation object.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="audio-information"
                transfer-ownership="none"
                getter="get_audio_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="193">Audio information of a file.</doc>
        <type name="AudioInformation"/>
      </property>
      <property name="container-information"
                transfer-ownership="none"
                getter="get_container_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="205">Container information of a file.</doc>
        <type name="ContainerInformation"/>
      </property>
      <property name="image-information"
                transfer-ownership="none"
                getter="get_image_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="219">Image information of a file.</doc>
        <type name="ImageInformation"/>
      </property>
      <property name="uri"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_uri"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="179">URI of file which metadata this object stores.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="video-information"
                transfer-ownership="none"
                getter="get_video_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.c"
             line="231">Video information of a file.</doc>
        <type name="VideoInformation"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="InformationClass"
            c:type="GUPnPDLNAInformationClass"
            glib:is-gtype-struct-for="Information">
      <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                       line="85"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="53">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_audio_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="54">This is called by #GUPnPDLNAProfileGuesser
to get an audio information.</doc>
        <callback name="get_audio_information">
          <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                           line="70"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="256">A #GUPnPDLNAAudioInformation object or %NULL.</doc>
            <type name="AudioInformation" c:type="GUPnPDLNAAudioInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-information.c"
                   line="251">A #GUPnPDLNAInformation object.</doc>
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_container_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="56">This is called by
#GUPnPDLNAProfileGuesser to get a container information.</doc>
        <callback name="get_container_information">
          <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                           line="73"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="290">A #GUPnPDLNAContainerInformation object or %NULL.</doc>
            <type name="ContainerInformation"
                  c:type="GUPnPDLNAContainerInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-information.c"
                   line="285">A #GUPnPDLNAInformation object.</doc>
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_image_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser
to get an image information.</doc>
        <callback name="get_image_information">
          <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                           line="76"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="326">A #GUPnPDLNAImageInformation object or %NULL.</doc>
            <type name="ImageInformation" c:type="GUPnPDLNAImageInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-information.c"
                   line="321">A #GUPnPDLNAInformation object.</doc>
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_video_information">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="60">This is called by #GUPnPDLNAProfileGuesser
to get a video information.</doc>
        <callback name="get_video_information">
          <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                           line="79"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="361">A #GUPnPDLNAVideoInformation object or %NULL.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-information.c"
                   line="356">A #GUPnPDLNAInformation object.</doc>
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile_name">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="62">This is called by #GUPnPDLNAProfileGuesser to
get the name of the DLNA profile assigned with this information.</doc>
        <callback name="get_profile_name">
          <source-position filename="libgupnp-dlna/gupnp-dlna-information.h"
                           line="82"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-information.c"
                 line="393">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">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-information.c"
                   line="391">A #GUPnPDLNAInformation object.</doc>
              <type name="Information" c:type="GUPnPDLNAInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-information.h"
             line="64">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="11">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="IntRange"
            c:type="GUPnPDLNAIntRange"
            opaque="1"
            glib:type-name="GUPnPDLNAIntRange"
            glib:get-type="gupnp_dlna_int_range_get_type"
            c:symbol-prefix="int_range">
      <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                       line="32"/>
      <method name="copy" c:identifier="gupnp_dlna_int_range_copy">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="98"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="200">A copy of @range.</doc>
          <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="198">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-g-values.c"
             line="211">Frees @range.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="213">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="244">Maximum value of @range.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="242">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-g-values.h"
                         line="104"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-g-values.c"
               line="230">Minimum value of @range.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="range" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-g-values.c"
                 line="228">A range.</doc>
            <type name="IntRange" c:type="GUPnPDLNAIntRange*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="IntValue" c:type="GUPnPDLNAIntValue">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="169">GUPnP DLNA Value representing an integer value of some metadata attribute.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-values.h"
                       line="179"/>
      <field name="value" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="171">The integer value.</doc>
        <type name="gint" c:type="gint"/>
      </field>
      <field name="state" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="172">The state of #GUPnPDLNAIntValue.</doc>
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <class name="MetadataExtractor"
           c:symbol-prefix="metadata_extractor"
           c:type="GUPnPDLNAMetadataExtractor"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GUPnPDLNAMetadataExtractor"
           glib:get-type="gupnp_dlna_metadata_extractor_get_type"
           glib:type-struct="MetadataExtractorClass">
      <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                       line="79"/>
      <virtual-method name="extract_async" invoker="extract_async" throws="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="115">Queues @uri for metadata discovery. When discovery is completed,
the ::done signal is emitted on @extractor.</doc>
        <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
               line="125">%TRUE if @uri was successfully queued, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="extractor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="117">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
            <type name="MetadataExtractor"
                  c:type="GUPnPDLNAMetadataExtractor*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="118">URI to gather metadata for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="119">Timeout in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="extract_sync" invoker="extract_sync" throws="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="153">Discovers synchronously metadata of given @uri.</doc>
        <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                         line="73"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
               line="162">A #GUPnPDLNAInformation object if discovery succeeded,
otherwise %NULL.</doc>
          <type name="Information" c:type="GUPnPDLNAInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="extractor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="155">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
            <type name="MetadataExtractor"
                  c:type="GUPnPDLNAMetadataExtractor*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="156">URI to gather metadata for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="157">Timeout in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="emit_done"
              c:identifier="gupnp_dlna_metadata_extractor_emit_done">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="191">Emits ::done signal. This function is intended to be used by
subclasses of #GUPnPDLNAMetadataExtractor. It is required to always
pass a meaningful @info, even in case of error. That way a receiver
of this signal can know which URI discovery failed by using
gupnp_dlna_information_get_uri().</doc>
        <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                         line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="extractor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="193">A #GUPnPDLNAMetadataExtractor object.</doc>
            <type name="MetadataExtractor"
                  c:type="GUPnPDLNAMetadataExtractor*"/>
          </instance-parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="194">A #GUPnPDLNAInformation about discovered URI.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="195">A #GError.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="extract_async"
              c:identifier="gupnp_dlna_metadata_extractor_extract_async"
              throws="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="115">Queues @uri for metadata discovery. When discovery is completed,
the ::done signal is emitted on @extractor.</doc>
        <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
               line="125">%TRUE if @uri was successfully queued, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="extractor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="117">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
            <type name="MetadataExtractor"
                  c:type="GUPnPDLNAMetadataExtractor*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="118">URI to gather metadata for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="119">Timeout in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="extract_sync"
              c:identifier="gupnp_dlna_metadata_extractor_extract_sync"
              throws="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="153">Discovers synchronously metadata of given @uri.</doc>
        <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                         line="89"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
               line="162">A #GUPnPDLNAInformation object if discovery succeeded,
otherwise %NULL.</doc>
          <type name="Information" c:type="GUPnPDLNAInformation*"/>
        </return-value>
        <parameters>
          <instance-parameter name="extractor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="155">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
            <type name="MetadataExtractor"
                  c:type="GUPnPDLNAMetadataExtractor*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="156">URI to gather metadata for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="157">Timeout in miliseconds.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="done" when="last">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
             line="86">Will be emitted when all information on a URI could be
discovered.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="89">The results as #GUPnPDLNAInformation.</doc>
            <type name="Information"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="90">Contains details of
the error if discovery fails, otherwise is %NULL.</doc>
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MetadataExtractorClass"
            c:type="GUPnPDLNAMetadataExtractorClass"
            glib:is-gtype-struct-for="MetadataExtractor">
      <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                       line="79"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
             line="55">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="extract_async">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
             line="56">This is called by #GUPnPDLNAProfileGuesser to get a
information about media file asynchronously.</doc>
        <callback name="extract_async" throws="1">
          <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                           line="67"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="125">%TRUE if @uri was successfully queued, %FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="extractor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="117">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
              <type name="MetadataExtractor"
                    c:type="GUPnPDLNAMetadataExtractor*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="118">URI to gather metadata for</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="timeout_in_ms" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="119">Timeout in miliseconds.</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="extract_sync">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
             line="58">This is called by #GUPnPDLNAProfileGuesser to get a
information about media file synchronously.</doc>
        <callback name="extract_sync" throws="1">
          <source-position filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
                           line="73"/>
          <return-value transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                 line="162">A #GUPnPDLNAInformation object if discovery succeeded,
otherwise %NULL.</doc>
            <type name="Information" c:type="GUPnPDLNAInformation*"/>
          </return-value>
          <parameters>
            <parameter name="extractor" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="155">#GUPnPDLNAMetadataExtractor object to use for discovery</doc>
              <type name="MetadataExtractor"
                    c:type="GUPnPDLNAMetadataExtractor*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="156">URI to gather metadata for</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="timeout_in_ms" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
                   line="157">Timeout in miliseconds.</doc>
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.h"
             line="60">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </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:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-profile.c"
           line="40">The top-level object used for the in-memory representation of the
DLNA Profiles.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                       line="56"/>
      <method name="get_audio_restrictions"
              c:identifier="gupnp_dlna_profile_get_audio_restrictions"
              glib:get-property="audio-restrictions">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="335">Gets a list of audio restrictions.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="71"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="341">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="337">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"
              glib:get-property="container-restrictions">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="354">Gets a list of container restrictions.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="360">
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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="356">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_extended"
              c:identifier="gupnp_dlna_profile_get_extended"
              glib:get-property="extended">
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="323">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="321">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"
              glib:get-property="image-restrictions">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="373">Gets a list of image restrictions.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="379">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="375">A profile.</doc>
            <type name="Profile" c:type="GUPnPDLNAProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mime"
              c:identifier="gupnp_dlna_profile_get_mime"
              glib:get-property="mime">
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="307">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="305">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"
              glib:get-property="name">
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="291">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="289">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"
              glib:get-property="video-restrictions">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="392">Gets a list of video restrictions.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                         line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile.c"
               line="398">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile.c"
                 line="394">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"
                getter="get_audio_restrictions">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="container-restrictions"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_container_restrictions">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="extended"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_extended"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="232">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"
                getter="get_image_restrictions">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="mime"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_mime"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="219">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"
                getter="get_name"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.c"
             line="206">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"
                getter="get_video_restrictions">
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ProfileClass"
            c:type="GUPnPDLNAProfileClass"
            glib:is-gtype-struct-for="Profile">
      <source-position filename="libgupnp-dlna/gupnp-dlna-profile.h"
                       line="56"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile.h"
             line="52">A #GObjectClass - parent of this class.</doc>
        <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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                       line="57"/>
      <constructor name="new" c:identifier="gupnp_dlna_profile_guesser_new">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="210">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>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="219">A new #GUPnPDLNAProfileGuesser object.</doc>
          <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
        </return-value>
        <parameters>
          <parameter name="relaxed_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="212">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="213">%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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="529">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>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="101"/>
        <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"
              glib:get-property="extended-mode">
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="517">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="515">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="441">Lookups for #GUPnPDLNAProfile with given @name.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="448">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="443">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="444">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"
              glib:get-property="relaxed-mode">
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="501">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="499">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="261">Asynchronously guesses DLNA profile for given @uri. When guessing
is done, ::done signal is emitted on @guesser.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="271">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="263">#GUPnPDLNAProfileGuesser object to use for guessing.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="264">URI of media.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="265">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="380">Guesses the profile which fits to passed @info.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="387">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="382">The #GUPnPDLNAProfileGuesser object.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="383">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="312">Synchronously guesses DLNA profile for given @uri.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="323">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="314">#GUPnPDLNAProfileGuesser object to use for guessing.</doc>
            <type name="ProfileGuesser" c:type="GUPnPDLNAProfileGuesser*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="315">URI of media.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="timeout_in_ms" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="316">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"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="317">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="477">Gets a list of the all DLNA profiles supported by @guesser.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                         line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
               line="483">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="479">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"
                getter="get_extended_mode"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="147">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"
                getter="get_relaxed_mode"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="129">Whether profile matching should not be strictly compliant
with the DLNA specification.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="done" when="last">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
             line="165">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="168">URI metadata as #GUPnPDLNAInformation.</doc>
            <type name="Information"/>
          </parameter>
          <parameter name="dlna"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="169">The results as #GUPnPDLNAProfile.</doc>
            <type name="Profile"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
                 line="170">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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
                       line="57"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-profile-guesser.h"
             line="53">A #GObjectClass - parent of this class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <function-macro name="RESTRICTION"
                    c:identifier="GUPNP_DLNA_RESTRICTION"
                    introspectable="0">
      <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                       line="34"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Restriction"
            c:type="GUPnPDLNARestriction"
            opaque="1"
            glib:type-name="GUPnPDLNARestriction"
            glib:get-type="gupnp_dlna_restriction_get_type"
            c:symbol-prefix="restriction">
      <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                       line="32"/>
      <method name="copy" c:identifier="gupnp_dlna_restriction_copy">
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-restriction.c"
               line="56">A copy of @restriction.</doc>
          <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="54">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-restriction.c"
             line="85">Frees @restriction.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="restriction" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="87">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-restriction.c"
             line="216">Gets @restriction's entries. It is a string to #GUPnPDLNAValueList
mapping.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-restriction.c"
               line="223">
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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="218">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-restriction.c"
             line="200">Gets @restriction's MIME type.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-restriction.c"
               line="206">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="202">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="gupnp_dlna_restriction_is_empty">
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-restriction.c"
               line="154">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="152">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-restriction.c"
             line="166">Creates a string representation of @restriction.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-restriction.h"
                         line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-restriction.c"
               line="172">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-restriction.c"
                 line="168">A restriction.</doc>
            <type name="Restriction" c:type="GUPnPDLNARestriction*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="StringValue" c:type="GUPnPDLNAStringValue">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="218">GUPnP DLNA Value representing a string value of some metadata
attribute.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-values.h"
                       line="229"/>
      <field name="value" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="220">The string value.</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="state" writable="1">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="221">The state of #GUPnPDLNAStringValue.</doc>
        <type name="ValueState" c:type="GUPnPDLNAValueState"/>
      </field>
    </record>
    <function-macro name="VALUE_LIST"
                    c:identifier="GUPNP_DLNA_VALUE_LIST"
                    introspectable="0">
      <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                       line="32"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <record name="ValueList"
            c:type="GUPnPDLNAValueList"
            opaque="1"
            glib:type-name="GUPnPDLNAValueList"
            glib:get-type="gupnp_dlna_value_list_get_type"
            c:symbol-prefix="value_list">
      <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                       line="30"/>
      <method name="copy" c:identifier="gupnp_dlna_value_list_copy">
        <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                         line="46"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-value-list.c"
               line="147">A copy of @list.</doc>
          <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-value-list.c"
                 line="145">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-value-list.c"
             line="64">Frees the value list.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-value-list.c"
                 line="66">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-value-list.c"
             line="306">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>
        <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                         line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-value-list.c"
               line="314">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-value-list.c"
                 line="308">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-value-list.c"
               line="214">%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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-value-list.c"
                 line="212">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:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-value-list.c"
             line="254">Creates a string representation of @list.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-value-list.h"
                         line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-value-list.c"
               line="260">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-value-list.c"
                 line="256">A list.</doc>
            <type name="ValueList" c:type="GUPnPDLNAValueList*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ValueState" c:type="GUPnPDLNAValueState">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="55">Flags describing a state of GUPnP DLNA Value.</doc>
      <source-position filename="libgupnp-dlna/gupnp-dlna-values.h" line="67"/>
      <member name="set" value="0" c:identifier="GUPNP_DLNA_VALUE_STATE_SET">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="57">Value is set.</doc>
      </member>
      <member name="unset"
              value="1"
              c:identifier="GUPNP_DLNA_VALUE_STATE_UNSET">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="58">Value is unset.</doc>
      </member>
      <member name="unsupported"
              value="2"
              c:identifier="GUPNP_DLNA_VALUE_STATE_UNSUPPORTED">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-values.h"
             line="59">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">
      <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                       line="114"/>
      <virtual-method name="get_bitrate"
                      invoker="get_bitrate"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="53">This is called by #GUPnPDLNAProfileGuesser to get a
bitrate.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="81"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="88">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="86">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_framerate"
                      invoker="get_framerate"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="55">This is called by #GUPnPDLNAProfileGuesser to get a
framerate.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="84"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="113">A framerate.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="111">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_height"
                      invoker="get_height"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="57">This is called by #GUPnPDLNAProfileGuesser to get a
height.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="87"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="138">A height.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="136">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_level" invoker="get_level" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="61">This is called by #GUPnPDLNAProfileGuesser to get a
level.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="93"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="188">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="186">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mime" invoker="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="73">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="111"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="339">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="337">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mpeg_version"
                      invoker="get_mpeg_version"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="63">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="96"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="213">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="211">A #GUPnPDLNAVideoInformation object.</doc>
            <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">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="65">This is called by #GUPnPDLNAProfileGuesser
to get a pixel-aspect-ratio.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="99"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="238">A pixel-aspect-ratio.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="236">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_profile"
                      invoker="get_profile"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="67">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="102"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="264">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="262">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_width" invoker="get_width" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="71">This is called by #GUPnPDLNAProfileGuesser to get a
width.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="108"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="314">A width.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="312">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_interlaced"
                      invoker="is_interlaced"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="59">This is called by #GUPnPDLNAProfileGuesser to get
whether it is interlaced.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="90"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="163">Whether video is interlaced.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="161">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_system_stream"
                      invoker="is_system_stream"
                      introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="69">This is called by #GUPnPDLNAProfileGuesser to
get whether it is a system stream.</doc>
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="105"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="289">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="287">A #GUPnPDLNAVideoInformation object.</doc>
            <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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="117"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="88">A bitrate.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="86">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="120"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="113">A framerate.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="111">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="123"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="138">A height.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="136">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="129"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="188">A level.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="186">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="148"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="339">A MIME type.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="337">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="132"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="213">An MPEG version.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="211">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="135"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="238">A pixel-aspect-ratio.</doc>
          <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="236">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="139"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="264">A profile.</doc>
          <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="262">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="145"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="314">A width.</doc>
          <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="312">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="126"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="163">Whether video is interlaced.</doc>
          <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="161">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">
        <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                         line="142"/>
        <return-value>
          <doc xml:space="preserve"
               filename="libgupnp-dlna/gupnp-dlna-video-information.c"
               line="289">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:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="287">A #GUPnPDLNAVideoInformation object.</doc>
            <type name="VideoInformation" c:type="GUPnPDLNAVideoInformation*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="VideoInformationClass"
            c:type="GUPnPDLNAVideoInformationClass"
            glib:is-gtype-struct-for="VideoInformation">
      <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                       line="114"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="52">Parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_bitrate" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="53">This is called by #GUPnPDLNAProfileGuesser to get a
bitrate.</doc>
        <callback name="get_bitrate" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="81"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="88">A bitrate.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="86">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_framerate" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="55">This is called by #GUPnPDLNAProfileGuesser to get a
framerate.</doc>
        <callback name="get_framerate" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="84"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="113">A framerate.</doc>
            <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="111">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_height" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="57">This is called by #GUPnPDLNAProfileGuesser to get a
height.</doc>
        <callback name="get_height" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="87"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="138">A height.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="136">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_interlaced" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="59">This is called by #GUPnPDLNAProfileGuesser to get
whether it is interlaced.</doc>
        <callback name="is_interlaced" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="90"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="163">Whether video is interlaced.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="161">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_level" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="61">This is called by #GUPnPDLNAProfileGuesser to get a
level.</doc>
        <callback name="get_level" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="93"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="188">A level.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="186">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mpeg_version" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="63">This is called by #GUPnPDLNAProfileGuesser to
get an MPEG version.</doc>
        <callback name="get_mpeg_version" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="96"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="213">An MPEG version.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="211">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_pixel_aspect_ratio" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="65">This is called by #GUPnPDLNAProfileGuesser
to get a pixel-aspect-ratio.</doc>
        <callback name="get_pixel_aspect_ratio" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="99"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="238">A pixel-aspect-ratio.</doc>
            <type name="FractionValue" c:type="GUPnPDLNAFractionValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="236">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_profile" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="67">This is called by #GUPnPDLNAProfileGuesser to get a
profile.</doc>
        <callback name="get_profile" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="102"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="264">A profile.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="262">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_system_stream" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="69">This is called by #GUPnPDLNAProfileGuesser to
get whether it is a system stream.</doc>
        <callback name="is_system_stream" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="105"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="289">Whether it is a system stream.</doc>
            <type name="BoolValue" c:type="GUPnPDLNABoolValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="287">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_width" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="71">This is called by #GUPnPDLNAProfileGuesser to get a
width.</doc>
        <callback name="get_width" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="108"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="314">A width.</doc>
            <type name="IntValue" c:type="GUPnPDLNAIntValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="312">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mime" introspectable="0">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="73">This is called by #GUPnPDLNAProfileGuesser to get a MIME
type.</doc>
        <callback name="get_mime" introspectable="0">
          <source-position filename="libgupnp-dlna/gupnp-dlna-video-information.h"
                           line="111"/>
          <return-value>
            <doc xml:space="preserve"
                 filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                 line="339">A MIME type.</doc>
            <type name="StringValue" c:type="GUPnPDLNAStringValue"/>
          </return-value>
          <parameters>
            <parameter name="info" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="libgupnp-dlna/gupnp-dlna-video-information.c"
                   line="337">A #GUPnPDLNAVideoInformation object.</doc>
              <type name="VideoInformation"
                    c:type="GUPnPDLNAVideoInformation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_reserved">
        <doc xml:space="preserve"
             filename="libgupnp-dlna/gupnp-dlna-video-information.h"
             line="75">Padding. Ignore it.</doc>
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <docsection name="gupnp-dlna-audio-information">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-audio-information.c"
           line="22">#GUPnPDLNAAudioInformation holds all audio metadatas important for
matching profiles. Note that it does not mean all data should be
provided for every audio file as in some cases it does not make
sense (e.g. WMA version does not make sense for MPEG audio files).

For metadata attributes that do not exist in current audio file an
unset value should be returned. For metadata attributes that do
exist a set value with proper underlying value should be
returned. In case metadata extractor has completely no clue how to
extract some metadata attribute at all, an unsupported value should
be returned. Note that unsupported values should be a temporary
mean before fixing the multimedia framework to be able to extract
such attribute.

Note that gupnp_dlna_audio_information_get_mime() should always
return a set value. Otherwise it is highly probably that the file
will not match against any DLNA profile.</doc>
    </docsection>
    <docsection name="gupnp-dlna-container-information">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-container-information.c"
           line="22">#GUPnPDLNAContainerInformation holds all container metadatas
important for matching profiles. Note that it does not mean all
data should be provided for every media file as in some cases it
does not make sense (e.g. MPEG version does not make sense for WMA
media files).

For metadata attributes that do not exist in current media file an
unset value should be returned. For metadata attributes that do
exist a set value with proper underlying value should be
returned. In case metadata extractor has completely no clue how to
extract some metadata attribute at all, an unsupported value should
be returned. Note that unsupported values should be a temporary
mean before fixing the multimedia framework to be able to extract
such attribute.

Note that gupnp_dlna_container_information_get_mime() should always
return a set value. Otherwise it is highly probably that the file
will not match against any DLNA profile.</doc>
    </docsection>
    <docsection name="gupnp-dlna-image-information">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-image-information.c"
           line="22">#GUPnPDLNAImageInformation holds all image metadatas important for
matching profiles. Note that it does not mean all data should be
provided for every image file as in some cases it does not make
sense.

For metadata attributes that do not exist in current image file an
unset value should be returned. For metadata attributes that do
exist a set value with proper underlying value should be
returned. In case metadata extractor has completely no clue how to
extract some metadata attribute at all, an unsupported value should
be returned. Note that unsupported values should be a temporary
mean before fixing the multimedia framework to be able to extract
such attribute.

Note that gupnp_dlna_image_information_get_mime() should always
return a set value. Otherwise it is highly probably that the file
will not match against any DLNA profile.</doc>
    </docsection>
    <docsection name="gupnp-dlna-information">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-information.c"
           line="22">Subclasses of #GUPnPDLNAInformation should override all virtual
functions provided by this class. The overrides should return a
subclasses of specific information base classes.

When instantiating a subclass of #GUPnPDLNAInformation make sure
that "uri" with a URI to media file is passed to g_object_new().</doc>
    </docsection>
    <docsection name="gupnp-dlna-metadata-extractor">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/metadata/gupnp-dlna-metadata-extractor.c"
           line="24">#GUPnPDLNAMetadataExtractor is used by #GUPnPDLNAProfileGuesser to
get needed metadata for profile matching. This class itself does
not implement any metadata extraction features. For that it is
expected to provide a plugin which:
- Provides a #GUPnPDLNAMetadataExtractor subclass implementation.
- Exports a &lt;function&gt;gupnp_dlna_get_default_extractor&lt;/function&gt;() which
takes no parameters and returns a #GUPnPDLNAMetadataExtractor.

#GModule is used for loading the plugin, so #GModule's features can
be used also (like exporting &lt;function&gt;g_module_check_init&lt;/function&gt;() to
initialize the multimedia framework used for extracting metadata).

Default plugin directory and default plugin file is set during
configuration stage, but it can be overriden during runtime by
setting respectively &lt;envar&gt;GUPNP_DLNA_METADATA_BACKEND&lt;/envar&gt; and
&lt;envar&gt;GUPNP_DLNA_METADATA_BACKEND_DIR&lt;/envar&gt; environment variables before
the plugin is loaded (i.e. before #GUPnPDLNAProfileGuesser is used for
guessing profile).

The &lt;envar&gt;GUPNP_DLNA_METADATA_BACKEND&lt;/envar&gt; environment variable should
hold a name like &lt;userinput&gt;"gstreamer"&lt;/userinput&gt;, so
&lt;filename&gt;libgstreamer.so&lt;/filename&gt; will be loaded. For determining a
plugin filename g_module_build_path() is used.

If subclassing #GUPnPDLNAMetadataExtractor then also
#GUPnPDLNAInformation, #GUPnPDLNAAudioInformation,
#GUPnPDLNAContainerInformation, #GUPnPDLNAImageInformation and
#GUPnPDLNAVideoInformation have to be subclassed as well.</doc>
    </docsection>
    <docsection name="gupnp-dlna-profile">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-profile.c"
           line="27">The #GUPnPDLNAProfileGuesser object provides a few APIs that return
#GUPnPDLNAProfile objects. These represent a single DLNA
profile. Each #GUPnPDLNAProfile has a name (the name of the DLNA
profile) and the corresponding MIME type.

Public representation of the various audio/container/image/video
restrictions specified for that DLNA profile is to be added.</doc>
    </docsection>
    <docsection name="gupnp-dlna-profile-guesser">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-profile-guesser.c"
           line="30">The API provides synchronous and asynchronous guessing of DLNA
profile. The asynchronous mode requires a running #GMainLoop in the
default #GMainContext.</doc>
    </docsection>
    <docsection name="gupnp-dlna-values">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-values.h"
           line="29">The #GUPnPDLNABoolValue, #GUPnPDLNAFractionValue,
#GUPnPDLNAIntValue and #GUPnPDLNAStringValue hold respectively
boolean, fraction, integer and string values.

The value can be in one of three possible states - set, unset or
unsupported. When value is in set state it is possible to use the
underlying value it holds. In other states using such value is
undefined.

Main difference between unset state and unsupported state is that
the former is set when metadata extractor is capable of extracting
some attribute in general, but current media file does not have
such attribute, while the latter means that metadata extractor has
no idea how to extract such attribute at all.

One note on #GUPnPDLNAStringValue - it holds a string that has to
be allocated with g_malloc() (that is - g_strdup() and others are
fine as well as they use g_malloc() internally). The string is
freed by consumer.</doc>
    </docsection>
    <docsection name="gupnp-dlna-video-information">
      <doc xml:space="preserve"
           filename="libgupnp-dlna/gupnp-dlna-video-information.c"
           line="22">#GUPnPDLNAVideoInformation holds all video metadatas important for
matching profiles. Note that it does not mean all data should be
provided for every video file as in some cases it does not make
sense (e.g. MPEG version does not make sense for Quicktime video
files).

For metadata attributes that do not exist in current video file an
unset value should be returned. For metadata attributes that do
exist a set value with proper underlying value should be
returned. In case metadata extractor has completely no clue how to
extract some metadata attribute at all, an unsupported value should
be returned. Note that unsupported values should be a temporary
mean before fixing the multimedia framework to be able to extract
such attribute.

Note that gupnp_dlna_video_information_get_mime() should always
return a set value. Otherwise it is highly probably that the file
will not match against any DLNA profile.</doc>
    </docsection>
  </namespace>
</repository>
