<?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="BraseroMedia" version="3.1"/>
  <include name="Gtk" version="3.0"/>
  <package name="gtk+-3.0"/>
  <namespace name="BraseroBurn"
             version="1.0"
             shared-library="libbrasero-burn3.so.1"
             c:identifier-prefixes="Brasero"
             c:symbol-prefixes="brasero">
    <class name="Burn"
           c:symbol-prefix="burn"
           c:type="BraseroBurn"
           parent="GObject.Object"
           glib:type-name="BraseroBurn"
           glib:get-type="brasero_burn_get_type"
           glib:type-struct="BurnClass">
      <constructor name="new" c:identifier="brasero_burn_new">
        <doc xml:space="preserve">Creates a new #BraseroBurn object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroBurn object.</doc>
          <type name="Burn" c:type="BraseroBurn*"/>
        </return-value>
      </constructor>
      <function name="library_can_checksum"
                c:identifier="brasero_burn_library_can_checksum">
        <doc xml:space="preserve">Checks whether the library can do any kind of
checksum at all.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </function>
      <function name="library_get_media_capabilities"
                c:identifier="brasero_burn_library_get_media_capabilities">
        <doc xml:space="preserve">Used to test what the library can do based on the medium type.
Returns BRASERO_MEDIUM_WRITABLE if the disc can be written
and / or BRASERO_MEDIUM_REWRITABLE if the disc can be erased.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedia</doc>
          <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
        </return-value>
        <parameters>
          <parameter name="media" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedia</doc>
            <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
          </parameter>
        </parameters>
      </function>
      <function name="library_get_option_group"
                c:identifier="brasero_burn_library_get_option_group">
        <doc xml:space="preserve">Returns a GOptionGroup for the commandline arguments recognized by libbrasero-burn.
You should add this to your GOptionContext if your are using g_option_context_parse ()
to parse your commandline arguments.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GOptionGroup *</doc>
          <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
        </return-value>
      </function>
      <function name="library_get_plugins_list"
                c:identifier="brasero_burn_library_get_plugins_list">
        <doc xml:space="preserve">This function returns the list of plugins that
are available to libbrasero-burn.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GSList that must be destroyed when not needed and each object unreffed.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GObject.Object"/>
          </type>
        </return-value>
      </function>
      <function name="library_input_supported"
                c:identifier="brasero_burn_library_input_supported">
        <doc xml:space="preserve">Checks whether @type can be used as input.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </function>
      <function name="library_start" c:identifier="brasero_burn_library_start">
        <doc xml:space="preserve">Starts the library. This function must be called
before using any of the functions.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="argc" transfer-ownership="none">
            <doc xml:space="preserve">an #int.</doc>
            <type name="gint" c:type="int*"/>
          </parameter>
          <parameter name="argv" transfer-ownership="none">
            <doc xml:space="preserve">a #char **.</doc>
            <type name="utf8" c:type="char**"/>
          </parameter>
        </parameters>
      </function>
      <function name="library_stop" c:identifier="brasero_burn_library_stop">
        <doc xml:space="preserve">Stop the library. Don't use any of the functions or
objects afterwards</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </function>
      <function name="quark" c:identifier="brasero_burn_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="action_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <type name="BurnAction" c:type="BraseroBurnAction"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="ask_disable_joliet">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="blank_failure">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="dummy_success">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="eject_failure">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="insert_media_request">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
          </parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="BurnError" c:type="BraseroBurnError"/>
          </parameter>
          <parameter name="required_media" transfer-ownership="none">
            <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="install_missing">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="PluginErrorType" c:type="BraseroPluginErrorType"/>
          </parameter>
          <parameter name="detail" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="location_request">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
          <parameter name="is_temporary" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="progress_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="overall_progress" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="action_progress" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="time_remaining" transfer-ownership="none">
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="warn_audio_to_appendable">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="warn_data_loss">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="warn_previous_session_loss">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="warn_rewritable">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="obj" transfer-ownership="none">
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="blank" c:identifier="brasero_burn_blank" throws="1">
        <doc xml:space="preserve">Blanks a medium according to the parameters
set in @session. The medium must be inserted in the #BraseroDrive
set with brasero_burn_session_set_burner ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. The result of the operation.
BRASERO_BURN_OK if it was successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </parameter>
        </parameters>
      </method>
      <method name="cancel" c:identifier="brasero_burn_cancel">
        <doc xml:space="preserve">Cancels any ongoing operation. If @protect is TRUE then
cancellation will not take place for a "critical" task, a task whose interruption
could damage the medium or the drive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. The result of the operation.
BRASERO_BURN_OK if it was successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="protect" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="check" c:identifier="brasero_burn_check" throws="1">
        <doc xml:space="preserve">Checks the integrity of a medium according to the parameters
set in @session. The medium must be inserted in the #BraseroDrive
set as the source of a #BraseroTrackDisc track inserted in @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. The result of the operation.
BRASERO_BURN_OK if it was successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_action_string"
              c:identifier="brasero_burn_get_action_string">
        <doc xml:space="preserve">This function returns the current action (in @string)  of
an ongoing operation performed by @burn.
@action is used to set a default string in case there was
no string set by the backend to describe the current
operation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="action" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnAction</doc>
            <type name="BurnAction" c:type="BraseroBurnAction"/>
          </parameter>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar **</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="record" c:identifier="brasero_burn_record" throws="1">
        <doc xml:space="preserve">Burns or creates a disc image according to the parameters
set in @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. The result of the operation.
BRASERO_BURN_OK if it was successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </parameter>
        </parameters>
      </method>
      <method name="status" c:identifier="brasero_burn_status">
        <doc xml:space="preserve">Returns various information about the current operation
in @media (the current media type being burnt),
@isosize (the size of the data being burnt), @written (the
number of bytes having been written so far) and @rate
(the speed at which data are written).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is
an ongoing operation; BRASERO_BURN_NOT_READY otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="burn" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurn</doc>
            <type name="Burn" c:type="BraseroBurn*"/>
          </instance-parameter>
          <parameter name="media" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedia or NULL</doc>
            <type name="BraseroMedia.Media" c:type="BraseroMedia*"/>
          </parameter>
          <parameter name="isosize" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="written" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="rate" transfer-ownership="none">
            <doc xml:space="preserve">a #guint64 or NULL</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="action-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="blank-failure" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="disable-joliet" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="dummy-success" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="eject-failure" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="BraseroMedia.Drive"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="insert-media" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="BraseroMedia.Drive"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="install-missing" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="location-request" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="progress-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="warn-audio-to-appendable" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="warn-data-loss" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="warn-previous-session-loss" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
      <glib:signal name="warn-rewritable" when="last">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </glib:signal>
    </class>
    <enumeration name="BurnAction" c:type="BraseroBurnAction">
      <member name="none" value="0" c:identifier="BRASERO_BURN_ACTION_NONE">
      </member>
      <member name="getting_size"
              value="1"
              c:identifier="BRASERO_BURN_ACTION_GETTING_SIZE">
      </member>
      <member name="creating_image"
              value="2"
              c:identifier="BRASERO_BURN_ACTION_CREATING_IMAGE">
      </member>
      <member name="recording"
              value="3"
              c:identifier="BRASERO_BURN_ACTION_RECORDING">
      </member>
      <member name="blanking"
              value="4"
              c:identifier="BRASERO_BURN_ACTION_BLANKING">
      </member>
      <member name="checksum"
              value="5"
              c:identifier="BRASERO_BURN_ACTION_CHECKSUM">
      </member>
      <member name="drive_copy"
              value="6"
              c:identifier="BRASERO_BURN_ACTION_DRIVE_COPY">
      </member>
      <member name="file_copy"
              value="7"
              c:identifier="BRASERO_BURN_ACTION_FILE_COPY">
      </member>
      <member name="analysing"
              value="8"
              c:identifier="BRASERO_BURN_ACTION_ANALYSING">
      </member>
      <member name="transcoding"
              value="9"
              c:identifier="BRASERO_BURN_ACTION_TRANSCODING">
      </member>
      <member name="preparing"
              value="10"
              c:identifier="BRASERO_BURN_ACTION_PREPARING">
      </member>
      <member name="leadin"
              value="11"
              c:identifier="BRASERO_BURN_ACTION_LEADIN">
      </member>
      <member name="recording_cd_text"
              value="12"
              c:identifier="BRASERO_BURN_ACTION_RECORDING_CD_TEXT">
      </member>
      <member name="fixating"
              value="13"
              c:identifier="BRASERO_BURN_ACTION_FIXATING">
      </member>
      <member name="leadout"
              value="14"
              c:identifier="BRASERO_BURN_ACTION_LEADOUT">
      </member>
      <member name="start_recording"
              value="15"
              c:identifier="BRASERO_BURN_ACTION_START_RECORDING">
      </member>
      <member name="finished"
              value="16"
              c:identifier="BRASERO_BURN_ACTION_FINISHED">
      </member>
      <member name="ejecting"
              value="17"
              c:identifier="BRASERO_BURN_ACTION_EJECTING">
      </member>
      <member name="last" value="18" c:identifier="BRASERO_BURN_ACTION_LAST">
      </member>
    </enumeration>
    <record name="BurnClass"
            c:type="BraseroBurnClass"
            glib:is-gtype-struct-for="Burn">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="insert_media_request">
        <callback name="insert_media_request">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="drive" transfer-ownership="none">
              <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="BurnError" c:type="BraseroBurnError"/>
            </parameter>
            <parameter name="required_media" transfer-ownership="none">
              <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="eject_failure">
        <callback name="eject_failure">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="drive" transfer-ownership="none">
              <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="blank_failure">
        <callback name="blank_failure">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="location_request">
        <callback name="location_request">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
            <parameter name="is_temporary" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="ask_disable_joliet">
        <callback name="ask_disable_joliet">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="warn_data_loss">
        <callback name="warn_data_loss">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="warn_previous_session_loss">
        <callback name="warn_previous_session_loss">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="warn_audio_to_appendable">
        <callback name="warn_audio_to_appendable">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="warn_rewritable">
        <callback name="warn_rewritable">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dummy_success">
        <callback name="dummy_success">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="progress_changed">
        <callback name="progress_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="overall_progress" transfer-ownership="none">
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="action_progress" transfer-ownership="none">
              <type name="gdouble" c:type="gdouble"/>
            </parameter>
            <parameter name="time_remaining" transfer-ownership="none">
              <type name="glong" c:type="glong"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="action_changed">
        <callback name="action_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="action" transfer-ownership="none">
              <type name="BurnAction" c:type="BraseroBurnAction"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="install_missing">
        <callback name="install_missing">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="obj" transfer-ownership="none">
              <type name="Burn" c:type="BraseroBurn*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="PluginErrorType" c:type="BraseroPluginErrorType"/>
            </parameter>
            <parameter name="detail" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="BurnDialog"
           c:symbol-prefix="burn_dialog"
           c:type="BraseroBurnDialog"
           parent="Gtk.Dialog"
           glib:type-name="BraseroBurnDialog"
           glib:get-type="brasero_burn_dialog_get_type"
           glib:type-struct="BurnDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="brasero_burn_dialog_new">
        <doc xml:space="preserve">Creates a new #BraseroBurnDialog object</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GtkWidget. Unref when it is not needed anymore.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="cancel" c:identifier="brasero_burn_dialog_cancel">
        <doc xml:space="preserve">Cancel the ongoing operation run by @dialog; if @force_cancellation is FALSE then it can
happen that the operation won't be cancelled if there is a risk to make a disc unusable.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it was sucessfully cancelled, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnDialog</doc>
            <type name="BurnDialog" c:type="BraseroBurnDialog*"/>
          </instance-parameter>
          <parameter name="force_cancellation" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="run" c:identifier="brasero_burn_dialog_run">
        <doc xml:space="preserve">Start burning the contents of @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successfully carried out, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnDialog</doc>
            <type name="BurnDialog" c:type="BraseroBurnDialog*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </parameter>
        </parameters>
      </method>
      <method name="run_multi" c:identifier="brasero_burn_dialog_run_multi">
        <doc xml:space="preserve">Start burning the contents of @session. Once a disc is burnt, a dialog
will be shown to the user and wait for a new insertion before starting to burn
again.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successfully carried out, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnDialog</doc>
            <type name="BurnDialog" c:type="BraseroBurnDialog*"/>
          </instance-parameter>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="BurnDialogClass"
            c:type="BraseroBurnDialogClass"
            glib:is-gtype-struct-for="BurnDialog">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <enumeration name="BurnError" c:type="BraseroBurnError">
      <member name="error_none"
              value="0"
              c:identifier="BRASERO_BURN_ERROR_NONE">
      </member>
      <member name="error_general"
              value="1"
              c:identifier="BRASERO_BURN_ERROR_GENERAL">
      </member>
      <member name="error_plugin_misbehavior"
              value="2"
              c:identifier="BRASERO_BURN_ERROR_PLUGIN_MISBEHAVIOR">
      </member>
      <member name="error_slow_dma"
              value="3"
              c:identifier="BRASERO_BURN_ERROR_SLOW_DMA">
      </member>
      <member name="error_permission"
              value="4"
              c:identifier="BRASERO_BURN_ERROR_PERMISSION">
      </member>
      <member name="error_drive_busy"
              value="5"
              c:identifier="BRASERO_BURN_ERROR_DRIVE_BUSY">
      </member>
      <member name="error_disk_space"
              value="6"
              c:identifier="BRASERO_BURN_ERROR_DISK_SPACE">
      </member>
      <member name="error_empty"
              value="7"
              c:identifier="BRASERO_BURN_ERROR_EMPTY">
      </member>
      <member name="error_input_invalid"
              value="8"
              c:identifier="BRASERO_BURN_ERROR_INPUT_INVALID">
      </member>
      <member name="error_output_none"
              value="9"
              c:identifier="BRASERO_BURN_ERROR_OUTPUT_NONE">
      </member>
      <member name="error_file_invalid"
              value="10"
              c:identifier="BRASERO_BURN_ERROR_FILE_INVALID">
      </member>
      <member name="error_file_folder"
              value="11"
              c:identifier="BRASERO_BURN_ERROR_FILE_FOLDER">
      </member>
      <member name="error_file_playlist"
              value="12"
              c:identifier="BRASERO_BURN_ERROR_FILE_PLAYLIST">
      </member>
      <member name="error_file_not_found"
              value="13"
              c:identifier="BRASERO_BURN_ERROR_FILE_NOT_FOUND">
      </member>
      <member name="error_file_not_local"
              value="14"
              c:identifier="BRASERO_BURN_ERROR_FILE_NOT_LOCAL">
      </member>
      <member name="error_write_medium"
              value="15"
              c:identifier="BRASERO_BURN_ERROR_WRITE_MEDIUM">
      </member>
      <member name="error_write_image"
              value="16"
              c:identifier="BRASERO_BURN_ERROR_WRITE_IMAGE">
      </member>
      <member name="error_image_invalid"
              value="17"
              c:identifier="BRASERO_BURN_ERROR_IMAGE_INVALID">
      </member>
      <member name="error_image_joliet"
              value="18"
              c:identifier="BRASERO_BURN_ERROR_IMAGE_JOLIET">
      </member>
      <member name="error_image_last_session"
              value="19"
              c:identifier="BRASERO_BURN_ERROR_IMAGE_LAST_SESSION">
      </member>
      <member name="error_medium_none"
              value="20"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_NONE">
      </member>
      <member name="error_medium_invalid"
              value="21"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_INVALID">
      </member>
      <member name="error_medium_space"
              value="22"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_SPACE">
      </member>
      <member name="error_medium_no_data"
              value="23"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_NO_DATA">
      </member>
      <member name="error_medium_not_writable"
              value="24"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_NOT_WRITABLE">
      </member>
      <member name="error_medium_not_rewritable"
              value="25"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_NOT_REWRITABLE">
      </member>
      <member name="error_medium_need_reloading"
              value="26"
              c:identifier="BRASERO_BURN_ERROR_MEDIUM_NEED_RELOADING">
      </member>
      <member name="error_bad_checksum"
              value="27"
              c:identifier="BRASERO_BURN_ERROR_BAD_CHECKSUM">
      </member>
      <member name="error_missing_app_and_plugin"
              value="28"
              c:identifier="BRASERO_BURN_ERROR_MISSING_APP_AND_PLUGIN">
      </member>
      <member name="warning_checksum"
              value="29"
              c:identifier="BRASERO_BURN_WARNING_CHECKSUM">
      </member>
      <member name="warning_insert_after_copy"
              value="30"
              c:identifier="BRASERO_BURN_WARNING_INSERT_AFTER_COPY">
      </member>
      <member name="error_tmp_directory"
              value="31"
              c:identifier="BRASERO_BURN_ERROR_TMP_DIRECTORY">
      </member>
      <member name="error_encryption_key"
              value="32"
              c:identifier="BRASERO_BURN_ERROR_ENCRYPTION_KEY">
      </member>
    </enumeration>
    <bitfield name="BurnFlag" c:type="BraseroBurnFlag">
      <member name="none" value="0" c:identifier="BRASERO_BURN_FLAG_NONE">
      </member>
      <member name="check_size"
              value="1"
              c:identifier="BRASERO_BURN_FLAG_CHECK_SIZE">
      </member>
      <member name="nograce"
              value="2"
              c:identifier="BRASERO_BURN_FLAG_NOGRACE">
      </member>
      <member name="eject" value="4" c:identifier="BRASERO_BURN_FLAG_EJECT">
      </member>
      <member name="merge" value="8" c:identifier="BRASERO_BURN_FLAG_MERGE">
      </member>
      <member name="multi" value="16" c:identifier="BRASERO_BURN_FLAG_MULTI">
      </member>
      <member name="append" value="32" c:identifier="BRASERO_BURN_FLAG_APPEND">
      </member>
      <member name="burnproof"
              value="64"
              c:identifier="BRASERO_BURN_FLAG_BURNPROOF">
      </member>
      <member name="no_tmp_files"
              value="128"
              c:identifier="BRASERO_BURN_FLAG_NO_TMP_FILES">
      </member>
      <member name="dummy" value="256" c:identifier="BRASERO_BURN_FLAG_DUMMY">
      </member>
      <member name="overburn"
              value="512"
              c:identifier="BRASERO_BURN_FLAG_OVERBURN">
      </member>
      <member name="blank_before_write"
              value="1024"
              c:identifier="BRASERO_BURN_FLAG_BLANK_BEFORE_WRITE">
      </member>
      <member name="fast_blank"
              value="2048"
              c:identifier="BRASERO_BURN_FLAG_FAST_BLANK">
      </member>
      <member name="dao" value="8192" c:identifier="BRASERO_BURN_FLAG_DAO">
      </member>
      <member name="raw" value="16384" c:identifier="BRASERO_BURN_FLAG_RAW">
      </member>
      <member name="last" value="16385" c:identifier="BRASERO_BURN_FLAG_LAST">
      </member>
    </bitfield>
    <class name="BurnOptions"
           c:symbol-prefix="burn_options"
           c:type="BraseroBurnOptions"
           parent="Gtk.Dialog"
           glib:type-name="BraseroBurnOptions"
           glib:get-type="brasero_burn_options_get_type"
           glib:type-struct="BurnOptionsClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="brasero_burn_options_new">
        <doc xml:space="preserve">Creates a new #BraseroBurnOptions object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GtkWidget object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionCfg object</doc>
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_options"
              c:identifier="brasero_burn_options_add_options">
        <doc xml:space="preserve">Adds some new options to be displayed in the dialog.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnOptions</doc>
            <type name="BurnOptions" c:type="BraseroBurnOptions*"/>
          </instance-parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="session"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="BurnSession"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="BurnOptionsClass"
            c:type="BraseroBurnOptionsClass"
            glib:is-gtype-struct-for="BurnOptions">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
    </record>
    <enumeration name="BurnResult" c:type="BraseroBurnResult">
      <member name="ok" value="0" c:identifier="BRASERO_BURN_OK">
      </member>
      <member name="err" value="1" c:identifier="BRASERO_BURN_ERR">
      </member>
      <member name="retry" value="2" c:identifier="BRASERO_BURN_RETRY">
      </member>
      <member name="cancel" value="3" c:identifier="BRASERO_BURN_CANCEL">
      </member>
      <member name="running" value="4" c:identifier="BRASERO_BURN_RUNNING">
      </member>
      <member name="dangerous" value="5" c:identifier="BRASERO_BURN_DANGEROUS">
      </member>
      <member name="not_ready" value="6" c:identifier="BRASERO_BURN_NOT_READY">
      </member>
      <member name="not_running"
              value="7"
              c:identifier="BRASERO_BURN_NOT_RUNNING">
      </member>
      <member name="need_reload"
              value="8"
              c:identifier="BRASERO_BURN_NEED_RELOAD">
      </member>
      <member name="not_supported"
              value="9"
              c:identifier="BRASERO_BURN_NOT_SUPPORTED">
      </member>
    </enumeration>
    <class name="BurnSession"
           c:symbol-prefix="burn_session"
           c:type="BraseroBurnSession"
           parent="GObject.Object"
           glib:type-name="BraseroBurnSession"
           glib:get-type="brasero_burn_session_get_type"
           glib:type-struct="BurnSessionClass">
      <constructor name="new" c:identifier="brasero_burn_session_new">
        <doc xml:space="preserve">Returns a new #BraseroBurnSession object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroBurnSession.</doc>
          <type name="BurnSession" c:type="BraseroBurnSession*"/>
        </return-value>
      </constructor>
      <virtual-method name="get_output_format" invoker="get_output_format">
        <doc xml:space="preserve">When the contents of @session should be written to a
file then this function returns the format of the image to write.

NOTE: before using this function a #BraseroDrive should have been
set with brasero_burn_session_set_burner () and it should be the
fake drive (see brasero_drive_is_fake ()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFormat. The format of the image to be written.</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_output_path">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="toc" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="output_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="former_medium" transfer-ownership="none">
            <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_output_image">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
          <parameter name="image" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="toc" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tag_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="track_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="track" transfer-ownership="none">
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="track_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="track" transfer-ownership="none">
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="track_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="track" transfer-ownership="none">
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
          <parameter name="former_position" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_flag" c:identifier="brasero_burn_session_add_flag">
        <doc xml:space="preserve">Merges the current flags set in @session with @flags.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_track" c:identifier="brasero_burn_session_add_track">
        <doc xml:space="preserve">Inserts a new track after @sibling or appended if @sibling is NULL. If @track is NULL then all tracks
already in @session will be removed.
NOTE: if there are already #BraseroTrack objects inserted in the session and if they are not
of the same type as @new_track then they will be removed before the insertion of @new_track.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully inserted or BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="new_track"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #BraseroTrack or NULL.</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #BraseroTrack or NULL.</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </method>
      <method name="can_blank" c:identifier="brasero_burn_session_can_blank">
        <doc xml:space="preserve">Given the various parameters stored in @session, this
function checks whether the medium in the
#BraseroDrive (set with brasero_burn_session_set_burner ())
can be blanked.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it is possible.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_burn" c:identifier="brasero_burn_session_can_burn">
        <doc xml:space="preserve">Given the various parameters stored in @session, this
function checks whether the data contained in @session
can be burnt to the medium in the #BraseroDrive (set
through brasero_burn_session_set_burner ()).
If @check_flags determine the behavior of this function.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it is possible.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="check_flags" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_blank_flags"
              c:identifier="brasero_burn_session_get_blank_flags">
        <doc xml:space="preserve">Given the various parameters stored in @session,
stores in @supported and @compulsory, the flags
that can be used (@supported) and must be used
(@compulsory) when blanking the medium in the
#BraseroDrive (set with brasero_burn_session_set_burner ()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the retrieval was successful.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="supported" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag*"/>
          </parameter>
          <parameter name="compulsory" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_burn_flags"
              c:identifier="brasero_burn_session_get_burn_flags">
        <doc xml:space="preserve">Given the various parameters stored in @session, this function
stores:
- the flags that can be used (@supported)
- the flags that must be used (@compulsory)
when writing @session to a disc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the retrieval was successful.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="supported" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag or NULL</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag*"/>
          </parameter>
          <parameter name="compulsory" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag or NULL</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_burner" c:identifier="brasero_burn_session_get_burner">
        <doc xml:space="preserve">Returns the #BraseroDrive that should be used to burn the session contents.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">a #BraseroDrive or NULL. Do not unref after use.</doc>
          <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_default_output_format"
              c:identifier="brasero_burn_session_get_default_output_format">
        <doc xml:space="preserve">Returns the default disc image type that should be set to create
an image given the current state of @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFormat</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flags" c:identifier="brasero_burn_session_get_flags">
        <doc xml:space="preserve">Returns the current flags set for @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnFlag.</doc>
          <type name="BurnFlag" c:type="BraseroBurnFlag"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_input_type"
              c:identifier="brasero_burn_session_get_input_type">
        <doc xml:space="preserve">Sets @type to reflect the type of data contained in @session</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType or NULL</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_label" c:identifier="brasero_burn_session_get_label">
        <doc xml:space="preserve">Returns the label (a string) set for @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar or NULL. Do not free after use.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output" c:identifier="brasero_burn_session_get_output">
        <doc xml:space="preserve">When the contents of @session should be written to a
file then this function returns the image path (and if
necessary a toc path).
@image and @toc should be freed if not used anymore.

NOTE: before using this function a #BraseroDrive should have been
set with brasero_burn_session_set_burner () and it should be the
fake drive (see brasero_drive_is_fake ()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful; BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="image"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar to store the image path or NULL.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="toc"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar to store the toc path or NULL.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_output_format"
              c:identifier="brasero_burn_session_get_output_format">
        <doc xml:space="preserve">When the contents of @session should be written to a
file then this function returns the format of the image to write.

NOTE: before using this function a #BraseroDrive should have been
set with brasero_burn_session_set_burner () and it should be the
fake drive (see brasero_drive_is_fake ()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFormat. The format of the image to be written.</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_output_type"
              c:identifier="brasero_burn_session_get_output_type">
        <doc xml:space="preserve">This function returns the type of output set for the session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful; BRASERO_BURN_NOT_READY if no setting has been set; BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType or NULL</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_possible_output_formats"
              c:identifier="brasero_burn_session_get_possible_output_formats">
        <doc xml:space="preserve">Returns the disc image types that could be set to create
an image given the current state of @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint. The number of formats available.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="formats" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_rate" c:identifier="brasero_burn_session_get_rate">
        <doc xml:space="preserve">Returns the speed at which the medium should be burnt.
NOTE: before using this function a #BraseroDrive should have been
set with brasero_burn_session_set_burner ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64 or 0.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_required_media_type"
              c:identifier="brasero_burn_session_get_required_media_type">
        <doc xml:space="preserve">Return the medium types that could be used to burn
@session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedia</doc>
          <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="brasero_burn_session_get_size">
        <doc xml:space="preserve">Returns the size of the data contained by @session in bytes or in sectors</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing the size
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_status" c:identifier="brasero_burn_session_get_status">
        <doc xml:space="preserve">Sets @status to reflect whether @session is ready to be used.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStatus</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_strict_support"
              c:identifier="brasero_burn_session_get_strict_support">
        <doc xml:space="preserve">For the following functions:
brasero_burn_session_can_burn ()
brasero_burn_session_input_supported ()
brasero_burn_session_output_supported ()
brasero_burn_session_can_blank ()
this function gets whether the checks will
ignore the plugins with errors (return %TRUE).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">#gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tmpdir" c:identifier="brasero_burn_session_get_tmpdir">
        <doc xml:space="preserve">Returns the path of the directory in which to write temporary directories and files.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar. The path to the temporary directory.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tracks" c:identifier="brasero_burn_session_get_tracks">
        <doc xml:space="preserve">Returns the list of #BraseroTrack added to @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GSList or #BraseroTrack object. Do not unref the objects in the list nor destroy the list.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Track"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="input_supported"
              c:identifier="brasero_burn_session_input_supported">
        <doc xml:space="preserve">Given the various parameters stored in @session, this
function checks whether a session with the data type
@type could be burnt to the medium in the #BraseroDrive (set
through brasero_burn_session_set_burner ()).
If @check_flags is %TRUE, then flags are taken into account
and are not if it is %FALSE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it is possible.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="input" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
          <parameter name="check_flags" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="move_track" c:identifier="brasero_burn_session_move_track">
        <doc xml:space="preserve">Moves @track after @sibling; if @sibling is NULL then it is appended.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully moved or BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack.</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
          <parameter name="sibling"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #BraseroTrack or NULL.</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </method>
      <method name="output_supported"
              c:identifier="brasero_burn_session_output_supported">
        <doc xml:space="preserve">Make sure that the image type or medium type defined in @output can be
created/burnt given the parameters and the current data set in @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">BRASERO_BURN_OK if the medium type or the image type can be used as an output.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession *</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="output" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType *</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_flag"
              c:identifier="brasero_burn_session_remove_flag">
        <doc xml:space="preserve">Removes @flags from the current flags set for @session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_track"
              c:identifier="brasero_burn_session_remove_track">
        <doc xml:space="preserve">Removes @track from @session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if the track was successfully removed or BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_burner" c:identifier="brasero_burn_session_set_burner">
        <doc xml:space="preserve">Sets the #BraseroDrive that should be used to burn the session contents.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flags" c:identifier="brasero_burn_session_set_flags">
        <doc xml:space="preserve">Replaces the current flags set in @session with @flags.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image_output_format"
              c:identifier="brasero_burn_session_set_image_output_format">
        <doc xml:space="preserve">When the contents of @session should be written to a
file, this function sets format of the image that will be
created.

NOTE: after a call to this function the #BraseroDrive for
@session will be the fake #BraseroDrive.

Since 2.29.0</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set;
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image_output_full"
              c:identifier="brasero_burn_session_set_image_output_full">
        <doc xml:space="preserve">When the contents of @session should be written to a
file, this function sets the different parameters of this
image like its path (and the one of the associated toc if
necessary) and its format.

NOTE: after a call to this function the #BraseroDrive for
@session will be the fake #BraseroDrive.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set;
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat.</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
          <parameter name="image"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar or NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="toc"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar or NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label" c:identifier="brasero_burn_session_set_label">
        <doc xml:space="preserve">Sets the label for @session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rate" c:identifier="brasero_burn_session_set_rate">
        <doc xml:space="preserve">Sets the speed at which the medium should be burnt.
NOTE: before using this function a #BraseroDrive should have been
set with brasero_burn_session_set_burner ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful; BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="rate" transfer-ownership="none">
            <doc xml:space="preserve">a #guint64</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_strict_support"
              c:identifier="brasero_burn_session_set_strict_support">
        <doc xml:space="preserve">For the following functions:
brasero_burn_session_supported ()
brasero_burn_session_input_supported ()
brasero_burn_session_output_supported ()
brasero_burn_session_can_blank ()
this function sets whether these functions will
ignore the plugins with errors (%TRUE).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession.</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="strict_check" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tmpdir" c:identifier="brasero_burn_session_set_tmpdir">
        <doc xml:space="preserve">Sets the path of the directory in which to write temporary directories and files.
If set to NULL then the result of g_get_tmp_dir () will be used.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it was successfully set;
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_add" c:identifier="brasero_burn_session_tag_add">
        <doc xml:space="preserve">Associates a new @tag with @session. This can be used
to pass arbitrary information for plugins, like parameters
for video discs, ...
NOTE: the #BraseroBurnSession object takes ownership of @value.
See brasero-tags.h for a list of knowns tags.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #GValue *</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_add_int"
              c:identifier="brasero_burn_session_tag_add_int">
        <doc xml:space="preserve">Associates a new @tag with @session. This can be used
to pass arbitrary information for plugins, like parameters
for video discs, ...
See brasero-tags.h for a list of knowns tags.

Since 2.29.0</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #gint</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_lookup" c:identifier="brasero_burn_session_tag_lookup">
        <doc xml:space="preserve">Retrieves a value associated with @session through
brasero_session_tag_add () and stores it in @value. Do
not destroy @value afterwards as it is not a copy.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the retrieval was successful
BRASERO_BURN_ERR otherwise</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #GValue</doc>
            <type name="GObject.Value" c:type="GValue**"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_lookup_int"
              c:identifier="brasero_burn_session_tag_lookup_int">
        <doc xml:space="preserve">Retrieves an int value associated with @session through
brasero_session_tag_add () and returns it.

Since 2.29.0</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gint.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_remove" c:identifier="brasero_burn_session_tag_remove">
        <doc xml:space="preserve">Removes a value associated with @session through
brasero_session_tag_add ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the retrieval was successful
BRASERO_BURN_ERR otherwise</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnSession</doc>
            <type name="BurnSession" c:type="BraseroBurnSession*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="flags" writable="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="speed" writable="1" transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </property>
      <property name="tmpdir" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="output-changed" when="last">
        <doc xml:space="preserve">This signal gets emitted when the medium to burn to changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="former_medium" transfer-ownership="none">
            <doc xml:space="preserve">the medium which was previously set</doc>
            <type name="BraseroMedia.Medium"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tag-changed" when="first">
        <doc xml:space="preserve">This signal gets emitted when a tag changed for @session (whether it
was removed, added, or it changed).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="track-added" when="last">
        <doc xml:space="preserve">This signal gets emitted when a track is added to @session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">the track that was added</doc>
            <type name="Track"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="track-changed" when="last">
        <doc xml:space="preserve">This signal gets emitted when the contents of a track changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">the track that changed</doc>
            <type name="Track"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="track-removed" when="last">
        <doc xml:space="preserve">This signal gets emitted when a track is removed from @session.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">the track that was removed</doc>
            <type name="Track"/>
          </parameter>
          <parameter name="former_position" transfer-ownership="none">
            <doc xml:space="preserve">the former position of @track</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BurnSessionClass"
            c:type="BraseroBurnSessionClass"
            glib:is-gtype-struct-for="BurnSession">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="set_output_image">
        <callback name="set_output_image">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <type name="ImageFormat" c:type="BraseroImageFormat"/>
            </parameter>
            <parameter name="image" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="toc" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_output_path">
        <callback name="get_output_path">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="image" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="toc" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_output_format">
        <callback name="get_output_format">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat. The format of the image to be written.</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroBurnSession</doc>
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tag_changed">
        <callback name="tag_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="tag" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="track_added">
        <callback name="track_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="track" transfer-ownership="none">
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="track_removed">
        <callback name="track_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="track" transfer-ownership="none">
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
            <parameter name="former_position" transfer-ownership="none">
              <type name="guint" c:type="guint"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="track_changed">
        <callback name="track_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="track" transfer-ownership="none">
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="output_changed">
        <callback name="output_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="session" transfer-ownership="none">
              <type name="BurnSession" c:type="BraseroBurnSession*"/>
            </parameter>
            <parameter name="former_medium" transfer-ownership="none">
              <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <constant name="COVER_URI"
              value="session::art::cover"
              c:type="BRASERO_COVER_URI">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <bitfield name="ChecksumType" c:type="BraseroChecksumType">
      <member name="none" value="0" c:identifier="BRASERO_CHECKSUM_NONE">
      </member>
      <member name="detect" value="1" c:identifier="BRASERO_CHECKSUM_DETECT">
      </member>
      <member name="md5" value="2" c:identifier="BRASERO_CHECKSUM_MD5">
      </member>
      <member name="md5_file"
              value="4"
              c:identifier="BRASERO_CHECKSUM_MD5_FILE">
      </member>
      <member name="sha1" value="8" c:identifier="BRASERO_CHECKSUM_SHA1">
      </member>
      <member name="sha1_file"
              value="16"
              c:identifier="BRASERO_CHECKSUM_SHA1_FILE">
      </member>
      <member name="sha256" value="32" c:identifier="BRASERO_CHECKSUM_SHA256">
      </member>
      <member name="sha256_file"
              value="64"
              c:identifier="BRASERO_CHECKSUM_SHA256_FILE">
      </member>
    </bitfield>
    <constant name="DATA_TRACK_SIZE_TAG"
              value="track::data::estimated_size"
              c:type="BRASERO_DATA_TRACK_SIZE_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DND_TARGET_DATA_TRACK_REFERENCE_LIST"
              value="GTK_TREE_MODEL_ROW"
              c:type="BRASERO_DND_TARGET_DATA_TRACK_REFERENCE_LIST">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DVD_STREAM_FORMAT"
              value="session::DVD::stream::format"
              c:type="BRASERO_DVD_STREAM_FORMAT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <callback name="ForeachPluginErrorCb" c:type="BraseroForeachPluginErrorCb">
      <return-value transfer-ownership="none">
        <type name="BurnResult" c:type="BraseroBurnResult"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="PluginErrorType" c:type="BraseroPluginErrorType"/>
        </parameter>
        <parameter name="detail" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="GraftPt" c:type="BraseroGraftPt">
      <doc xml:space="preserve">A pair of strings describing:
@uri the actual current location of the file
@path the path of the file on the future ISO9660/UDF/... filesystem</doc>
      <field name="uri" writable="1">
        <doc xml:space="preserve">a URI</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="path" writable="1">
        <doc xml:space="preserve">a file path</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <bitfield name="ImageFS" c:type="BraseroImageFS">
      <member name="fs_none" value="0" c:identifier="BRASERO_IMAGE_FS_NONE">
      </member>
      <member name="fs_iso" value="1" c:identifier="BRASERO_IMAGE_FS_ISO">
      </member>
      <member name="fs_udf" value="2" c:identifier="BRASERO_IMAGE_FS_UDF">
      </member>
      <member name="fs_joliet"
              value="4"
              c:identifier="BRASERO_IMAGE_FS_JOLIET">
      </member>
      <member name="fs_video" value="8" c:identifier="BRASERO_IMAGE_FS_VIDEO">
      </member>
      <member name="fs_symlink"
              value="16"
              c:identifier="BRASERO_IMAGE_FS_SYMLINK">
      </member>
      <member name="iso_fs_level_3"
              value="32"
              c:identifier="BRASERO_IMAGE_ISO_FS_LEVEL_3">
      </member>
      <member name="iso_fs_deep_directory"
              value="64"
              c:identifier="BRASERO_IMAGE_ISO_FS_DEEP_DIRECTORY">
      </member>
      <member name="fs_any" value="127" c:identifier="BRASERO_IMAGE_FS_ANY">
      </member>
    </bitfield>
    <bitfield name="ImageFormat" c:type="BraseroImageFormat">
      <member name="none" value="0" c:identifier="BRASERO_IMAGE_FORMAT_NONE">
      </member>
      <member name="bin" value="1" c:identifier="BRASERO_IMAGE_FORMAT_BIN">
      </member>
      <member name="cue" value="2" c:identifier="BRASERO_IMAGE_FORMAT_CUE">
      </member>
      <member name="clone" value="4" c:identifier="BRASERO_IMAGE_FORMAT_CLONE">
      </member>
      <member name="cdrdao"
              value="8"
              c:identifier="BRASERO_IMAGE_FORMAT_CDRDAO">
      </member>
      <member name="any" value="15" c:identifier="BRASERO_IMAGE_FORMAT_ANY">
      </member>
    </bitfield>
    <constant name="MIN_STREAM_LENGTH"
              value="6000000000"
              c:type="BRASERO_MIN_STREAM_LENGTH">
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="PluginErrorType" c:type="BraseroPluginErrorType">
      <member name="none" value="0" c:identifier="BRASERO_PLUGIN_ERROR_NONE">
      </member>
      <member name="module"
              value="1"
              c:identifier="BRASERO_PLUGIN_ERROR_MODULE">
      </member>
      <member name="missing_app"
              value="2"
              c:identifier="BRASERO_PLUGIN_ERROR_MISSING_APP">
      </member>
      <member name="wrong_app_version"
              value="3"
              c:identifier="BRASERO_PLUGIN_ERROR_WRONG_APP_VERSION">
      </member>
      <member name="symbolic_link_app"
              value="4"
              c:identifier="BRASERO_PLUGIN_ERROR_SYMBOLIC_LINK_APP">
      </member>
      <member name="missing_library"
              value="5"
              c:identifier="BRASERO_PLUGIN_ERROR_MISSING_LIBRARY">
      </member>
      <member name="library_version"
              value="6"
              c:identifier="BRASERO_PLUGIN_ERROR_LIBRARY_VERSION">
      </member>
      <member name="missing_gstreamer_plugin"
              value="7"
              c:identifier="BRASERO_PLUGIN_ERROR_MISSING_GSTREAMER_PLUGIN">
      </member>
    </enumeration>
    <constant name="SESSION_STREAM_AUDIO_FORMAT"
              value="session::stream::audio::format"
              c:type="BRASERO_SESSION_STREAM_AUDIO_FORMAT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="STREAM_TRACK_SIZE_TAG"
              value="track::stream::estimated_size"
              c:type="BRASERO_STREAM_TRACK_SIZE_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="SessionCfg"
           c:symbol-prefix="session_cfg"
           c:type="BraseroSessionCfg"
           parent="SessionSpan"
           glib:type-name="BraseroSessionCfg"
           glib:get-type="brasero_session_cfg_get_type"
           glib:type-struct="SessionCfgClass">
      <constructor name="new" c:identifier="brasero_session_cfg_new">
        <doc xml:space="preserve">Creates a new #BraseroSessionCfg object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroSessionCfg object.</doc>
          <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
        </return-value>
      </constructor>
      <method name="add_flags" c:identifier="brasero_session_cfg_add_flags">
        <doc xml:space="preserve">Adds all flags from @flags that are supported.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="disable" c:identifier="brasero_session_cfg_disable">
        <doc xml:space="preserve">This function disables autoconfiguration</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="enable" c:identifier="brasero_session_cfg_enable">
        <doc xml:space="preserve">This function (re)-enables autoconfiguration</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_error" c:identifier="brasero_session_cfg_get_error">
        <doc xml:space="preserve">This function returns the current status and if
autoconfiguration is/was successful.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroSessionError.</doc>
          <type name="SessionError" c:type="BraseroSessionError"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_default_output_path"
              c:identifier="brasero_session_cfg_has_default_output_path">
        <doc xml:space="preserve">This function returns whether the path returned
by brasero_burn_session_get_output () is an
automatically created one.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the path(s)
creation is handled by @session, FALSE if it was
set.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_compulsory"
              c:identifier="brasero_session_cfg_is_compulsory">
        <doc xml:space="preserve">Checks whether a particular flag is compulsory.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it is compulsory;
FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
          <parameter name="flag" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_supported"
              c:identifier="brasero_session_cfg_is_supported">
        <doc xml:space="preserve">Checks whether a particular flag is supported.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it is supported;
FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
          <parameter name="flag" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_flags"
              c:identifier="brasero_session_cfg_remove_flags">
        <doc xml:space="preserve">Removes all flags that are not compulsory.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cfg" transfer-ownership="none">
            <type name="SessionCfg" c:type="BraseroSessionCfg*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnFlag</doc>
            <type name="BurnFlag" c:type="BraseroBurnFlag"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="SessionSpan" c:type="BraseroSessionSpan"/>
      </field>
      <glib:signal name="is-valid" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="wrong-extension" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="SessionCfgClass"
            c:type="BraseroSessionCfgClass"
            glib:is-gtype-struct-for="SessionCfg">
      <field name="parent_class">
        <type name="SessionSpanClass" c:type="BraseroSessionSpanClass"/>
      </field>
    </record>
    <enumeration name="SessionError" c:type="BraseroSessionError">
      <member name="valid" value="0" c:identifier="BRASERO_SESSION_VALID">
      </member>
      <member name="no_cd_text"
              value="1"
              c:identifier="BRASERO_SESSION_NO_CD_TEXT">
      </member>
      <member name="not_ready"
              value="2"
              c:identifier="BRASERO_SESSION_NOT_READY">
      </member>
      <member name="empty" value="3" c:identifier="BRASERO_SESSION_EMPTY">
      </member>
      <member name="no_input_image"
              value="4"
              c:identifier="BRASERO_SESSION_NO_INPUT_IMAGE">
      </member>
      <member name="unknown_image"
              value="5"
              c:identifier="BRASERO_SESSION_UNKNOWN_IMAGE">
      </member>
      <member name="no_input_medium"
              value="6"
              c:identifier="BRASERO_SESSION_NO_INPUT_MEDIUM">
      </member>
      <member name="no_output"
              value="7"
              c:identifier="BRASERO_SESSION_NO_OUTPUT">
      </member>
      <member name="insufficient_space"
              value="8"
              c:identifier="BRASERO_SESSION_INSUFFICIENT_SPACE">
      </member>
      <member name="overburn_necessary"
              value="9"
              c:identifier="BRASERO_SESSION_OVERBURN_NECESSARY">
      </member>
      <member name="not_supported"
              value="10"
              c:identifier="BRASERO_SESSION_NOT_SUPPORTED">
      </member>
      <member name="disc_protected"
              value="11"
              c:identifier="BRASERO_SESSION_DISC_PROTECTED">
      </member>
    </enumeration>
    <class name="SessionSpan"
           c:symbol-prefix="session_span"
           c:type="BraseroSessionSpan"
           parent="BurnSession"
           glib:type-name="BraseroSessionSpan"
           glib:get-type="brasero_session_span_get_type"
           glib:type-struct="SessionSpanClass">
      <constructor name="new" c:identifier="brasero_session_span_new">
        <doc xml:space="preserve">Creates a new #BraseroSessionSpan object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroSessionSpan object</doc>
          <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
        </return-value>
      </constructor>
      <method name="again" c:identifier="brasero_session_span_again">
        <doc xml:space="preserve">Checks whether some data were not included during calls to brasero_session_span_next ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data.
BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_space"
              c:identifier="brasero_session_span_get_max_space">
        <doc xml:space="preserve">Returns the maximum required space (in sectors)
among all the possible spanned batches.
This means that when burningto a media
it will also be the minimum required
space to burn all the contents in several
batches.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #goffset.</doc>
          <type name="gint64" c:type="goffset"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="brasero_session_span_next">
        <doc xml:space="preserve">Sets the next batch of data to be burnt onto the medium inserted in the #BraseroDrive
set for @session (see brasero_burn_session_set_burner ()). Its free space or it capacity
will be used as the maximum amount of data to be burnt.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="possible" c:identifier="brasero_session_span_possible">
        <doc xml:space="preserve">Checks if a new #BraseroTrackData can be created from the files remaining in the tree
after calls to brasero_session_span_next (). The maximum size of the data will be the one
of the medium inserted in the #BraseroDrive set for @session (see brasero_burn_session_set_burner ()).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data.
BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="start" c:identifier="brasero_session_span_start">
        <doc xml:space="preserve">Get the object ready for spanning a #BraseroBurnSession object. This function
must be called before brasero_session_span_next ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="stop" c:identifier="brasero_session_span_stop">
        <doc xml:space="preserve">Ends and cleans a spanning operation started with brasero_session_span_start ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="session" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroSessionSpan</doc>
            <type name="SessionSpan" c:type="BraseroSessionSpan*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="BurnSession" c:type="BraseroBurnSession"/>
      </field>
    </class>
    <record name="SessionSpanClass"
            c:type="BraseroSessionSpanClass"
            glib:is-gtype-struct-for="SessionSpan">
      <field name="parent_class">
        <type name="BurnSessionClass" c:type="BraseroBurnSessionClass"/>
      </field>
    </record>
    <class name="Status"
           c:symbol-prefix="status"
           c:type="BraseroStatus"
           parent="GObject.Object"
           glib:type-name="BraseroStatus"
           glib:get-type="brasero_status_get_type"
           glib:type-struct="StatusClass">
      <constructor name="new" c:identifier="brasero_status_new">
        <doc xml:space="preserve">Creates a new #BraseroStatus object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroStatus.</doc>
          <type name="Status" c:type="BraseroStatus*"/>
        </return-value>
      </constructor>
      <method name="get_current_action"
              c:identifier="brasero_status_get_current_action">
        <doc xml:space="preserve">If brasero_status_get_result () returned BRASERO_BURN_NOT_READY,
this function returns a string describing the operation currently performed.
Free the string when it is not needed anymore.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_error" c:identifier="brasero_status_get_error">
        <doc xml:space="preserve">If brasero_status_get_result () returned BRASERO_BURN_ERR,
this function returns the error.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GError</doc>
          <type name="GLib.Error" c:type="GError*"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_progress" c:identifier="brasero_status_get_progress">
        <doc xml:space="preserve">If brasero_status_get_result () returned BRASERO_BURN_NOT_READY,
this function returns the progress regarding the operation completion.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gdouble</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_result" c:identifier="brasero_status_get_result">
        <doc xml:space="preserve">After an object (see brasero_burn_track_get_status ()) has
been requested its status, this function returns that status.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the object is ready.
BRASERO_BURN_NOT_READY if some time should be given to the object before it is ready.
BRASERO_BURN_ERR if there is an error.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_completed" c:identifier="brasero_status_set_completed">
        <doc xml:space="preserve">Sets the status for a request to BRASERO_BURN_OK.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_error" c:identifier="brasero_status_set_error">
        <doc xml:space="preserve">Sets the status for a request to BRASERO_BURN_ERR.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve">a #GError or NULL.</doc>
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_not_ready" c:identifier="brasero_status_set_not_ready">
        <doc xml:space="preserve">Sets the status for a request to BRASERO_BURN_NOT_READY.
Allows to set a string describing the operation currently performed
as well as the progress regarding the operation completion.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve">a #gdouble or -1.0.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="current_action" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_running" c:identifier="brasero_status_set_running">
        <doc xml:space="preserve">Sets the status for a request to BRASERO_BURN_RUNNING.
Allows to set a string describing the operation currently performed
as well as the progress regarding the operation completion.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStatus.</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </instance-parameter>
          <parameter name="progress" transfer-ownership="none">
            <doc xml:space="preserve">a #gdouble or -1.0.</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="current_action" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="StatusClass"
            c:type="BraseroStatusClass"
            glib:is-gtype-struct-for="Status">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="StatusType" c:type="BraseroStatusType">
      <member name="ok" value="0" c:identifier="BRASERO_STATUS_OK">
      </member>
      <member name="error" value="1" c:identifier="BRASERO_STATUS_ERROR">
      </member>
      <member name="question" value="2" c:identifier="BRASERO_STATUS_QUESTION">
      </member>
      <member name="information"
              value="3"
              c:identifier="BRASERO_STATUS_INFORMATION">
      </member>
    </enumeration>
    <bitfield name="StreamFormat" c:type="BraseroStreamFormat">
      <member name="audio_format_none"
              value="0"
              c:identifier="BRASERO_AUDIO_FORMAT_NONE">
      </member>
      <member name="audio_format_undefined"
              value="1"
              c:identifier="BRASERO_AUDIO_FORMAT_UNDEFINED">
      </member>
      <member name="audio_format_dts"
              value="2"
              c:identifier="BRASERO_AUDIO_FORMAT_DTS">
      </member>
      <member name="audio_format_raw"
              value="4"
              c:identifier="BRASERO_AUDIO_FORMAT_RAW">
      </member>
      <member name="audio_format_ac3"
              value="8"
              c:identifier="BRASERO_AUDIO_FORMAT_AC3">
      </member>
      <member name="audio_format_mp2"
              value="16"
              c:identifier="BRASERO_AUDIO_FORMAT_MP2">
      </member>
      <member name="audio_format_44100"
              value="32"
              c:identifier="BRASERO_AUDIO_FORMAT_44100">
      </member>
      <member name="audio_format_48000"
              value="64"
              c:identifier="BRASERO_AUDIO_FORMAT_48000">
      </member>
      <member name="video_format_undefined"
              value="128"
              c:identifier="BRASERO_VIDEO_FORMAT_UNDEFINED">
      </member>
      <member name="video_format_vcd"
              value="256"
              c:identifier="BRASERO_VIDEO_FORMAT_VCD">
      </member>
      <member name="video_format_video_dvd"
              value="512"
              c:identifier="BRASERO_VIDEO_FORMAT_VIDEO_DVD">
      </member>
      <member name="metadata_info"
              value="1024"
              c:identifier="BRASERO_METADATA_INFO">
      </member>
      <member name="audio_format_raw_little_endian"
              value="2048"
              c:identifier="BRASERO_AUDIO_FORMAT_RAW_LITTLE_ENDIAN">
      </member>
    </bitfield>
    <class name="SumDialog"
           c:symbol-prefix="sum_dialog"
           c:type="BraseroSumDialog"
           parent="ToolDialog"
           glib:type-name="BraseroSumDialog"
           glib:get-type="brasero_sum_dialog_get_type"
           glib:type-struct="SumDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="brasero_sum_dialog_new">
        <doc xml:space="preserve">Creates a new #BraseroSumDialog object</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroSumDialog. Unref when it is not needed anymore.</doc>
          <type name="SumDialog" c:type="BraseroSumDialog*"/>
        </return-value>
      </constructor>
      <field name="parent">
        <type name="ToolDialog" c:type="BraseroToolDialog"/>
      </field>
    </class>
    <record name="SumDialogClass"
            c:type="BraseroSumDialogClass"
            glib:is-gtype-struct-for="SumDialog">
      <field name="parent_class">
        <type name="ToolDialogClass" c:type="BraseroToolDialogClass"/>
      </field>
    </record>
    <constant name="TRACK_MEDIUM_ADDRESS_END_TAG"
              value="track::medium::address::end"
              c:type="BRASERO_TRACK_MEDIUM_ADDRESS_END_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_MEDIUM_ADDRESS_START_TAG"
              value="track::medium::address::start"
              c:type="BRASERO_TRACK_MEDIUM_ADDRESS_START_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_MEDIUM_WRONG_CHECKSUM_TAG"
              value="track::medium::error::checksum::list"
              c:type="BRASERO_TRACK_MEDIUM_WRONG_CHECKSUM_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_ALBUM_TAG"
              value="track::stream::info::album"
              c:type="BRASERO_TRACK_STREAM_ALBUM_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_ARTIST_TAG"
              value="track::stream::info::artist"
              c:type="BRASERO_TRACK_STREAM_ARTIST_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_COMPOSER_TAG"
              value="track::stream::info::composer"
              c:type="BRASERO_TRACK_STREAM_COMPOSER_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_ISRC_TAG"
              value="track::stream::info::isrc"
              c:type="BRASERO_TRACK_STREAM_ISRC_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_MIME_TAG"
              value="track::stream::mime"
              c:type="BRASERO_TRACK_STREAM_MIME_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_THUMBNAIL_TAG"
              value="track::stream::snapshot"
              c:type="BRASERO_TRACK_STREAM_THUMBNAIL_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="TRACK_STREAM_TITLE_TAG"
              value="track::stream::info::title"
              c:type="BRASERO_TRACK_STREAM_TITLE_TAG">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="ToolDialog"
           c:symbol-prefix="tool_dialog"
           c:type="BraseroToolDialog"
           parent="Gtk.Dialog"
           glib:type-name="BraseroToolDialog"
           glib:get-type="brasero_tool_dialog_get_type"
           glib:type-struct="ToolDialogClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="activate">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="ToolDialog" c:type="BraseroToolDialog*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cancel" invoker="cancel">
        <doc xml:space="preserve">Cancels any ongoing operation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE when cancellation was successful. FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroToolDialog</doc>
            <type name="ToolDialog" c:type="BraseroToolDialog*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="medium_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <type name="ToolDialog" c:type="BraseroToolDialog*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="cancel" c:identifier="brasero_tool_dialog_cancel">
        <doc xml:space="preserve">Cancels any ongoing operation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE when cancellation was successful. FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroToolDialog</doc>
            <type name="ToolDialog" c:type="BraseroToolDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_medium" c:identifier="brasero_tool_dialog_set_medium">
        <doc xml:space="preserve">Selects the medium that should be currently selected.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if it was successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroToolDialog</doc>
            <type name="ToolDialog" c:type="BraseroToolDialog*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedium</doc>
            <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="ToolDialogClass"
            c:type="BraseroToolDialogClass"
            glib:is-gtype-struct-for="ToolDialog">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="ToolDialog" c:type="BraseroToolDialog*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cancel">
        <callback name="cancel">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean. TRUE when cancellation was successful. FALSE otherwise.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroToolDialog</doc>
              <type name="ToolDialog" c:type="BraseroToolDialog*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="medium_changed">
        <callback name="medium_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dialog" transfer-ownership="none">
              <type name="ToolDialog" c:type="BraseroToolDialog*"/>
            </parameter>
            <parameter name="medium" transfer-ownership="none">
              <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="Track"
           c:symbol-prefix="track"
           c:type="BraseroTrack"
           parent="GObject.Object"
           glib:type-name="BraseroTrack"
           glib:get-type="brasero_track_get_type"
           glib:type-struct="TrackClass">
      <virtual-method name="changed" invoker="changed">
        <doc xml:space="preserve">Used internally in #BraseroTrack implementations to
signal a #BraseroTrack object has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_size" invoker="get_size">
        <doc xml:space="preserve">Returns the size of the data contained by @track in bytes or in sectors</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing the size
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="block_size" transfer-ownership="none">
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_status" invoker="get_status">
        <doc xml:space="preserve">Sets @status to reflect whether @track is ready to be used</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStatus</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_type">
        <return-value transfer-ownership="none">
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="changed" c:identifier="brasero_track_changed">
        <doc xml:space="preserve">Used internally in #BraseroTrack implementations to
signal a #BraseroTrack object has changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_checksum" c:identifier="brasero_track_get_checksum">
        <doc xml:space="preserve">Get the current checksum (as a string) for the track</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar * (not to be freed) or NULL</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_checksum_type"
              c:identifier="brasero_track_get_checksum_type">
        <doc xml:space="preserve">Get the current checksum type for the track if any.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroChecksumType</doc>
          <type name="ChecksumType" c:type="BraseroChecksumType"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="brasero_track_get_size">
        <doc xml:space="preserve">Returns the size of the data contained by @track in bytes or in sectors</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing the size
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset or NULL</doc>
            <type name="gint64" c:type="goffset*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_status" c:identifier="brasero_track_get_status">
        <doc xml:space="preserve">Sets @status to reflect whether @track is ready to be used</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="status" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStatus</doc>
            <type name="Status" c:type="BraseroStatus*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_track_type"
              c:identifier="brasero_track_get_track_type">
        <doc xml:space="preserve">Sets @type to reflect the type of data contained in @track</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #BraseroBurnResult of the track</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType or NULL</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_checksum" c:identifier="brasero_track_set_checksum">
        <doc xml:space="preserve">Sets a checksum for the track</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the checksum was previously empty or matches the new one
BRASERO_BURN_ERR otherwise</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroChecksumType</doc>
            <type name="ChecksumType" c:type="BraseroChecksumType"/>
          </parameter>
          <parameter name="checksum" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar * holding the checksum</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_add" c:identifier="brasero_track_tag_add">
        <doc xml:space="preserve">Associates a new @tag with a track. This can be used
to pass arbitrary information for plugins, like parameters
for video discs, ...
See brasero-tags.h for a list of knowns tags.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #GValue</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_add_int" c:identifier="brasero_track_tag_add_int">
        <doc xml:space="preserve">A wrapper around brasero_track_tag_add () to associate
a int value with @track
See also brasero_track_tag_add ()</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #int</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_add_string"
              c:identifier="brasero_track_tag_add_string">
        <doc xml:space="preserve">A wrapper around brasero_track_tag_add () to associate
a string with @track
See also brasero_track_tag_add ()</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_copy_missing"
              c:identifier="brasero_track_tag_copy_missing">
        <doc xml:space="preserve">Adds all tags of @dest to @src provided they do not
already exists.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="dest" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_lookup" c:identifier="brasero_track_tag_lookup">
        <doc xml:space="preserve">Retrieves a value associated with @track through
brasero_track_tag_add () and stores it in @value. Do
not destroy @value afterwards as it is not a copy</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if the retrieval was successful
BRASERO_BURN_ERR otherwise</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">a #GValue **</doc>
            <type name="GObject.Value" c:type="GValue**"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_lookup_int"
              c:identifier="brasero_track_tag_lookup_int">
        <doc xml:space="preserve">Retrieves a int value associated with @track. This
is a wrapper around brasero_track_tag_lookup ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #int; the value or 0 otherwise</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="tag_lookup_string"
              c:identifier="brasero_track_tag_lookup_string">
        <doc xml:space="preserve">Retrieves a string value associated with @track. This
is a wrapper around brasero_track_tag_lookup ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gchar *. The value or NULL otherwise.
Do not free the string as it is not a copy.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrack</doc>
            <type name="Track" c:type="BraseroTrack*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar *</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="changed" when="first" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="TrackClass"
            c:type="BraseroTrackClass"
            glib:is-gtype-struct-for="Track">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="get_status">
        <callback name="get_status">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrack</doc>
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
            <parameter name="status" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackStatus</doc>
              <type name="Status" c:type="BraseroStatus*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_size">
        <callback name="get_size">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful
BRASERO_BURN_NOT_READY if @track needs more time for processing the size
BRASERO_BURN_ERR if something is wrong or if it is empty</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrack</doc>
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
            <parameter name="blocks" transfer-ownership="none">
              <doc xml:space="preserve">a #goffset or NULL</doc>
              <type name="gint64" c:type="goffset*"/>
            </parameter>
            <parameter name="block_size" transfer-ownership="none">
              <type name="gint64" c:type="goffset*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_type">
        <callback name="get_type">
          <return-value transfer-ownership="none">
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="TrackType" c:type="BraseroTrackType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="changed">
        <callback name="changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrack</doc>
              <type name="Track" c:type="BraseroTrack*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="TrackData"
           c:symbol-prefix="track_data"
           c:type="BraseroTrackData"
           parent="Track"
           glib:type-name="BraseroTrackData"
           glib:get-type="brasero_track_data_get_type"
           glib:type-struct="TrackDataClass">
      <constructor name="new" c:identifier="brasero_track_data_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackData.

This type of tracks is used to create a disc image
from or burn a selection of files.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackData</doc>
          <type name="TrackData" c:type="BraseroTrackData*"/>
        </return-value>
      </constructor>
      <virtual-method name="add_fs" invoker="add_fs">
        <doc xml:space="preserve">Adds one or more parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="fstype" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_excluded" introspectable="0">
        <return-value>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_file_num">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_fs" invoker="get_fs">
        <doc xml:space="preserve">Returns the parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFS.</doc>
          <type name="ImageFS" c:type="BraseroImageFS"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_grafts" invoker="get_grafts">
        <doc xml:space="preserve">Returns a list of #BraseroGraftPt.

Do not free after usage as @track retains ownership.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">a #GSList of #BraseroGraftPt or %NULL if empty.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GraftPt"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="rm_fs" invoker="rm_fs">
        <doc xml:space="preserve">Removes one or more parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="fstype" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_source" invoker="set_source">
        <doc xml:space="preserve">Sets the lists of grafts points (@grafts) and excluded
URIs (@unreadable) to be used to create an image.

Be careful @track takes ownership of @grafts and
@unreadable which must not be freed afterwards.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData.</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="grafts" transfer-ownership="full">
            <doc xml:space="preserve">a #GSList of #BraseroGraftPt.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GraftPt"/>
            </type>
          </parameter>
          <parameter name="unreadable"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GSList of URIS as strings or %NULL.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_fs" c:identifier="brasero_track_data_add_fs">
        <doc xml:space="preserve">Adds one or more parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="fstype" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_excluded_list"
              c:identifier="brasero_track_data_get_excluded_list">
        <doc xml:space="preserve">Returns a list of URIs which must not be included in
the image to be created.
Do not free the list or any of the URIs after
usage as @track retains ownership.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">a #GSList of #gchar * or %NULL if no
URI should be excluded.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData.</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file_num"
              c:identifier="brasero_track_data_get_file_num">
        <doc xml:space="preserve">Sets the number of files (not directories) in @file_num.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. %TRUE if @file_num
was set, %FALSE otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData.</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="file_num"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">a #guint64 or %NULL.</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_fs" c:identifier="brasero_track_data_get_fs">
        <doc xml:space="preserve">Returns the parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFS.</doc>
          <type name="ImageFS" c:type="BraseroImageFS"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_grafts" c:identifier="brasero_track_data_get_grafts">
        <doc xml:space="preserve">Returns a list of #BraseroGraftPt.

Do not free after usage as @track retains ownership.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">a #GSList of #BraseroGraftPt or %NULL if empty.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="GraftPt"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="rm_fs" c:identifier="brasero_track_data_rm_fs">
        <doc xml:space="preserve">Removes one or more parameters determining the file system type
and various other options to create an image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="fstype" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_data_blocks"
              c:identifier="brasero_track_data_set_data_blocks">
        <doc xml:space="preserve">Sets the size of the image to be created (in sectors of 2048 bytes).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset</doc>
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_file_num"
              c:identifier="brasero_track_data_set_file_num">
        <doc xml:space="preserve">Sets the number of files (not directories) in @track.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="number" transfer-ownership="none">
            <doc xml:space="preserve">a #guint64</doc>
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source" c:identifier="brasero_track_data_set_source">
        <doc xml:space="preserve">Sets the lists of grafts points (@grafts) and excluded
URIs (@unreadable) to be used to create an image.

Be careful @track takes ownership of @grafts and
@unreadable which must not be freed afterwards.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData.</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="grafts" transfer-ownership="full">
            <doc xml:space="preserve">a #GSList of #BraseroGraftPt.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GraftPt"/>
            </type>
          </parameter>
          <parameter name="unreadable"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GSList of URIS as strings or %NULL.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="utf8"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="write_to_paths"
              c:identifier="brasero_track_data_write_to_paths"
              throws="1">
        <doc xml:space="preserve">Write to @grafts_path (a path to a file) the graft points,
and to @excluded_path (a path to a file) the list of paths to
be excluded; @emptydir is (path) is an empty
directory to be used for created directories;
@videodir (a path) is a directory to be used to build the
the video image.

This is mostly for internal use by mkisofs and similar.

This function takes care of file name mangling.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData.</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </instance-parameter>
          <parameter name="grafts_path" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="excluded_path" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="emptydir" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="videodir"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #gchar or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Track" c:type="BraseroTrack"/>
      </field>
    </class>
    <class name="TrackDataCfg"
           c:symbol-prefix="track_data_cfg"
           c:type="BraseroTrackDataCfg"
           parent="TrackData"
           glib:type-name="BraseroTrackDataCfg"
           glib:get-type="brasero_track_data_cfg_get_type"
           glib:type-struct="TrackDataCfgClass">
      <implements name="Gtk.TreeDragDest"/>
      <implements name="Gtk.TreeDragSource"/>
      <implements name="Gtk.TreeModel"/>
      <implements name="Gtk.TreeSortable"/>
      <constructor name="new" c:identifier="brasero_track_data_cfg_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackDataCfg.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #BraseroTrackDataCfg.</doc>
          <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
        </return-value>
      </constructor>
      <method name="add" c:identifier="brasero_track_data_cfg_add">
        <doc xml:space="preserve">Add a new file (with @uri as URI) under a directory (@parent).
If @parent is NULL, the file is added to the root.
Also if @uri is the path of a directory, this directory will be explored
and all its children added to the tree.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkTreePath or NULL</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_empty_directory"
              c:identifier="brasero_track_data_cfg_add_empty_directory">
        <doc xml:space="preserve">Add a new empty directory (with @name as name) under another directory (@parent).
If @parent is NULL, the file is added to the root.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GtkTreePath which should be destroyed when not needed; NULL if the operation was not successful.</doc>
          <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkTreePath or NULL</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dont_filter_uri"
              c:identifier="brasero_track_data_cfg_dont_filter_uri">
        <doc xml:space="preserve">Prevents @uri to be filtered while automatic exploration
of added directories is performed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_available_media"
              c:identifier="brasero_track_data_cfg_get_available_media"
              introspectable="0">
        <doc xml:space="preserve">Gets a list of all the media that can be appended with new data and which have a session that can be loaded.</doc>
        <return-value>
          <doc xml:space="preserve">a #GSList of #BraseroMedium. Free the list and unref its contents when the list is not needed anymore.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_medium"
              c:identifier="brasero_track_data_cfg_get_current_medium"
              introspectable="0">
        <doc xml:space="preserve">Gets the currently loaded medium.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroMedium. NULL if no medium are currently loaded.
Do not unref when the #BraseroMedium is not needed anymore.</doc>
          <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_filtered_model"
              c:identifier="brasero_track_data_cfg_get_filtered_model"
              introspectable="0">
        <doc xml:space="preserve">Gets a GtkTreeModel which contains all the files that were
automatically filtered while added directories were explored.</doc>
        <return-value>
          <doc xml:space="preserve">a #GtkTreeModel. Unref when not needed.</doc>
          <type name="Gtk.TreeModel" c:type="GtkTreeModel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="brasero_track_data_cfg_get_icon"
              introspectable="0">
        <doc xml:space="preserve">Returns the currently selected icon.</doc>
        <return-value>
          <doc xml:space="preserve">a #GIcon or NULL.</doc>
          <type name="Gio.Icon" c:type="GIcon*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_icon_path"
              c:identifier="brasero_track_data_cfg_get_icon_path">
        <doc xml:space="preserve">Returns a path pointing to the currently selected icon file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar or NULL.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_restored_list"
              c:identifier="brasero_track_data_cfg_get_restored_list"
              introspectable="0">
        <doc xml:space="preserve">Gets a list of URIs (as #gchar *) that were restored with brasero_track_data_cfg_restore ().</doc>
        <return-value>
          <doc xml:space="preserve">a #GSList; free the list and its contents when not needed anymore.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_medium"
              c:identifier="brasero_track_data_cfg_load_medium"
              throws="1">
        <doc xml:space="preserve">Tries to load the contents of the last session of @medium so all its files will be included in the tree
to perform a merge between files from the session and new added files.
Errors are stored in @error.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="medium" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedium</doc>
            <type name="BraseroMedia.Medium" c:type="BraseroMedium*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="brasero_track_data_cfg_remove">
        <doc xml:space="preserve">Removes a file or a directory (as well as its children) from the tree.
NOTE: some files cannot be removed like files from an imported session.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="treepath" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkTreePath</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="rename" c:identifier="brasero_track_data_cfg_rename">
        <doc xml:space="preserve">Renames the file in the tree pointed by @treepath.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="newname" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="treepath" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkTreePath</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="brasero_track_data_cfg_reset">
        <doc xml:space="preserve">Completely empties @track and unloads any currently loaded session</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="restore" c:identifier="brasero_track_data_cfg_restore">
        <doc xml:space="preserve">Removes a file from the filtered file list (see brasero_track_data_cfg_get_filtered_model ())
and re-adds it wherever it should be in the tree.
@treepath is a #GtkTreePath associated with the #GtkTreeModel which holds the
filtered files not the main tree.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="treepath" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkTreePath</doc>
            <type name="Gtk.TreePath" c:type="GtkTreePath*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon"
              c:identifier="brasero_track_data_cfg_set_icon"
              throws="1">
        <doc xml:space="preserve">Sets the current icon.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean. TRUE if the operation was successful, FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="icon_path" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="span" c:identifier="brasero_track_data_cfg_span">
        <doc xml:space="preserve">Creates a new #BraseroTrackData (stored in @new_track) from the files contained in @track. The sum of their sizes
does not exceed @sectors. This allows to burn a tree on multiple discs. This function can be
called repeatedly; in this case if some files were left out after the previous calls, the newly created BraseroTrackData
is created with all or part of the remaining files.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data.
BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset</doc>
            <type name="gint64" c:type="goffset"/>
          </parameter>
          <parameter name="new_track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackData</doc>
            <type name="TrackData" c:type="BraseroTrackData*"/>
          </parameter>
        </parameters>
      </method>
      <method name="span_again"
              c:identifier="brasero_track_data_cfg_span_again">
        <doc xml:space="preserve">Checks whether some files were not included during calls to brasero_track_data_cfg_span ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data.
BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="span_max_space"
              c:identifier="brasero_track_data_cfg_span_max_space">
        <doc xml:space="preserve">Returns the maximum required space (in sectors)
among all the possible spanned batches.
This means that when burningto a media
it will also be the minimum required
space to burn all the contents in several
batches.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #goffset.</doc>
          <type name="gint64" c:type="goffset"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="span_possible"
              c:identifier="brasero_track_data_cfg_span_possible">
        <doc xml:space="preserve">Checks if a new #BraseroTrackData can be created from the files remaining in the tree
after calls to brasero_track_data_cfg_span ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if there is not anymore data.
BRASERO_BURN_RETRY if the operation was successful and a new #BraseroTrackDataCfg was created.
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
          <parameter name="sectors" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset</doc>
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </method>
      <method name="span_stop" c:identifier="brasero_track_data_cfg_span_stop">
        <doc xml:space="preserve">Resets the list of files that were included after calls to brasero_track_data_cfg_span ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unload_current_medium"
              c:identifier="brasero_track_data_cfg_unload_current_medium">
        <doc xml:space="preserve">Unload the contents of the last session of the currently loaded medium.
See brasero_track_data_cfg_load_medium ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDataCfg</doc>
            <type name="TrackDataCfg" c:type="BraseroTrackDataCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="TrackData" c:type="BraseroTrackData"/>
      </field>
      <glib:signal name="2G-file" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="deep-directory" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="icon-changed" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="image-uri" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="joliet-rename" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="name-collision" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="recursive-sym" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="session-available" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="session-loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GObject.Object"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="source-loaded" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="source-loading" when="last" no-recurse="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unknown-uri" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unreadable-uri" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TrackDataCfgClass"
            c:type="BraseroTrackDataCfgClass"
            glib:is-gtype-struct-for="TrackDataCfg">
      <field name="parent_class">
        <type name="TrackDataClass" c:type="BraseroTrackDataClass"/>
      </field>
    </record>
    <enumeration name="TrackDataCfgColumn" c:type="BraseroTrackDataCfgColumn">
      <member name="name"
              value="0"
              c:identifier="BRASERO_DATA_TREE_MODEL_NAME">
      </member>
      <member name="uri" value="1" c:identifier="BRASERO_DATA_TREE_MODEL_URI">
      </member>
      <member name="mime_desc"
              value="2"
              c:identifier="BRASERO_DATA_TREE_MODEL_MIME_DESC">
      </member>
      <member name="mime_icon"
              value="3"
              c:identifier="BRASERO_DATA_TREE_MODEL_MIME_ICON">
      </member>
      <member name="size"
              value="4"
              c:identifier="BRASERO_DATA_TREE_MODEL_SIZE">
      </member>
      <member name="show_percent"
              value="5"
              c:identifier="BRASERO_DATA_TREE_MODEL_SHOW_PERCENT">
      </member>
      <member name="percent"
              value="6"
              c:identifier="BRASERO_DATA_TREE_MODEL_PERCENT">
      </member>
      <member name="style"
              value="7"
              c:identifier="BRASERO_DATA_TREE_MODEL_STYLE">
      </member>
      <member name="color"
              value="8"
              c:identifier="BRASERO_DATA_TREE_MODEL_COLOR">
      </member>
      <member name="editable"
              value="9"
              c:identifier="BRASERO_DATA_TREE_MODEL_EDITABLE">
      </member>
      <member name="is_file"
              value="10"
              c:identifier="BRASERO_DATA_TREE_MODEL_IS_FILE">
      </member>
      <member name="is_loading"
              value="11"
              c:identifier="BRASERO_DATA_TREE_MODEL_IS_LOADING">
      </member>
      <member name="is_imported"
              value="12"
              c:identifier="BRASERO_DATA_TREE_MODEL_IS_IMPORTED">
      </member>
      <member name="col_num"
              value="13"
              c:identifier="BRASERO_DATA_TREE_MODEL_COL_NUM">
      </member>
    </enumeration>
    <record name="TrackDataClass"
            c:type="BraseroTrackDataClass"
            glib:is-gtype-struct-for="TrackData">
      <field name="parent_class">
        <type name="TrackClass" c:type="BraseroTrackClass"/>
      </field>
      <field name="set_source">
        <callback name="set_source">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackData.</doc>
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
            <parameter name="grafts" transfer-ownership="full">
              <doc xml:space="preserve">a #GSList of #BraseroGraftPt.</doc>
              <type name="GLib.SList" c:type="GSList*">
                <type name="GraftPt"/>
              </type>
            </parameter>
            <parameter name="unreadable"
                       transfer-ownership="full"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve">a #GSList of URIS as strings or %NULL.</doc>
              <type name="GLib.SList" c:type="GSList*">
                <type name="utf8"/>
              </type>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="add_fs">
        <callback name="add_fs">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackData</doc>
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
            <parameter name="fstype" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroImageFS</doc>
              <type name="ImageFS" c:type="BraseroImageFS"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="rm_fs">
        <callback name="rm_fs">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackData</doc>
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
            <parameter name="fstype" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroImageFS</doc>
              <type name="ImageFS" c:type="BraseroImageFS"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_fs">
        <callback name="get_fs">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS.</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackData</doc>
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_grafts">
        <callback name="get_grafts">
          <return-value transfer-ownership="none" nullable="1">
            <doc xml:space="preserve">a #GSList of #BraseroGraftPt or %NULL if empty.</doc>
            <type name="GLib.SList" c:type="GSList*">
              <type name="GraftPt"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackData</doc>
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_excluded" introspectable="0">
        <callback name="get_excluded" introspectable="0">
          <return-value>
            <type name="GLib.SList" c:type="GSList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_file_num">
        <callback name="get_file_num">
          <return-value transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <type name="TrackData" c:type="BraseroTrackData*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="TrackDisc"
           c:symbol-prefix="track_disc"
           c:type="BraseroTrackDisc"
           parent="Track"
           glib:type-name="BraseroTrackDisc"
           glib:get-type="brasero_track_disc_get_type"
           glib:type-struct="TrackDiscClass">
      <constructor name="new" c:identifier="brasero_track_disc_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackDisc object.

This type of tracks is used to copy media either
to a disc image file or to another medium.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackDisc.</doc>
          <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
        </return-value>
      </constructor>
      <method name="get_drive"
              c:identifier="brasero_track_disc_get_drive"
              introspectable="0">
        <doc xml:space="preserve">Gets the #BraseroDrive object that will be used as
the source when copying.</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroDrive or NULL. Don't unref or free it.</doc>
          <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDisc</doc>
            <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_medium_type"
              c:identifier="brasero_track_disc_get_medium_type">
        <doc xml:space="preserve">Gets the #BraseroMedia for the medium that is
currently inserted into the drive assigned for @track
with brasero_track_disc_set_drive ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedia.</doc>
          <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDisc</doc>
            <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_track_num"
              c:identifier="brasero_track_disc_get_track_num">
        <doc xml:space="preserve">Gets the track number which will be used
to copy only one specific session on a multisession disc</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint. 0 if none is set, any other number otherwise.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDisc</doc>
            <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_drive" c:identifier="brasero_track_disc_set_drive">
        <doc xml:space="preserve">Sets @drive to be the #BraseroDrive that will be used
as the source when copying</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDisc</doc>
            <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
          </instance-parameter>
          <parameter name="drive" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroDrive</doc>
            <type name="BraseroMedia.Drive" c:type="BraseroDrive*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_track_num"
              c:identifier="brasero_track_disc_set_track_num">
        <doc xml:space="preserve">Sets a track number which can be used
to copy only one specific session on a multisession disc</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it was successful,
BRASERO_BURN_ERR otherwise.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackDisc</doc>
            <type name="TrackDisc" c:type="BraseroTrackDisc*"/>
          </instance-parameter>
          <parameter name="num" transfer-ownership="none">
            <doc xml:space="preserve">a #guint</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Track" c:type="BraseroTrack"/>
      </field>
    </class>
    <record name="TrackDiscClass"
            c:type="BraseroTrackDiscClass"
            glib:is-gtype-struct-for="TrackDisc">
      <field name="parent_class">
        <type name="TrackClass" c:type="BraseroTrackClass"/>
      </field>
    </record>
    <class name="TrackImage"
           c:symbol-prefix="track_image"
           c:type="BraseroTrackImage"
           parent="Track"
           glib:type-name="BraseroTrackImage"
           glib:get-type="brasero_track_image_get_type"
           glib:type-struct="TrackImageClass">
      <constructor name="new" c:identifier="brasero_track_image_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackImage object.

This type of tracks is used to burn disc images.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackImage object.</doc>
          <type name="TrackImage" c:type="BraseroTrackImage*"/>
        </return-value>
      </constructor>
      <virtual-method name="set_block_num" invoker="set_block_num">
        <doc xml:space="preserve">Sets the image size (in sectors).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset</doc>
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_source" invoker="set_source">
        <doc xml:space="preserve">Sets the image source path (and its toc if need be)
as well as its format.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="toc" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_format" c:identifier="brasero_track_image_get_format">
        <doc xml:space="preserve">This function returns the format of the
source image.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFormat</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source" c:identifier="brasero_track_image_get_source">
        <doc xml:space="preserve">This function returns the path or the URI (if @uri is TRUE) of the
source image file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_toc_source"
              c:identifier="brasero_track_image_get_toc_source">
        <doc xml:space="preserve">This function returns the path or the URI (if @uri is TRUE) of the
source toc file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="need_byte_swap"
              c:identifier="brasero_track_image_need_byte_swap">
        <doc xml:space="preserve">This function returns whether the data bytes need swapping. Some .bin files
associated with .cue files are little endian for audio whereas they should
be big endian.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_block_num"
              c:identifier="brasero_track_image_set_block_num">
        <doc xml:space="preserve">Sets the image size (in sectors).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="blocks" transfer-ownership="none">
            <doc xml:space="preserve">a #goffset</doc>
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source" c:identifier="brasero_track_image_set_source">
        <doc xml:space="preserve">Sets the image source path (and its toc if need be)
as well as its format.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImage</doc>
            <type name="TrackImage" c:type="BraseroTrackImage*"/>
          </instance-parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="toc" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar or NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Track" c:type="BraseroTrack"/>
      </field>
    </class>
    <class name="TrackImageCfg"
           c:symbol-prefix="track_image_cfg"
           c:type="BraseroTrackImageCfg"
           parent="TrackImage"
           glib:type-name="BraseroTrackImageCfg"
           glib:get-type="brasero_track_image_cfg_get_type"
           glib:type-struct="TrackImageCfgClass">
      <constructor name="new" c:identifier="brasero_track_image_cfg_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackImageCfg object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackImageCfg object.</doc>
          <type name="TrackImageCfg" c:type="BraseroTrackImageCfg*"/>
        </return-value>
      </constructor>
      <method name="force_format"
              c:identifier="brasero_track_image_cfg_force_format">
        <doc xml:space="preserve">This function allows to prevents the identification of the format of the image.
It does not cancel size retrieval.
If @format is BRASERO_IMAGE_FORMAT_NONE then the format of the image
will be retrieved.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImageCfg</doc>
            <type name="TrackImageCfg" c:type="BraseroTrackImageCfg*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_forced_format"
              c:identifier="brasero_track_image_cfg_get_forced_format">
        <doc xml:space="preserve">This function returns the #BraseroImageFormat that was set for the image.
See brasero_track_image_cfg_force_format ().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImageCfg</doc>
            <type name="TrackImageCfg" c:type="BraseroTrackImageCfg*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_source"
              c:identifier="brasero_track_image_cfg_set_source">
        <doc xml:space="preserve">Sets the image uri or path (absolute or relative). @track will then identify its format and retrieve its size.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackImageCfg</doc>
            <type name="TrackImageCfg" c:type="BraseroTrackImageCfg*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="TrackImage" c:type="BraseroTrackImage"/>
      </field>
    </class>
    <record name="TrackImageCfgClass"
            c:type="BraseroTrackImageCfgClass"
            glib:is-gtype-struct-for="TrackImageCfg">
      <field name="parent_class">
        <type name="TrackImageClass" c:type="BraseroTrackImageClass"/>
      </field>
    </record>
    <record name="TrackImageClass"
            c:type="BraseroTrackImageClass"
            glib:is-gtype-struct-for="TrackImage">
      <field name="parent_class">
        <type name="TrackClass" c:type="BraseroTrackClass"/>
      </field>
      <field name="set_source">
        <callback name="set_source">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackImage</doc>
              <type name="TrackImage" c:type="BraseroTrackImage*"/>
            </parameter>
            <parameter name="image" transfer-ownership="none">
              <doc xml:space="preserve">a #gchar or NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="toc" transfer-ownership="none">
              <doc xml:space="preserve">a #gchar or NULL</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroImageFormat</doc>
              <type name="ImageFormat" c:type="BraseroImageFormat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_block_num">
        <callback name="set_block_num">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackImage</doc>
              <type name="TrackImage" c:type="BraseroTrackImage*"/>
            </parameter>
            <parameter name="blocks" transfer-ownership="none">
              <doc xml:space="preserve">a #goffset</doc>
              <type name="gint64" c:type="goffset"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="TrackStream"
           c:symbol-prefix="track_stream"
           c:type="BraseroTrackStream"
           parent="Track"
           glib:type-name="BraseroTrackStream"
           glib:get-type="brasero_track_stream_get_type"
           glib:type-struct="TrackStreamClass">
      <constructor name="new" c:identifier="brasero_track_stream_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackStream object.

This type of tracks is used to burn audio or
video files.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackStream object.</doc>
          <type name="TrackStream" c:type="BraseroTrackStream*"/>
        </return-value>
      </constructor>
      <virtual-method name="set_boundaries" invoker="set_boundaries">
        <doc xml:space="preserve">Sets the boundaries of the stream (where it starts, ends in the file;
how long is the gap with the next track) in nano seconds.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="gap" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_format" invoker="set_format">
        <doc xml:space="preserve">Sets the format of the stream.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStreamFormat</doc>
            <type name="StreamFormat" c:type="BraseroStreamFormat"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_source" invoker="set_source">
        <doc xml:space="preserve">Sets the stream (song or video) uri.

Note: it resets the end point of the track to 0 but keeps start point and gap
unchanged.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_end" c:identifier="brasero_track_stream_get_end">
        <doc xml:space="preserve">This function returns end time in the stream (in nano seconds).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_format" c:identifier="brasero_track_stream_get_format">
        <doc xml:space="preserve">This function returns the format of the stream.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroStreamFormat.</doc>
          <type name="StreamFormat" c:type="BraseroStreamFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_gap" c:identifier="brasero_track_stream_get_gap">
        <doc xml:space="preserve">This function returns length of the gap (in nano seconds).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_length" c:identifier="brasero_track_stream_get_length">
        <doc xml:space="preserve">This function returns the length of the stream (in nano seconds)
taking into account the start and end time as well as the length
of the gap. It stores it in @length.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if @length was set.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">a #guint64</doc>
            <type name="guint64" c:type="guint64*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_source" c:identifier="brasero_track_stream_get_source">
        <doc xml:space="preserve">This function returns the path or the URI (if @uri is TRUE)
of the stream (song or video file).

Note: this function resets any length previously set to 0.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #gchar.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gboolean</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_start" c:identifier="brasero_track_stream_get_start">
        <doc xml:space="preserve">This function returns start time in the stream (in nano seconds).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #guint64.</doc>
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_boundaries"
              c:identifier="brasero_track_stream_set_boundaries">
        <doc xml:space="preserve">Sets the boundaries of the stream (where it starts, ends in the file;
how long is the gap with the next track) in nano seconds.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="start" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="gap" transfer-ownership="none">
            <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_format" c:identifier="brasero_track_stream_set_format">
        <doc xml:space="preserve">Sets the format of the stream.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroStreamFormat</doc>
            <type name="StreamFormat" c:type="BraseroStreamFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_source" c:identifier="brasero_track_stream_set_source">
        <doc xml:space="preserve">Sets the stream (song or video) uri.

Note: it resets the end point of the track to 0 but keeps start point and gap
unchanged.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
          <type name="BurnResult" c:type="BraseroBurnResult"/>
        </return-value>
        <parameters>
          <instance-parameter name="track" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackStream</doc>
            <type name="TrackStream" c:type="BraseroTrackStream*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">a #gchar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Track" c:type="BraseroTrack"/>
      </field>
    </class>
    <class name="TrackStreamCfg"
           c:symbol-prefix="track_stream_cfg"
           c:type="BraseroTrackStreamCfg"
           parent="TrackStream"
           glib:type-name="BraseroTrackStreamCfg"
           glib:get-type="brasero_track_stream_cfg_get_type"
           glib:type-struct="TrackStreamCfgClass">
      <constructor name="new" c:identifier="brasero_track_stream_cfg_new">
        <doc xml:space="preserve">Creates a new #BraseroTrackStreamCfg object.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #BraseroTrackStreamCfg object.</doc>
          <type name="TrackStreamCfg" c:type="BraseroTrackStreamCfg*"/>
        </return-value>
      </constructor>
      <field name="parent_instance">
        <type name="TrackStream" c:type="BraseroTrackStream"/>
      </field>
    </class>
    <record name="TrackStreamCfgClass"
            c:type="BraseroTrackStreamCfgClass"
            glib:is-gtype-struct-for="TrackStreamCfg">
      <field name="parent_class">
        <type name="TrackStreamClass" c:type="BraseroTrackStreamClass"/>
      </field>
    </record>
    <record name="TrackStreamClass"
            c:type="BraseroTrackStreamClass"
            glib:is-gtype-struct-for="TrackStream">
      <field name="parent_class">
        <type name="TrackClass" c:type="BraseroTrackClass"/>
      </field>
      <field name="set_source">
        <callback name="set_source">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackStream</doc>
              <type name="TrackStream" c:type="BraseroTrackStream*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <doc xml:space="preserve">a #gchar</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_format">
        <callback name="set_format">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackStream</doc>
              <type name="TrackStream" c:type="BraseroTrackStream*"/>
            </parameter>
            <parameter name="format" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroStreamFormat</doc>
              <type name="StreamFormat" c:type="BraseroStreamFormat"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_boundaries">
        <callback name="set_boundaries">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroBurnResult. BRASERO_BURN_OK if it is successful.</doc>
            <type name="BurnResult" c:type="BraseroBurnResult"/>
          </return-value>
          <parameters>
            <parameter name="track" transfer-ownership="none">
              <doc xml:space="preserve">a #BraseroTrackStream</doc>
              <type name="TrackStream" c:type="BraseroTrackStream*"/>
            </parameter>
            <parameter name="start" transfer-ownership="none">
              <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
              <type name="gint64" c:type="gint64"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
              <type name="gint64" c:type="gint64"/>
            </parameter>
            <parameter name="gap" transfer-ownership="none">
              <doc xml:space="preserve">a #gint64 or -1 to ignore</doc>
              <type name="gint64" c:type="gint64"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="TrackType" c:type="BraseroTrackType" disguised="1">
      <method name="equal" c:identifier="brasero_track_type_equal">
        <doc xml:space="preserve">Returns TRUE if @type_A and @type_B represents
the same type and subtype.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type_A" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
          <parameter name="type_B" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="brasero_track_type_free">
        <doc xml:space="preserve">Frees #BraseroTrackType structure.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_data_fs" c:identifier="brasero_track_type_get_data_fs">
        <doc xml:space="preserve">Returns the parameters for the image generation
when brasero_track_type_get_has_data () returned
TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFS</doc>
          <type name="ImageFS" c:type="BraseroImageFS"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_data"
              c:identifier="brasero_track_type_get_has_data">
        <doc xml:space="preserve">Returns TRUE if DATA type (see brasero_track_data_new ()) was set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_image"
              c:identifier="brasero_track_type_get_has_image">
        <doc xml:space="preserve">Returns TRUE if IMAGE type (see brasero_track_image_new ()) was set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_medium"
              c:identifier="brasero_track_type_get_has_medium">
        <doc xml:space="preserve">Returns TRUE if MEDIUM type (see brasero_track_disc_new ()) was set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_stream"
              c:identifier="brasero_track_type_get_has_stream">
        <doc xml:space="preserve">This function returns %TRUE if IMAGE type (see brasero_track_stream_new ()) was set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image_format"
              c:identifier="brasero_track_type_get_image_format">
        <doc xml:space="preserve">Returns the format of an image when
brasero_track_type_get_has_image () returned
TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroImageFormat</doc>
          <type name="ImageFormat" c:type="BraseroImageFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_medium_type"
              c:identifier="brasero_track_type_get_medium_type">
        <doc xml:space="preserve">Returns the medium type
when brasero_track_type_get_has_medium () returned
TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroMedia</doc>
          <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_format"
              c:identifier="brasero_track_type_get_stream_format">
        <doc xml:space="preserve">Returns the format for a stream (song or video)
when brasero_track_type_get_has_stream () returned
TRUE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroStreamFormat</doc>
          <type name="StreamFormat" c:type="BraseroStreamFormat"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="brasero_track_type_is_empty">
        <doc xml:space="preserve">Returns TRUE if no type was set.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #gboolean</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="const BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_data_fs" c:identifier="brasero_track_type_set_data_fs">
        <doc xml:space="preserve">Sets the #BraseroImageFS. Must be called
after brasero_track_type_set_has_data ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
          <parameter name="fs_type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFS</doc>
            <type name="ImageFS" c:type="BraseroImageFS"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_has_data"
              c:identifier="brasero_track_type_set_has_data">
        <doc xml:space="preserve">Set DATA type for @type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_has_image"
              c:identifier="brasero_track_type_set_has_image">
        <doc xml:space="preserve">Set IMAGE type for @type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_has_medium"
              c:identifier="brasero_track_type_set_has_medium">
        <doc xml:space="preserve">Set MEDIUM type for @type.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_has_stream"
              c:identifier="brasero_track_type_set_has_stream">
        <doc xml:space="preserve">Set STREAM type for @type</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_image_format"
              c:identifier="brasero_track_type_set_image_format">
        <doc xml:space="preserve">Sets the #BraseroImageFormat. Must be called
after brasero_track_type_set_has_image ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="ImageFormat" c:type="BraseroImageFormat"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_medium_type"
              c:identifier="brasero_track_type_set_medium_type">
        <doc xml:space="preserve">Sets the #BraseroMedia. Must be called
after brasero_track_type_set_has_medium ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
          <parameter name="media" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroMedia</doc>
            <type name="BraseroMedia.Media" c:type="BraseroMedia"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stream_format"
              c:identifier="brasero_track_type_set_stream_format">
        <doc xml:space="preserve">Sets the #BraseroStreamFormat. Must be called
after brasero_track_type_set_has_stream ().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroTrackType.</doc>
            <type name="TrackType" c:type="BraseroTrackType*"/>
          </instance-parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">a #BraseroImageFormat</doc>
            <type name="StreamFormat" c:type="BraseroStreamFormat"/>
          </parameter>
        </parameters>
      </method>
      <function name="new"
                c:identifier="brasero_track_type_new"
                introspectable="0">
        <doc xml:space="preserve">Creates a new #BraseroTrackType structure.
Free it with brasero_track_type_free ().</doc>
        <return-value>
          <doc xml:space="preserve">a #BraseroTrackType pointer.</doc>
          <type name="TrackType" c:type="BraseroTrackType*"/>
        </return-value>
      </function>
    </record>
    <constant name="VCD_TYPE"
              value="session::VCD::format"
              c:type="BRASERO_VCD_TYPE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="VIDEO_OUTPUT_ASPECT"
              value="session::video::aspect"
              c:type="BRASERO_VIDEO_OUTPUT_ASPECT">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="VIDEO_OUTPUT_FRAMERATE"
              value="session::video::framerate"
              c:type="BRASERO_VIDEO_OUTPUT_FRAMERATE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <function name="graft_point_copy"
              c:identifier="brasero_graft_point_copy"
              introspectable="0">
      <doc xml:space="preserve">Copies @graft.</doc>
      <return-value>
        <doc xml:space="preserve">a #BraseroGraftPt.</doc>
        <type name="GraftPt" c:type="BraseroGraftPt*"/>
      </return-value>
      <parameters>
        <parameter name="graft" transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroGraftPt</doc>
          <type name="GraftPt" c:type="BraseroGraftPt*"/>
        </parameter>
      </parameters>
    </function>
    <function name="graft_point_free" c:identifier="brasero_graft_point_free">
      <doc xml:space="preserve">Frees @graft. Do not use @grafts afterwards.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="graft" transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroGraftPt</doc>
          <type name="GraftPt" c:type="BraseroGraftPt*"/>
        </parameter>
      </parameters>
    </function>
    <function name="session_foreach_plugin_error"
              c:identifier="brasero_session_foreach_plugin_error"
              introspectable="0">
      <doc xml:space="preserve">Call @callback for each error in plugins.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a #BraseroBurnResult.
BRASERO_BURN_OK if it is possible.
BRASERO_BURN_ERR otherwise.</doc>
        <type name="BurnResult" c:type="BraseroBurnResult"/>
      </return-value>
      <parameters>
        <parameter name="session" transfer-ownership="none">
          <doc xml:space="preserve">a #BraseroBurnSession.</doc>
          <type name="BurnSession" c:type="BraseroBurnSession*"/>
        </parameter>
        <parameter name="callback" transfer-ownership="none" closure="2">
          <doc xml:space="preserve">a #BraseroSessionPluginErrorCb.</doc>
          <type name="ForeachPluginErrorCb"
                c:type="BraseroForeachPluginErrorCb"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">a #gpointer. The data passed to @callback.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
