<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gst" version="1.0"/>
  <package name="gstreamer-player-1.0"/>
  <c:include name="gst/player/player.h"/>
  <namespace name="GstPlayer"
             version="1.0"
             shared-library="libgstplayer-1.0.so.0"
             c:identifier-prefixes="Gst"
             c:symbol-prefixes="gst">
    <class name="Player"
           c:symbol-prefix="player"
           c:type="GstPlayer"
           parent="Gst.Object"
           glib:type-name="GstPlayer"
           glib:get-type="gst_player_get_type"
           glib:type-struct="PlayerClass">
      <constructor name="new" c:identifier="gst_player_new">
        <doc xml:space="preserve">Creates a new #GstPlayer instance that uses @signal_dispatcher to dispatch
signals to some event loop system, or emits signals directly if NULL is
passed. See gst_player_g_main_context_signal_dispatcher_new().

Video is going to be rendered by @video_renderer, or if %NULL is provided
no special video set up will be done and some default handling will be
performed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GstPlayer instance</doc>
          <type name="Player" c:type="GstPlayer*"/>
        </return-value>
        <parameters>
          <parameter name="video_renderer"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">GstPlayerVideoRenderer to use</doc>
            <type name="PlayerVideoRenderer" c:type="GstPlayerVideoRenderer*"/>
          </parameter>
          <parameter name="signal_dispatcher"
                     transfer-ownership="full"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">GstPlayerSignalDispatcher to use</doc>
            <type name="PlayerSignalDispatcher"
                  c:type="GstPlayerSignalDispatcher*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="get_audio_streams"
                c:identifier="gst_player_get_audio_streams">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GList of
matching #GstPlayerAudioInfo.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PlayerAudioInfo"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_subtitle_streams"
                c:identifier="gst_player_get_subtitle_streams">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GList of
matching #GstPlayerSubtitleInfo.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PlayerSubtitleInfo"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_video_streams"
                c:identifier="gst_player_get_video_streams">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GList of
matching #GstPlayerVideoInfo.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PlayerVideoInfo"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </parameter>
        </parameters>
      </function>
      <function name="visualizations_free"
                c:identifier="gst_player_visualizations_free">
        <doc xml:space="preserve">Frees a %NULL terminated array of #GstPlayerVisualization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="viss" transfer-ownership="none">
            <doc xml:space="preserve">a %NULL terminated array of #GstPlayerVisualization to free</doc>
            <type name="PlayerVisualization"
                  c:type="GstPlayerVisualization**"/>
          </parameter>
        </parameters>
      </function>
      <function name="visualizations_get"
                c:identifier="gst_player_visualizations_get">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">
 a %NULL terminated array containing all available
 visualizations. Use gst_player_visualizations_free() after
 usage.</doc>
          <array c:type="GstPlayerVisualization**">
            <type name="PlayerVisualization"/>
          </array>
        </return-value>
      </function>
      <method name="get_color_balance"
              c:identifier="gst_player_get_color_balance">
        <doc xml:space="preserve">Retrieve the current value of the indicated @type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The current value of @type, between [0,1]. In case of
  error -1 is returned.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerColorBalanceType</doc>
            <type name="PlayerColorBalanceType"
                  c:type="GstPlayerColorBalanceType"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_current_audio_track"
              c:identifier="gst_player_get_current_audio_track">
        <doc xml:space="preserve">A Function to get current audio #GstPlayerAudioInfo instance.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">current audio track.

The caller should free it with g_object_unref()</doc>
          <type name="PlayerAudioInfo" c:type="GstPlayerAudioInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_subtitle_track"
              c:identifier="gst_player_get_current_subtitle_track">
        <doc xml:space="preserve">A Function to get current subtitle #GstPlayerSubtitleInfo instance.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">current subtitle track.

The caller should free it with g_object_unref()</doc>
          <type name="PlayerSubtitleInfo" c:type="GstPlayerSubtitleInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_video_track"
              c:identifier="gst_player_get_current_video_track">
        <doc xml:space="preserve">A Function to get current video #GstPlayerVideoInfo instance.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">current video track.

The caller should free it with g_object_unref()</doc>
          <type name="PlayerVideoInfo" c:type="GstPlayerVideoInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_visualization"
              c:identifier="gst_player_get_current_visualization">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Name of the currently enabled visualization.
  g_free() after usage.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration" c:identifier="gst_player_get_duration">
        <doc xml:space="preserve">Retrieves the duration of the media stream that self represents.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the duration of the currently-playing media stream, in
nanoseconds.</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_media_info" c:identifier="gst_player_get_media_info">
        <doc xml:space="preserve">A Function to get the current media info #GstPlayerMediaInfo instance.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">media info instance.

The caller should free it with g_object_unref()</doc>
          <type name="PlayerMediaInfo" c:type="GstPlayerMediaInfo*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mute" c:identifier="gst_player_get_mute">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the currently-playing stream is muted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pipeline" c:identifier="gst_player_get_pipeline">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The internal playbin instance</doc>
          <type name="Gst.Element" c:type="GstElement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="gst_player_get_position">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the absolute position time, in nanoseconds, of the
currently-playing stream.</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_position_update_interval"
              c:identifier="gst_player_get_position_update_interval">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">current position update interval in milliseconds</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_rate" c:identifier="gst_player_get_rate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">current playback rate</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_subtitle_uri"
              c:identifier="gst_player_get_subtitle_uri">
        <doc xml:space="preserve">current subtitle URI</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">URI of the current external subtitle.
  g_free() after usage.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri" c:identifier="gst_player_get_uri">
        <doc xml:space="preserve">Gets the URI of the currently-playing stream.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a string containing the URI of the
currently-playing stream. g_free() after usage.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_volume" c:identifier="gst_player_get_volume">
        <doc xml:space="preserve">Returns the current volume level, as a percentage between 0 and 1.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the volume as percentage between 0 and 1.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_color_balance"
              c:identifier="gst_player_has_color_balance">
        <doc xml:space="preserve">Checks whether the @player has color balance support available.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @player has color balance support. Otherwise,
  %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pause" c:identifier="gst_player_pause">
        <doc xml:space="preserve">Pauses the current stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="play" c:identifier="gst_player_play">
        <doc xml:space="preserve">Request to play the loaded stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="seek" c:identifier="gst_player_seek">
        <doc xml:space="preserve">Seeks the currently-playing stream to the absolute @position time
in nanoseconds.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve">position to seek in nanoseconds</doc>
            <type name="Gst.ClockTime" c:type="GstClockTime"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_audio_track" c:identifier="gst_player_set_audio_track">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE

Sets the audio track @stream_idex.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="stream_index" transfer-ownership="none">
            <doc xml:space="preserve">stream index</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_audio_track_enabled"
              c:identifier="gst_player_set_audio_track_enabled">
        <doc xml:space="preserve">Enable or disable the current audio track.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve">TRUE or FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_color_balance"
              c:identifier="gst_player_set_color_balance">
        <doc xml:space="preserve">Sets the current value of the indicated channel @type to the passed
value.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerColorBalanceType</doc>
            <type name="PlayerColorBalanceType"
                  c:type="GstPlayerColorBalanceType"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve">The new value for the @type, ranged [0,1]</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mute" c:identifier="gst_player_set_mute">
        <doc xml:space="preserve">%TRUE if the currently-playing stream should be muted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:space="preserve">Mute state the should be set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_position_update_interval"
              c:identifier="gst_player_set_position_update_interval">
        <doc xml:space="preserve">Set interval in milliseconds between two position-updated signals.
Pass 0 to stop updating the position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve">interval in ms</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_rate" c:identifier="gst_player_set_rate">
        <doc xml:space="preserve">Playback at specified rate</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="rate" transfer-ownership="none">
            <doc xml:space="preserve">playback rate</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_track"
              c:identifier="gst_player_set_subtitle_track">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE

Sets the subtitle strack @stream_index.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="stream_index" transfer-ownership="none">
            <doc xml:space="preserve">stream index</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_track_enabled"
              c:identifier="gst_player_set_subtitle_track_enabled">
        <doc xml:space="preserve">Enable or disable the current subtitle track.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve">TRUE or FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_subtitle_uri"
              c:identifier="gst_player_set_subtitle_uri">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE

Sets the external subtitle URI.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">subtitle URI</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="gst_player_set_uri">
        <doc xml:space="preserve">Sets the next URI to play.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve">next URI to play.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_video_track" c:identifier="gst_player_set_video_track">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE or %FALSE

Sets the video track @stream_index.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="stream_index" transfer-ownership="none">
            <doc xml:space="preserve">stream index</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_video_track_enabled"
              c:identifier="gst_player_set_video_track_enabled">
        <doc xml:space="preserve">Enable or disable the current video track.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve">TRUE or FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visualization"
              c:identifier="gst_player_set_visualization">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the visualizations was set correctly. Otherwise,
%FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">visualization element obtained from
#gst_player_visualizations_get()</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visualization_enabled"
              c:identifier="gst_player_set_visualization_enabled">
        <doc xml:space="preserve">Enable or disable the visualization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve">TRUE or FALSE</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_volume" c:identifier="gst_player_set_volume">
        <doc xml:space="preserve">Sets the volume level of the stream as a percentage between 0 and 1.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
          <parameter name="val" transfer-ownership="none">
            <doc xml:space="preserve">the new volume level, as a percentage between 0 and 1</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="stop" c:identifier="gst_player_stop">
        <doc xml:space="preserve">Stops playing the current stream and resets to the first position
in the stream.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="player" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayer instance</doc>
            <type name="Player" c:type="GstPlayer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="current-audio-track" transfer-ownership="none">
        <type name="PlayerAudioInfo"/>
      </property>
      <property name="current-subtitle-track" transfer-ownership="none">
        <type name="PlayerSubtitleInfo"/>
      </property>
      <property name="current-video-track" transfer-ownership="none">
        <type name="PlayerVideoInfo"/>
      </property>
      <property name="duration" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="media-info" transfer-ownership="none">
        <type name="PlayerMediaInfo"/>
      </property>
      <property name="mute" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="pipeline" transfer-ownership="none">
        <type name="Gst.Element"/>
      </property>
      <property name="position" transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </property>
      <property name="position-update-interval"
                writable="1"
                transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="rate" writable="1" transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <property name="signal-dispatcher"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PlayerSignalDispatcher"/>
      </property>
      <property name="suburi" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="uri" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="video-renderer"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="PlayerVideoRenderer"/>
      </property>
      <property name="volume" writable="1" transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </property>
      <glib:signal name="buffering" when="last" no-recurse="1" no-hooks="1">
        <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="duration-changed"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="end-of-stream"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="error" when="last" no-recurse="1" no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="media-info-updated"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PlayerMediaInfo"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="mute-changed" when="last" no-recurse="1" no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="position-updated"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="seek-done" when="last" no-recurse="1" no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="state-changed"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="PlayerState"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="video-dimensions-changed"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <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>
          <parameter name="p0" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="volume-changed"
                   when="last"
                   no-recurse="1"
                   no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="warning" when="last" no-recurse="1" no-hooks="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <class name="PlayerAudioInfo"
           c:symbol-prefix="player_audio_info"
           c:type="GstPlayerAudioInfo"
           parent="PlayerStreamInfo"
           glib:type-name="GstPlayerAudioInfo"
           glib:get-type="gst_player_audio_info_get_type"
           glib:type-struct="PlayerAudioInfoClass">
      <doc xml:space="preserve">#GstPlayerStreamInfo specific to audio streams.</doc>
      <method name="get_bitrate"
              c:identifier="gst_player_audio_info_get_bitrate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the audio bitrate in #GstPlayerAudioInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerAudioInfo</doc>
            <type name="PlayerAudioInfo" c:type="const GstPlayerAudioInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_channels"
              c:identifier="gst_player_audio_info_get_channels">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of audio channels in #GstPlayerAudioInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerAudioInfo</doc>
            <type name="PlayerAudioInfo" c:type="const GstPlayerAudioInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="gst_player_audio_info_get_language">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the language of the stream, or NULL if unknown.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerAudioInfo</doc>
            <type name="PlayerAudioInfo" c:type="const GstPlayerAudioInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_bitrate"
              c:identifier="gst_player_audio_info_get_max_bitrate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the audio maximum bitrate in #GstPlayerAudioInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerAudioInfo</doc>
            <type name="PlayerAudioInfo" c:type="const GstPlayerAudioInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sample_rate"
              c:identifier="gst_player_audio_info_get_sample_rate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the audio sample rate in #GstPlayerAudioInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerAudioInfo</doc>
            <type name="PlayerAudioInfo" c:type="const GstPlayerAudioInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PlayerAudioInfoClass"
            c:type="GstPlayerAudioInfoClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerAudioInfo">
    </record>
    <record name="PlayerClass"
            c:type="GstPlayerClass"
            disguised="1"
            glib:is-gtype-struct-for="Player">
    </record>
    <enumeration name="PlayerColorBalanceType"
                 glib:type-name="GstPlayerColorBalanceType"
                 glib:get-type="gst_player_color_balance_type_get_type"
                 c:type="GstPlayerColorBalanceType">
      <member name="hue"
              value="3"
              c:identifier="GST_PLAYER_COLOR_BALANCE_HUE"
              glib:nick="hue">
        <doc xml:space="preserve">hue or color balance.</doc>
      </member>
      <member name="brightness"
              value="0"
              c:identifier="GST_PLAYER_COLOR_BALANCE_BRIGHTNESS"
              glib:nick="brightness">
        <doc xml:space="preserve">brightness or black level.</doc>
      </member>
      <member name="saturation"
              value="2"
              c:identifier="GST_PLAYER_COLOR_BALANCE_SATURATION"
              glib:nick="saturation">
        <doc xml:space="preserve">color saturation or chroma
gain.</doc>
      </member>
      <member name="contrast"
              value="1"
              c:identifier="GST_PLAYER_COLOR_BALANCE_CONTRAST"
              glib:nick="contrast">
        <doc xml:space="preserve">contrast or luma gain.</doc>
      </member>
      <function name="get_name"
                c:identifier="gst_player_color_balance_type_get_name">
        <doc xml:space="preserve">Gets a string representing the given color balance type.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string with the name of the color
  balance type.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerColorBalanceType</doc>
            <type name="PlayerColorBalanceType"
                  c:type="GstPlayerColorBalanceType"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <enumeration name="PlayerError"
                 glib:type-name="GstPlayerError"
                 glib:get-type="gst_player_error_get_type"
                 c:type="GstPlayerError"
                 glib:error-domain="gst-player-error-quark">
      <member name="failed"
              value="0"
              c:identifier="GST_PLAYER_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve">generic error.</doc>
      </member>
      <function name="get_name" c:identifier="gst_player_error_get_name">
        <doc xml:space="preserve">Gets a string representing the given error.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string with the given error.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerError</doc>
            <type name="PlayerError" c:type="GstPlayerError"/>
          </parameter>
        </parameters>
      </function>
      <function name="quark" c:identifier="gst_player_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="PlayerGMainContextSignalDispatcher"
           c:symbol-prefix="player_g_main_context_signal_dispatcher"
           c:type="GstPlayerGMainContextSignalDispatcher"
           parent="GObject.Object"
           glib:type-name="GstPlayerGMainContextSignalDispatcher"
           glib:get-type="gst_player_g_main_context_signal_dispatcher_get_type"
           glib:type-struct="PlayerGMainContextSignalDispatcherClass">
      <implements name="PlayerSignalDispatcher"/>
      <function name="new"
                c:identifier="gst_player_g_main_context_signal_dispatcher_new">
        <doc xml:space="preserve">Creates a new GstPlayerSignalDispatcher that uses @application_context,
or the thread default one if %NULL is used. See gst_player_new_full().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the new GstPlayerSignalDispatcher</doc>
          <type name="PlayerSignalDispatcher"
                c:type="GstPlayerSignalDispatcher*"/>
        </return-value>
        <parameters>
          <parameter name="application_context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">GMainContext to use or %NULL</doc>
            <type name="GLib.MainContext" c:type="GMainContext*"/>
          </parameter>
        </parameters>
      </function>
      <property name="application-context"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="GLib.MainContext"/>
      </property>
    </class>
    <record name="PlayerGMainContextSignalDispatcherClass"
            c:type="GstPlayerGMainContextSignalDispatcherClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerGMainContextSignalDispatcher">
    </record>
    <class name="PlayerMediaInfo"
           c:symbol-prefix="player_media_info"
           c:type="GstPlayerMediaInfo"
           parent="GObject.Object"
           glib:type-name="GstPlayerMediaInfo"
           glib:get-type="gst_player_media_info_get_type"
           glib:type-struct="PlayerMediaInfoClass">
      <doc xml:space="preserve">Structure containing the media information of a URI.</doc>
      <method name="get_container_format"
              c:identifier="gst_player_media_info_get_container_format">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the container format.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration"
              c:identifier="gst_player_media_info_get_duration">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">duration of the media.</doc>
          <type name="Gst.ClockTime" c:type="GstClockTime"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_image_sample"
              c:identifier="gst_player_media_info_get_image_sample">
        <doc xml:space="preserve">Function to get the image (or preview-image) stored in taglist.
Application can use gst_sample_*_() API's to get caps, buffer etc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">GstSample or NULL.</doc>
          <type name="Gst.Sample" c:type="GstSample*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_list"
              c:identifier="gst_player_media_info_get_stream_list">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GList of
matching #GstPlayerStreamInfo.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="PlayerStreamInfo"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tags" c:identifier="gst_player_media_info_get_tags">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the tags contained in media info.</doc>
          <type name="Gst.TagList" c:type="GstTagList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="gst_player_media_info_get_title">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the media title.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri" c:identifier="gst_player_media_info_get_uri">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the URI associated with #GstPlayerMediaInfo.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_seekable"
              c:identifier="gst_player_media_info_is_seekable">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the media is seekable.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerMediaInfo</doc>
            <type name="PlayerMediaInfo" c:type="const GstPlayerMediaInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PlayerMediaInfoClass"
            c:type="GstPlayerMediaInfoClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerMediaInfo">
    </record>
    <interface name="PlayerSignalDispatcher"
               c:symbol-prefix="player_signal_dispatcher"
               c:type="GstPlayerSignalDispatcher"
               glib:type-name="GstPlayerSignalDispatcher"
               glib:get-type="gst_player_signal_dispatcher_get_type"
               glib:type-struct="PlayerSignalDispatcherInterface">
      <virtual-method name="dispatch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PlayerSignalDispatcher"
                  c:type="GstPlayerSignalDispatcher*"/>
          </instance-parameter>
          <parameter name="player" transfer-ownership="none">
            <type name="Player" c:type="GstPlayer*"/>
          </parameter>
          <parameter name="emitter"
                     transfer-ownership="none"
                     scope="notified"
                     closure="2"
                     destroy="3">
            <type name="PlayerSignalDispatcherFunc"
                  c:type="GstPlayerSignalDispatcherFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy" transfer-ownership="none" scope="async">
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </virtual-method>
    </interface>
    <callback name="PlayerSignalDispatcherFunc"
              c:type="GstPlayerSignalDispatcherFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="PlayerSignalDispatcherInterface"
            c:type="GstPlayerSignalDispatcherInterface"
            glib:is-gtype-struct-for="PlayerSignalDispatcher">
      <field name="parent_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PlayerSignalDispatcher"
                    c:type="GstPlayerSignalDispatcher*"/>
            </parameter>
            <parameter name="player" transfer-ownership="none">
              <type name="Player" c:type="GstPlayer*"/>
            </parameter>
            <parameter name="emitter"
                       transfer-ownership="none"
                       scope="notified"
                       closure="3"
                       destroy="4">
              <type name="PlayerSignalDispatcherFunc"
                    c:type="GstPlayerSignalDispatcherFunc"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="destroy" transfer-ownership="none" scope="async">
              <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="PlayerState"
                 glib:type-name="GstPlayerState"
                 glib:get-type="gst_player_state_get_type"
                 c:type="GstPlayerState">
      <member name="stopped"
              value="0"
              c:identifier="GST_PLAYER_STATE_STOPPED"
              glib:nick="stopped">
        <doc xml:space="preserve">the player is stopped.</doc>
      </member>
      <member name="buffering"
              value="1"
              c:identifier="GST_PLAYER_STATE_BUFFERING"
              glib:nick="buffering">
        <doc xml:space="preserve">the player is buffering.</doc>
      </member>
      <member name="paused"
              value="2"
              c:identifier="GST_PLAYER_STATE_PAUSED"
              glib:nick="paused">
        <doc xml:space="preserve">the player is paused.</doc>
      </member>
      <member name="playing"
              value="3"
              c:identifier="GST_PLAYER_STATE_PLAYING"
              glib:nick="playing">
        <doc xml:space="preserve">the player is currently playing a
stream.</doc>
      </member>
      <function name="get_name" c:identifier="gst_player_state_get_name">
        <doc xml:space="preserve">Gets a string representing the given state.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a string with the name of the state.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="state" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerState</doc>
            <type name="PlayerState" c:type="GstPlayerState"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <class name="PlayerStreamInfo"
           c:symbol-prefix="player_stream_info"
           c:type="GstPlayerStreamInfo"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GstPlayerStreamInfo"
           glib:get-type="gst_player_stream_info_get_type"
           glib:type-struct="PlayerStreamInfoClass">
      <doc xml:space="preserve">Base structure for information concering a media stream. Depending on
the stream type, one can find more media-specific information in
#GstPlayerVideoInfo, #GstPlayerAudioInfo, #GstPlayerSubtitleInfo.</doc>
      <method name="get_caps" c:identifier="gst_player_stream_info_get_caps">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GstCaps of the stream.</doc>
          <type name="Gst.Caps" c:type="GstCaps*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerStreamInfo</doc>
            <type name="PlayerStreamInfo" c:type="const GstPlayerStreamInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_codec" c:identifier="gst_player_stream_info_get_codec">
        <doc xml:space="preserve">A string describing codec used in #GstPlayerStreamInfo.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">codec string or NULL on unknown.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerStreamInfo</doc>
            <type name="PlayerStreamInfo" c:type="const GstPlayerStreamInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index" c:identifier="gst_player_stream_info_get_index">
        <doc xml:space="preserve">Function to get stream index from #GstPlayerStreamInfo instance.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the stream index of this stream.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerStreamInfo</doc>
            <type name="PlayerStreamInfo" c:type="const GstPlayerStreamInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_stream_type"
              c:identifier="gst_player_stream_info_get_stream_type">
        <doc xml:space="preserve">Function to return human readable name for the stream type
of the given @info (ex: "audio", "video", "subtitle")</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a human readable name</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerStreamInfo</doc>
            <type name="PlayerStreamInfo" c:type="const GstPlayerStreamInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tags" c:identifier="gst_player_stream_info_get_tags">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the tags contained in this stream.</doc>
          <type name="Gst.TagList" c:type="GstTagList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerStreamInfo</doc>
            <type name="PlayerStreamInfo" c:type="const GstPlayerStreamInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PlayerStreamInfoClass"
            c:type="GstPlayerStreamInfoClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerStreamInfo">
    </record>
    <class name="PlayerSubtitleInfo"
           c:symbol-prefix="player_subtitle_info"
           c:type="GstPlayerSubtitleInfo"
           parent="PlayerStreamInfo"
           glib:type-name="GstPlayerSubtitleInfo"
           glib:get-type="gst_player_subtitle_info_get_type"
           glib:type-struct="PlayerSubtitleInfoClass">
      <doc xml:space="preserve">#GstPlayerStreamInfo specific to subtitle streams.</doc>
      <method name="get_language"
              c:identifier="gst_player_subtitle_info_get_language">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the language of the stream, or NULL if unknown.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerSubtitleInfo</doc>
            <type name="PlayerSubtitleInfo"
                  c:type="const GstPlayerSubtitleInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PlayerSubtitleInfoClass"
            c:type="GstPlayerSubtitleInfoClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerSubtitleInfo">
    </record>
    <class name="PlayerVideoInfo"
           c:symbol-prefix="player_video_info"
           c:type="GstPlayerVideoInfo"
           parent="PlayerStreamInfo"
           glib:type-name="GstPlayerVideoInfo"
           glib:get-type="gst_player_video_info_get_type"
           glib:type-struct="PlayerVideoInfoClass">
      <doc xml:space="preserve">#GstPlayerStreamInfo specific to video streams.</doc>
      <method name="get_bitrate"
              c:identifier="gst_player_video_info_get_bitrate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current bitrate of video in #GstPlayerVideoInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_framerate"
              c:identifier="gst_player_video_info_get_framerate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
          <parameter name="fps_n"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">Numerator of frame rate</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="fps_d"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">Denominator of frame rate</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_height"
              c:identifier="gst_player_video_info_get_height">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the height of video in #GstPlayerVideoInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_max_bitrate"
              c:identifier="gst_player_video_info_get_max_bitrate">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the maximum bitrate of video in #GstPlayerVideoInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixel_aspect_ratio"
              c:identifier="gst_player_video_info_get_pixel_aspect_ratio">
        <doc xml:space="preserve">Returns the pixel aspect ratio in @par_n and @par_d</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
          <parameter name="par_n"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">numerator</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="par_d"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">denominator</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="gst_player_video_info_get_width">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the width of video in #GstPlayerVideoInfo.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="info" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoInfo</doc>
            <type name="PlayerVideoInfo" c:type="const GstPlayerVideoInfo*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="PlayerVideoInfoClass"
            c:type="GstPlayerVideoInfoClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerVideoInfo">
    </record>
    <class name="PlayerVideoOverlayVideoRenderer"
           c:symbol-prefix="player_video_overlay_video_renderer"
           c:type="GstPlayerVideoOverlayVideoRenderer"
           parent="GObject.Object"
           glib:type-name="GstPlayerVideoOverlayVideoRenderer"
           glib:get-type="gst_player_video_overlay_video_renderer_get_type"
           glib:type-struct="PlayerVideoOverlayVideoRendererClass">
      <implements name="PlayerVideoRenderer"/>
      <function name="new"
                c:identifier="gst_player_video_overlay_video_renderer_new">
        <return-value transfer-ownership="full">
          <type name="PlayerVideoRenderer" c:type="GstPlayerVideoRenderer*"/>
        </return-value>
        <parameters>
          <parameter name="window_handle"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">Window handle to use or %NULL</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="expose"
              c:identifier="gst_player_video_overlay_video_renderer_expose">
        <doc xml:space="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
in the drawable even if the pipeline is PAUSED.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoOverlayVideoRenderer instance.</doc>
            <type name="PlayerVideoOverlayVideoRenderer"
                  c:type="GstPlayerVideoOverlayVideoRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_render_rectangle"
              c:identifier="gst_player_video_overlay_video_renderer_get_render_rectangle">
        <doc xml:space="preserve">Return the currently configured render rectangle. See gst_player_video_overlay_video_renderer_set_render_rectangle()
for details.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoOverlayVideoRenderer instance</doc>
            <type name="PlayerVideoOverlayVideoRenderer"
                  c:type="GstPlayerVideoOverlayVideoRenderer*"/>
          </instance-parameter>
          <parameter name="x"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">the horizontal offset of the render area inside the window</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="y"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">the vertical offset of the render area inside the window</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="width"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">the width of the render area inside the window</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="height"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">the height of the render area inside the window</doc>
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_window_handle"
              c:identifier="gst_player_video_overlay_video_renderer_get_window_handle">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The currently set, platform specific window
handle</doc>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerVideoRenderer instance</doc>
            <type name="PlayerVideoOverlayVideoRenderer"
                  c:type="GstPlayerVideoOverlayVideoRenderer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_render_rectangle"
              c:identifier="gst_player_video_overlay_video_renderer_set_render_rectangle">
        <doc xml:space="preserve">Configure a subregion as a video target within the window set by
gst_player_video_overlay_video_renderer_set_window_handle(). If this is not
used or not supported the video will fill the area of the window set as the
overlay to 100%. By specifying the rectangle, the video can be overlayed to
a specific region of that window only. After setting the new rectangle one
should call gst_player_video_overlay_video_renderer_expose() to force a
redraw. To unset the region pass -1 for the @width and @height parameters.

This method is needed for non fullscreen video overlay in UI toolkits that
do not support subwindows.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #GstPlayerVideoOverlayVideoRenderer instance</doc>
            <type name="PlayerVideoOverlayVideoRenderer"
                  c:type="GstPlayerVideoOverlayVideoRenderer*"/>
          </instance-parameter>
          <parameter name="x" transfer-ownership="none">
            <doc xml:space="preserve">the horizontal offset of the render area inside the window</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:space="preserve">the vertical offset of the render area inside the window</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve">the width of the render area inside the window</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve">the height of the render area inside the window</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_handle"
              c:identifier="gst_player_video_overlay_video_renderer_set_window_handle">
        <doc xml:space="preserve">Sets the platform specific window handle into which the video
should be rendered</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerVideoRenderer instance</doc>
            <type name="PlayerVideoOverlayVideoRenderer"
                  c:type="GstPlayerVideoOverlayVideoRenderer*"/>
          </instance-parameter>
          <parameter name="window_handle" transfer-ownership="none">
            <doc xml:space="preserve">handle referencing to the platform specific window</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <property name="window-handle"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gpointer" c:type="gpointer"/>
      </property>
    </class>
    <record name="PlayerVideoOverlayVideoRendererClass"
            c:type="GstPlayerVideoOverlayVideoRendererClass"
            disguised="1"
            glib:is-gtype-struct-for="PlayerVideoOverlayVideoRenderer">
    </record>
    <interface name="PlayerVideoRenderer"
               c:symbol-prefix="player_video_renderer"
               c:type="GstPlayerVideoRenderer"
               glib:type-name="GstPlayerVideoRenderer"
               glib:get-type="gst_player_video_renderer_get_type"
               glib:type-struct="PlayerVideoRendererInterface">
      <virtual-method name="create_video_sink" introspectable="0">
        <return-value>
          <type name="Gst.Element" c:type="GstElement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="PlayerVideoRenderer" c:type="GstPlayerVideoRenderer*"/>
          </instance-parameter>
          <parameter name="player" transfer-ownership="none">
            <type name="Player" c:type="GstPlayer*"/>
          </parameter>
        </parameters>
      </virtual-method>
    </interface>
    <record name="PlayerVideoRendererInterface"
            c:type="GstPlayerVideoRendererInterface"
            glib:is-gtype-struct-for="PlayerVideoRenderer">
      <field name="parent_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="create_video_sink" introspectable="0">
        <callback name="create_video_sink" introspectable="0">
          <return-value>
            <type name="Gst.Element" c:type="GstElement*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="PlayerVideoRenderer"
                    c:type="GstPlayerVideoRenderer*"/>
            </parameter>
            <parameter name="player" transfer-ownership="none">
              <type name="Player" c:type="GstPlayer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="PlayerVisualization"
            c:type="GstPlayerVisualization"
            glib:type-name="GstPlayerVisualization"
            glib:get-type="gst_player_visualization_get_type"
            c:symbol-prefix="player_visualization">
      <doc xml:space="preserve">A #GstPlayerVisualization descriptor.</doc>
      <field name="name" writable="1">
        <doc xml:space="preserve">name of the visualization.</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="description" writable="1">
        <doc xml:space="preserve">description of the visualization.</doc>
        <type name="utf8" c:type="gchar*"/>
      </field>
      <method name="copy" c:identifier="gst_player_visualization_copy">
        <doc xml:space="preserve">Makes a copy of the #GstPlayerVisualization. The result must be
freed using gst_player_visualization_free().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an allocated copy of @vis.</doc>
          <type name="PlayerVisualization" c:type="GstPlayerVisualization*"/>
        </return-value>
        <parameters>
          <instance-parameter name="vis" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerVisualization instance</doc>
            <type name="PlayerVisualization"
                  c:type="const GstPlayerVisualization*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gst_player_visualization_free">
        <doc xml:space="preserve">Frees a #GstPlayerVisualization.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="vis" transfer-ownership="none">
            <doc xml:space="preserve">#GstPlayerVisualization instance</doc>
            <type name="PlayerVisualization" c:type="GstPlayerVisualization*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <function name="player_color_balance_type_get_name"
              c:identifier="gst_player_color_balance_type_get_name"
              moved-to="PlayerColorBalanceType.get_name">
      <doc xml:space="preserve">Gets a string representing the given color balance type.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a string with the name of the color
  balance type.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve">a #GstPlayerColorBalanceType</doc>
          <type name="PlayerColorBalanceType"
                c:type="GstPlayerColorBalanceType"/>
        </parameter>
      </parameters>
    </function>
    <function name="player_error_get_name"
              c:identifier="gst_player_error_get_name"
              moved-to="PlayerError.get_name">
      <doc xml:space="preserve">Gets a string representing the given error.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a string with the given error.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="error" transfer-ownership="none">
          <doc xml:space="preserve">a #GstPlayerError</doc>
          <type name="PlayerError" c:type="GstPlayerError"/>
        </parameter>
      </parameters>
    </function>
    <function name="player_error_quark"
              c:identifier="gst_player_error_quark"
              moved-to="PlayerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="player_state_get_name"
              c:identifier="gst_player_state_get_name"
              moved-to="PlayerState.get_name">
      <doc xml:space="preserve">Gets a string representing the given state.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">a string with the name of the state.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="state" transfer-ownership="none">
          <doc xml:space="preserve">a #GstPlayerState</doc>
          <type name="PlayerState" c:type="GstPlayerState"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
