gstreamer-rs/gir-files/GstRtsp-1.0.gir

5018 lines
216 KiB
XML

<?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="Gio" version="2.0"/>
<include name="Gst" version="1.0"/>
<include name="GstSdp" version="1.0"/>
<package name="gstreamer-rtsp-1.0"/>
<c:include name="gst/rtsp/rtsp.h"/>
<namespace name="GstRtsp"
version="1.0"
shared-library="libgstrtsp-1.0.so.0"
c:identifier-prefixes="Gst"
c:symbol-prefixes="gst">
<record name="RTSPAuthCredential"
c:type="GstRTSPAuthCredential"
glib:type-name="GstRTSPAuthCredential"
glib:get-type="gst_rtsp_auth_credential_get_type"
c:symbol-prefix="rtsp_auth_credential">
<field name="scheme" writable="1">
<type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
</field>
<field name="params" writable="1">
<type name="RTSPAuthParam" c:type="GstRTSPAuthParam**"/>
</field>
<field name="authorization" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
</record>
<enumeration name="RTSPAuthMethod"
glib:type-name="GstRTSPAuthMethod"
glib:get-type="gst_rtsp_auth_method_get_type"
c:type="GstRTSPAuthMethod">
<doc xml:space="preserve">Authentication methods, ordered by strength</doc>
<member name="none"
value="0"
c:identifier="GST_RTSP_AUTH_NONE"
glib:nick="none">
<doc xml:space="preserve">no authentication</doc>
</member>
<member name="basic"
value="1"
c:identifier="GST_RTSP_AUTH_BASIC"
glib:nick="basic">
<doc xml:space="preserve">basic authentication</doc>
</member>
<member name="digest"
value="2"
c:identifier="GST_RTSP_AUTH_DIGEST"
glib:nick="digest">
<doc xml:space="preserve">digest authentication</doc>
</member>
</enumeration>
<record name="RTSPAuthParam"
c:type="GstRTSPAuthParam"
glib:type-name="GstRTSPAuthParam"
glib:get-type="gst_rtsp_auth_param_get_type"
c:symbol-prefix="rtsp_auth_param">
<field name="name" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="value" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<method name="copy" c:identifier="gst_rtsp_auth_param_copy">
<return-value transfer-ownership="full">
<type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
</return-value>
<parameters>
<instance-parameter name="param" transfer-ownership="none">
<type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_rtsp_auth_param_free">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="param" transfer-ownership="none">
<type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
</instance-parameter>
</parameters>
</method>
</record>
<record name="RTSPConnection" c:type="GstRTSPConnection" disguised="1">
<doc xml:space="preserve">This object manages the RTSP connection to the server. It provides function
to receive and send bytes and messages.</doc>
<method name="clear_auth_params"
c:identifier="gst_rtsp_connection_clear_auth_params">
<doc xml:space="preserve">Clear the list of authentication directives stored in @conn.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="close" c:identifier="gst_rtsp_connection_close">
<doc xml:space="preserve">Close the connected @conn. After this call, the connection is in the same
state as when it was first created.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="connect" c:identifier="gst_rtsp_connection_connect">
<doc xml:space="preserve">Attempt to connect to the url of @conn made with
gst_rtsp_connection_create(). If @timeout is #NULL this function can block
forever. If @timeout contains a valid timeout, this function will return
#GST_RTSP_ETIMEOUT after the timeout expired.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when a connection could be made.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a #GTimeVal timeout</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="connect_with_response"
c:identifier="gst_rtsp_connection_connect_with_response">
<doc xml:space="preserve">Attempt to connect to the url of @conn made with
gst_rtsp_connection_create(). If @timeout is #NULL this function can block
forever. If @timeout contains a valid timeout, this function will return
#GST_RTSP_ETIMEOUT after the timeout expired. If @conn is set to tunneled,
@response will contain a response to the tunneling request messages.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when a connection could be made.
Since 1.8</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a #GTimeVal timeout</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
<parameter name="response" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="do_tunnel" c:identifier="gst_rtsp_connection_do_tunnel">
<doc xml:space="preserve">If @conn received the first tunnel connection and @conn2 received
the second tunnel connection, link the two connections together so that
@conn manages the tunneled connection.
After this call, @conn2 cannot be used anymore and must be freed with
gst_rtsp_connection_free().
If @conn2 is %NULL then only the base64 decoding context will be setup for
@conn.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">return GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="conn2" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection or %NULL</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</parameter>
</parameters>
</method>
<method name="flush" c:identifier="gst_rtsp_connection_flush">
<doc xml:space="preserve">Start or stop the flushing action on @conn. When flushing, all current
and future actions on @conn will return #GST_RTSP_EINTR until the connection
is set to non-flushing mode again.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="flush" transfer-ownership="none">
<doc xml:space="preserve">start or stop the flush</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_rtsp_connection_free">
<doc xml:space="preserve">Close and free @conn.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ip" c:identifier="gst_rtsp_connection_get_ip">
<doc xml:space="preserve">Retrieve the IP address of the other end of @conn.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">The IP address as a string. this value remains valid until the
connection is closed.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_read_socket"
c:identifier="gst_rtsp_connection_get_read_socket">
<doc xml:space="preserve">Get the file descriptor for reading.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor used for reading or %NULL on
error. The file descriptor remains valid until the connection is closed.</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_remember_session_id"
c:identifier="gst_rtsp_connection_get_remember_session_id">
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the #GstRTSPConnection remembers the session id in the
last response to set it on any further request.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tls"
c:identifier="gst_rtsp_connection_get_tls"
version="1.2"
throws="1">
<doc xml:space="preserve">Get the TLS connection of @conn.
For client side this will return the #GTlsClientConnection when connected
over TLS.
For server side connections, this function will create a GTlsServerConnection
when called the first time and will return that same connection on subsequent
calls. The server is then responsible for configuring the TLS connection.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the TLS connection for @conn.</doc>
<type name="Gio.TlsConnection" c:type="GTlsConnection*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tls_database"
c:identifier="gst_rtsp_connection_get_tls_database"
version="1.4">
<doc xml:space="preserve">Gets the anchor certificate authorities database that will be used
after a server certificate can't be verified with the default
certificate database.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the anchor certificate authorities database, or NULL if no
database has been previously set. Use g_object_unref() to release the
certificate database.</doc>
<type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tls_interaction"
c:identifier="gst_rtsp_connection_get_tls_interaction"
version="1.6">
<doc xml:space="preserve">Gets a #GTlsInteraction object to be used when the connection or certificate
database need to interact with the user. This will be used to prompt the
user for passwords where necessary.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a reference on the #GTlsInteraction. Use
g_object_unref() to release.</doc>
<type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tls_validation_flags"
c:identifier="gst_rtsp_connection_get_tls_validation_flags"
version="1.2.1">
<doc xml:space="preserve">Gets the TLS validation flags used to verify the peer certificate
when a TLS connection is established.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the validationg flags.</doc>
<type name="Gio.TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_tunnelid"
c:identifier="gst_rtsp_connection_get_tunnelid">
<doc xml:space="preserve">Get the tunnel session id the connection.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">returns a non-empty string if @conn is being tunneled over HTTP.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_url" c:identifier="gst_rtsp_connection_get_url">
<doc xml:space="preserve">Retrieve the URL of the other end of @conn.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">The URL. This value remains valid until the
connection is freed.</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_write_socket"
c:identifier="gst_rtsp_connection_get_write_socket">
<doc xml:space="preserve">Get the file descriptor for writing.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor used for writing or NULL on
error. The file descriptor remains valid until the connection is closed.</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="is_tunneled"
c:identifier="gst_rtsp_connection_is_tunneled">
<doc xml:space="preserve">Get the tunneling state of the connection.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">if @conn is using HTTP tunneling.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="next_timeout"
c:identifier="gst_rtsp_connection_next_timeout">
<doc xml:space="preserve">Calculate the next timeout for @conn, storing the result in @timeout.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="poll" c:identifier="gst_rtsp_connection_poll">
<doc xml:space="preserve">Wait up to the specified @timeout for the connection to become available for
at least one of the operations specified in @events. When the function returns
with #GST_RTSP_OK, @revents will contain a bitmask of available operations on
@conn.
@timeout can be #NULL, in which case this function might block forever.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="events" transfer-ownership="none">
<doc xml:space="preserve">a bitmask of #GstRTSPEvent flags to check</doc>
<type name="RTSPEvent" c:type="GstRTSPEvent"/>
</parameter>
<parameter name="revents" transfer-ownership="none">
<doc xml:space="preserve">location for result flags</doc>
<type name="RTSPEvent" c:type="GstRTSPEvent*"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="read" c:identifier="gst_rtsp_connection_read">
<doc xml:space="preserve">Attempt to read @size bytes into @data from the connected @conn, blocking up to
the specified @timeout. @timeout can be #NULL, in which case this function
might block forever.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve">the data to read</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout value or #NULL</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="receive" c:identifier="gst_rtsp_connection_receive">
<doc xml:space="preserve">Attempt to read into @message from the connected @conn, blocking up to
the specified @timeout. @timeout can be #NULL, in which case this function
might block forever.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="message" transfer-ownership="none">
<doc xml:space="preserve">the message to read</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout value or #NULL</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="reset_timeout"
c:identifier="gst_rtsp_connection_reset_timeout">
<doc xml:space="preserve">Reset the timeout of @conn.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
</parameters>
</method>
<method name="send" c:identifier="gst_rtsp_connection_send">
<doc xml:space="preserve">Attempt to send @message to the connected @conn, blocking up to
the specified @timeout. @timeout can be #NULL, in which case this function
might block forever.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="message" transfer-ownership="none">
<doc xml:space="preserve">the message to send</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout value or #NULL</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="set_auth" c:identifier="gst_rtsp_connection_set_auth">
<doc xml:space="preserve">Configure @conn for authentication mode @method with @user and @pass as the
user and password respectively.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">authentication method</doc>
<type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
</parameter>
<parameter name="user" transfer-ownership="none">
<doc xml:space="preserve">the user</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="pass" transfer-ownership="none">
<doc xml:space="preserve">the password</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_auth_param"
c:identifier="gst_rtsp_connection_set_auth_param">
<doc xml:space="preserve">Setup @conn with authentication directives. This is not necesary for
methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
#GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
in the WWW-Authenticate response header and can include realm, domain,
nonce, opaque, stale, algorithm, qop as per RFC2617.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="param" transfer-ownership="none">
<doc xml:space="preserve">authentication directive</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">value</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_http_mode"
c:identifier="gst_rtsp_connection_set_http_mode">
<doc xml:space="preserve">By setting the HTTP mode to %TRUE the message parsing will support HTTP
messages in addition to the RTSP messages. It will also disable the
automatic handling of setting up an HTTP tunnel.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="enable" transfer-ownership="none">
<doc xml:space="preserve">%TRUE to enable manual HTTP mode</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_ip" c:identifier="gst_rtsp_connection_set_ip">
<doc xml:space="preserve">Set the IP address of the server.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="ip" transfer-ownership="none">
<doc xml:space="preserve">an ip address</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="set_proxy" c:identifier="gst_rtsp_connection_set_proxy">
<doc xml:space="preserve">Set the proxy host and port.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="host" transfer-ownership="none">
<doc xml:space="preserve">the proxy host</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">the proxy port</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_qos_dscp"
c:identifier="gst_rtsp_connection_set_qos_dscp">
<doc xml:space="preserve">Configure @conn to use the specified DSCP value.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="qos_dscp" transfer-ownership="none">
<doc xml:space="preserve">DSCP value</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="set_remember_session_id"
c:identifier="gst_rtsp_connection_set_remember_session_id">
<doc xml:space="preserve">Sets if the #GstRTSPConnection should remember the session id from the last
response received and force it onto any further requests.
The default value is %TRUE</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="remember" transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the connection should remember the session id</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_tls_database"
c:identifier="gst_rtsp_connection_set_tls_database"
version="1.4">
<doc xml:space="preserve">Sets the anchor certificate authorities database. This certificate
database will be used to verify the server's certificate in case it
can't be verified with the default certificate database first.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="database" transfer-ownership="none">
<doc xml:space="preserve">a #GTlsDatabase</doc>
<type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/>
</parameter>
</parameters>
</method>
<method name="set_tls_interaction"
c:identifier="gst_rtsp_connection_set_tls_interaction"
version="1.6">
<doc xml:space="preserve">Sets a #GTlsInteraction object to be used when the connection or certificate
database need to interact with the user. This will be used to prompt the
user for passwords where necessary.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="interaction" transfer-ownership="none">
<doc xml:space="preserve">a #GTlsInteraction</doc>
<type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/>
</parameter>
</parameters>
</method>
<method name="set_tls_validation_flags"
c:identifier="gst_rtsp_connection_set_tls_validation_flags"
version="1.2.1">
<doc xml:space="preserve">Sets the TLS validation flags to be used to verify the peer
certificate when a TLS connection is established.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">TRUE if the validation flags are set correctly, or FALSE if
@conn is NULL or is not a TLS connection.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the validation flags.</doc>
<type name="Gio.TlsCertificateFlags"
c:type="GTlsCertificateFlags"/>
</parameter>
</parameters>
</method>
<method name="set_tunneled"
c:identifier="gst_rtsp_connection_set_tunneled">
<doc xml:space="preserve">Set the HTTP tunneling state of the connection. This must be configured before
the @conn is connected.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="tunneled" transfer-ownership="none">
<doc xml:space="preserve">the new state</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="write" c:identifier="gst_rtsp_connection_write">
<doc xml:space="preserve">Attempt to write @size bytes of @data to the connected @conn, blocking up to
the specified @timeout. @timeout can be #NULL, in which case this function
might block forever.
This function can be cancelled with gst_rtsp_connection_flush().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve">the data to write</doc>
<type name="guint8" c:type="const guint8*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a timeout value or #NULL</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<function name="accept" c:identifier="gst_rtsp_connection_accept">
<doc xml:space="preserve">Accept a new connection on @socket and create a new #GstRTSPConnection for
handling communication on new socket.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">a socket</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">a #GCancellable to cancel the operation</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
</parameters>
</function>
<function name="create" c:identifier="gst_rtsp_connection_create">
<doc xml:space="preserve">Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
The connection will not yet attempt to connect to @url, use
gst_rtsp_connection_connect().
A copy of @url will be made.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
</parameters>
</function>
<function name="create_from_socket"
c:identifier="gst_rtsp_connection_create_from_socket">
<doc xml:space="preserve">Create a new #GstRTSPConnection for handling communication on the existing
socket @socket. The @initial_buffer contains zero terminated data already
read from @socket which should be used before starting to read new data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">a #GSocket</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="ip" transfer-ownership="none">
<doc xml:space="preserve">the IP address of the other end</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">the port used by the other end</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="initial_buffer" transfer-ownership="none">
<doc xml:space="preserve">data already read from @fd</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
</parameters>
</function>
</record>
<bitfield name="RTSPEvent"
glib:type-name="GstRTSPEvent"
glib:get-type="gst_rtsp_event_get_type"
c:type="GstRTSPEvent">
<doc xml:space="preserve">The possible events for the connection.</doc>
<member name="read"
value="1"
c:identifier="GST_RTSP_EV_READ"
glib:nick="read">
<doc xml:space="preserve">connection is readable</doc>
</member>
<member name="write"
value="2"
c:identifier="GST_RTSP_EV_WRITE"
glib:nick="write">
<doc xml:space="preserve">connection is writable</doc>
</member>
</bitfield>
<interface name="RTSPExtension"
c:symbol-prefix="rtsp_extension"
c:type="GstRTSPExtension"
glib:type-name="GstRTSPExtension"
glib:get-type="gst_rtsp_extension_get_type"
glib:type-struct="RTSPExtensionInterface">
<doc xml:space="preserve">This interface is implemented e.g. by the Windows Media Streaming RTSP
exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).</doc>
<virtual-method name="after_send" invoker="after_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="before_send" invoker="before_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="configure_stream" invoker="configure_stream">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="detect_server" invoker="detect_server">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_transports" invoker="get_transports">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="protocols" transfer-ownership="none">
<type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
</parameter>
<parameter name="transport" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="parse_sdp" invoker="parse_sdp">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="sdp" transfer-ownership="none">
<type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
</parameter>
<parameter name="s" transfer-ownership="none">
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="receive_request" invoker="receive_request">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="send" invoker="send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="setup_media" invoker="setup_media">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="media" transfer-ownership="none">
<type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="stream_select" invoker="stream_select">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="url" transfer-ownership="none">
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</parameter>
</parameters>
</virtual-method>
<method name="after_send" c:identifier="gst_rtsp_extension_after_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="before_send" c:identifier="gst_rtsp_extension_before_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="configure_stream"
c:identifier="gst_rtsp_extension_configure_stream">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</method>
<method name="detect_server"
c:identifier="gst_rtsp_extension_detect_server">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="get_transports"
c:identifier="gst_rtsp_extension_get_transports">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="protocols" transfer-ownership="none">
<type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
</parameter>
<parameter name="transport" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</method>
<method name="parse_sdp" c:identifier="gst_rtsp_extension_parse_sdp">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="sdp" transfer-ownership="none">
<type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
</parameter>
<parameter name="s" transfer-ownership="none">
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</method>
<method name="receive_request"
c:identifier="gst_rtsp_extension_receive_request">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="send" c:identifier="gst_rtsp_extension_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="setup_media" c:identifier="gst_rtsp_extension_setup_media">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="media" transfer-ownership="none">
<type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
</parameter>
</parameters>
</method>
<method name="stream_select"
c:identifier="gst_rtsp_extension_stream_select">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</instance-parameter>
<parameter name="url" transfer-ownership="none">
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</parameter>
</parameters>
</method>
<glib:signal name="send" when="last">
<return-value transfer-ownership="none">
<type name="RTSPResult"/>
</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"
nullable="1"
allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
</interface>
<record name="RTSPExtensionInterface"
c:type="GstRTSPExtensionInterface"
glib:is-gtype-struct-for="RTSPExtension">
<field name="parent">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="detect_server">
<callback name="detect_server">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="before_send">
<callback name="before_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="after_send">
<callback name="after_send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="parse_sdp">
<callback name="parse_sdp">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="sdp" transfer-ownership="none">
<type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
</parameter>
<parameter name="s" transfer-ownership="none">
<type name="Gst.Structure" c:type="GstStructure*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="setup_media">
<callback name="setup_media">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="media" transfer-ownership="none">
<type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="configure_stream">
<callback name="configure_stream">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="caps" transfer-ownership="none">
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_transports">
<callback name="get_transports">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="protocols" transfer-ownership="none">
<type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
</parameter>
<parameter name="transport" transfer-ownership="none">
<type name="utf8" c:type="gchar**"/>
</parameter>
</parameters>
</callback>
</field>
<field name="stream_select">
<callback name="stream_select">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="url" transfer-ownership="none">
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="send">
<callback name="send">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="resp" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="receive_request">
<callback name="receive_request">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="ext" transfer-ownership="none">
<type name="RTSPExtension" c:type="GstRTSPExtension*"/>
</parameter>
<parameter name="req" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<enumeration name="RTSPFamily"
glib:type-name="GstRTSPFamily"
glib:get-type="gst_rtsp_family_get_type"
c:type="GstRTSPFamily">
<doc xml:space="preserve">The possible network families.</doc>
<member name="none"
value="0"
c:identifier="GST_RTSP_FAM_NONE"
glib:nick="none">
<doc xml:space="preserve">unknown network family</doc>
</member>
<member name="inet"
value="1"
c:identifier="GST_RTSP_FAM_INET"
glib:nick="inet">
<doc xml:space="preserve">internet</doc>
</member>
<member name="inet6"
value="2"
c:identifier="GST_RTSP_FAM_INET6"
glib:nick="inet6">
<doc xml:space="preserve">internet V6</doc>
</member>
</enumeration>
<enumeration name="RTSPHeaderField"
glib:type-name="GstRTSPHeaderField"
glib:get-type="gst_rtsp_header_field_get_type"
c:type="GstRTSPHeaderField">
<doc xml:space="preserve">Enumeration of rtsp header fields</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_HDR_INVALID"
glib:nick="invalid">
</member>
<member name="accept"
value="1"
c:identifier="GST_RTSP_HDR_ACCEPT"
glib:nick="accept">
</member>
<member name="accept_encoding"
value="2"
c:identifier="GST_RTSP_HDR_ACCEPT_ENCODING"
glib:nick="accept-encoding">
</member>
<member name="accept_language"
value="3"
c:identifier="GST_RTSP_HDR_ACCEPT_LANGUAGE"
glib:nick="accept-language">
</member>
<member name="allow"
value="4"
c:identifier="GST_RTSP_HDR_ALLOW"
glib:nick="allow">
</member>
<member name="authorization"
value="5"
c:identifier="GST_RTSP_HDR_AUTHORIZATION"
glib:nick="authorization">
</member>
<member name="bandwidth"
value="6"
c:identifier="GST_RTSP_HDR_BANDWIDTH"
glib:nick="bandwidth">
</member>
<member name="blocksize"
value="7"
c:identifier="GST_RTSP_HDR_BLOCKSIZE"
glib:nick="blocksize">
</member>
<member name="cache_control"
value="8"
c:identifier="GST_RTSP_HDR_CACHE_CONTROL"
glib:nick="cache-control">
</member>
<member name="conference"
value="9"
c:identifier="GST_RTSP_HDR_CONFERENCE"
glib:nick="conference">
</member>
<member name="connection"
value="10"
c:identifier="GST_RTSP_HDR_CONNECTION"
glib:nick="connection">
</member>
<member name="content_base"
value="11"
c:identifier="GST_RTSP_HDR_CONTENT_BASE"
glib:nick="content-base">
</member>
<member name="content_encoding"
value="12"
c:identifier="GST_RTSP_HDR_CONTENT_ENCODING"
glib:nick="content-encoding">
</member>
<member name="content_language"
value="13"
c:identifier="GST_RTSP_HDR_CONTENT_LANGUAGE"
glib:nick="content-language">
</member>
<member name="content_length"
value="14"
c:identifier="GST_RTSP_HDR_CONTENT_LENGTH"
glib:nick="content-length">
</member>
<member name="content_location"
value="15"
c:identifier="GST_RTSP_HDR_CONTENT_LOCATION"
glib:nick="content-location">
</member>
<member name="content_type"
value="16"
c:identifier="GST_RTSP_HDR_CONTENT_TYPE"
glib:nick="content-type">
</member>
<member name="cseq"
value="17"
c:identifier="GST_RTSP_HDR_CSEQ"
glib:nick="cseq">
</member>
<member name="date"
value="18"
c:identifier="GST_RTSP_HDR_DATE"
glib:nick="date">
</member>
<member name="expires"
value="19"
c:identifier="GST_RTSP_HDR_EXPIRES"
glib:nick="expires">
</member>
<member name="from"
value="20"
c:identifier="GST_RTSP_HDR_FROM"
glib:nick="from">
</member>
<member name="if_modified_since"
value="21"
c:identifier="GST_RTSP_HDR_IF_MODIFIED_SINCE"
glib:nick="if-modified-since">
</member>
<member name="last_modified"
value="22"
c:identifier="GST_RTSP_HDR_LAST_MODIFIED"
glib:nick="last-modified">
</member>
<member name="proxy_authenticate"
value="23"
c:identifier="GST_RTSP_HDR_PROXY_AUTHENTICATE"
glib:nick="proxy-authenticate">
</member>
<member name="proxy_require"
value="24"
c:identifier="GST_RTSP_HDR_PROXY_REQUIRE"
glib:nick="proxy-require">
</member>
<member name="public"
value="25"
c:identifier="GST_RTSP_HDR_PUBLIC"
glib:nick="public">
</member>
<member name="range"
value="26"
c:identifier="GST_RTSP_HDR_RANGE"
glib:nick="range">
</member>
<member name="referer"
value="27"
c:identifier="GST_RTSP_HDR_REFERER"
glib:nick="referer">
</member>
<member name="require"
value="28"
c:identifier="GST_RTSP_HDR_REQUIRE"
glib:nick="require">
</member>
<member name="retry_after"
value="29"
c:identifier="GST_RTSP_HDR_RETRY_AFTER"
glib:nick="retry-after">
</member>
<member name="rtp_info"
value="30"
c:identifier="GST_RTSP_HDR_RTP_INFO"
glib:nick="rtp-info">
</member>
<member name="scale"
value="31"
c:identifier="GST_RTSP_HDR_SCALE"
glib:nick="scale">
</member>
<member name="session"
value="32"
c:identifier="GST_RTSP_HDR_SESSION"
glib:nick="session">
</member>
<member name="server"
value="33"
c:identifier="GST_RTSP_HDR_SERVER"
glib:nick="server">
</member>
<member name="speed"
value="34"
c:identifier="GST_RTSP_HDR_SPEED"
glib:nick="speed">
</member>
<member name="transport"
value="35"
c:identifier="GST_RTSP_HDR_TRANSPORT"
glib:nick="transport">
</member>
<member name="unsupported"
value="36"
c:identifier="GST_RTSP_HDR_UNSUPPORTED"
glib:nick="unsupported">
</member>
<member name="user_agent"
value="37"
c:identifier="GST_RTSP_HDR_USER_AGENT"
glib:nick="user-agent">
</member>
<member name="via"
value="38"
c:identifier="GST_RTSP_HDR_VIA"
glib:nick="via">
</member>
<member name="www_authenticate"
value="39"
c:identifier="GST_RTSP_HDR_WWW_AUTHENTICATE"
glib:nick="www-authenticate">
</member>
<member name="client_challenge"
value="40"
c:identifier="GST_RTSP_HDR_CLIENT_CHALLENGE"
glib:nick="client-challenge">
</member>
<member name="real_challenge1"
value="41"
c:identifier="GST_RTSP_HDR_REAL_CHALLENGE1"
glib:nick="real-challenge1">
</member>
<member name="real_challenge2"
value="42"
c:identifier="GST_RTSP_HDR_REAL_CHALLENGE2"
glib:nick="real-challenge2">
</member>
<member name="real_challenge3"
value="43"
c:identifier="GST_RTSP_HDR_REAL_CHALLENGE3"
glib:nick="real-challenge3">
</member>
<member name="subscribe"
value="44"
c:identifier="GST_RTSP_HDR_SUBSCRIBE"
glib:nick="subscribe">
</member>
<member name="alert"
value="45"
c:identifier="GST_RTSP_HDR_ALERT"
glib:nick="alert">
</member>
<member name="client_id"
value="46"
c:identifier="GST_RTSP_HDR_CLIENT_ID"
glib:nick="client-id">
</member>
<member name="company_id"
value="47"
c:identifier="GST_RTSP_HDR_COMPANY_ID"
glib:nick="company-id">
</member>
<member name="guid"
value="48"
c:identifier="GST_RTSP_HDR_GUID"
glib:nick="guid">
</member>
<member name="region_data"
value="49"
c:identifier="GST_RTSP_HDR_REGION_DATA"
glib:nick="region-data">
</member>
<member name="max_asm_width"
value="50"
c:identifier="GST_RTSP_HDR_MAX_ASM_WIDTH"
glib:nick="max-asm-width">
</member>
<member name="language"
value="51"
c:identifier="GST_RTSP_HDR_LANGUAGE"
glib:nick="language">
</member>
<member name="player_start_time"
value="52"
c:identifier="GST_RTSP_HDR_PLAYER_START_TIME"
glib:nick="player-start-time">
</member>
<member name="location"
value="53"
c:identifier="GST_RTSP_HDR_LOCATION"
glib:nick="location">
</member>
<member name="etag"
value="54"
c:identifier="GST_RTSP_HDR_ETAG"
glib:nick="etag">
</member>
<member name="if_match"
value="55"
c:identifier="GST_RTSP_HDR_IF_MATCH"
glib:nick="if-match">
</member>
<member name="accept_charset"
value="56"
c:identifier="GST_RTSP_HDR_ACCEPT_CHARSET"
glib:nick="accept-charset">
</member>
<member name="supported"
value="57"
c:identifier="GST_RTSP_HDR_SUPPORTED"
glib:nick="supported">
</member>
<member name="vary"
value="58"
c:identifier="GST_RTSP_HDR_VARY"
glib:nick="vary">
</member>
<member name="x_accelerate_streaming"
value="59"
c:identifier="GST_RTSP_HDR_X_ACCELERATE_STREAMING"
glib:nick="x-accelerate-streaming">
</member>
<member name="x_accept_authent"
value="60"
c:identifier="GST_RTSP_HDR_X_ACCEPT_AUTHENT"
glib:nick="x-accept-authent">
</member>
<member name="x_accept_proxy_authent"
value="61"
c:identifier="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT"
glib:nick="x-accept-proxy-authent">
</member>
<member name="x_broadcast_id"
value="62"
c:identifier="GST_RTSP_HDR_X_BROADCAST_ID"
glib:nick="x-broadcast-id">
</member>
<member name="x_burst_streaming"
value="63"
c:identifier="GST_RTSP_HDR_X_BURST_STREAMING"
glib:nick="x-burst-streaming">
</member>
<member name="x_notice"
value="64"
c:identifier="GST_RTSP_HDR_X_NOTICE"
glib:nick="x-notice">
</member>
<member name="x_player_lag_time"
value="65"
c:identifier="GST_RTSP_HDR_X_PLAYER_LAG_TIME"
glib:nick="x-player-lag-time">
</member>
<member name="x_playlist"
value="66"
c:identifier="GST_RTSP_HDR_X_PLAYLIST"
glib:nick="x-playlist">
</member>
<member name="x_playlist_change_notice"
value="67"
c:identifier="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE"
glib:nick="x-playlist-change-notice">
</member>
<member name="x_playlist_gen_id"
value="68"
c:identifier="GST_RTSP_HDR_X_PLAYLIST_GEN_ID"
glib:nick="x-playlist-gen-id">
</member>
<member name="x_playlist_seek_id"
value="69"
c:identifier="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID"
glib:nick="x-playlist-seek-id">
</member>
<member name="x_proxy_client_agent"
value="70"
c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT"
glib:nick="x-proxy-client-agent">
</member>
<member name="x_proxy_client_verb"
value="71"
c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_VERB"
glib:nick="x-proxy-client-verb">
</member>
<member name="x_receding_playlistchange"
value="72"
c:identifier="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE"
glib:nick="x-receding-playlistchange">
</member>
<member name="x_rtp_info"
value="73"
c:identifier="GST_RTSP_HDR_X_RTP_INFO"
glib:nick="x-rtp-info">
</member>
<member name="x_startupprofile"
value="74"
c:identifier="GST_RTSP_HDR_X_STARTUPPROFILE"
glib:nick="x-startupprofile">
</member>
<member name="timestamp"
value="75"
c:identifier="GST_RTSP_HDR_TIMESTAMP"
glib:nick="timestamp">
</member>
<member name="authentication_info"
value="76"
c:identifier="GST_RTSP_HDR_AUTHENTICATION_INFO"
glib:nick="authentication-info">
</member>
<member name="host"
value="77"
c:identifier="GST_RTSP_HDR_HOST"
glib:nick="host">
</member>
<member name="pragma"
value="78"
c:identifier="GST_RTSP_HDR_PRAGMA"
glib:nick="pragma">
</member>
<member name="x_server_ip_address"
value="79"
c:identifier="GST_RTSP_HDR_X_SERVER_IP_ADDRESS"
glib:nick="x-server-ip-address">
</member>
<member name="x_sessioncookie"
value="80"
c:identifier="GST_RTSP_HDR_X_SESSIONCOOKIE"
glib:nick="x-sessioncookie">
</member>
<member name="rtcp_interval"
value="81"
c:identifier="GST_RTSP_HDR_RTCP_INTERVAL"
glib:nick="rtcp-interval">
</member>
<member name="keymgmt"
value="82"
c:identifier="GST_RTSP_HDR_KEYMGMT"
glib:nick="keymgmt">
</member>
<member name="last"
value="83"
c:identifier="GST_RTSP_HDR_LAST"
glib:nick="last">
</member>
</enumeration>
<bitfield name="RTSPLowerTrans"
glib:type-name="GstRTSPLowerTrans"
glib:get-type="gst_rtsp_lower_trans_get_type"
c:type="GstRTSPLowerTrans">
<doc xml:space="preserve">The different transport methods.</doc>
<member name="unknown"
value="0"
c:identifier="GST_RTSP_LOWER_TRANS_UNKNOWN"
glib:nick="unknown">
<doc xml:space="preserve">invalid transport flag</doc>
</member>
<member name="udp"
value="1"
c:identifier="GST_RTSP_LOWER_TRANS_UDP"
glib:nick="udp">
<doc xml:space="preserve">stream data over UDP</doc>
</member>
<member name="udp_mcast"
value="2"
c:identifier="GST_RTSP_LOWER_TRANS_UDP_MCAST"
glib:nick="udp-mcast">
<doc xml:space="preserve">stream data over UDP multicast</doc>
</member>
<member name="tcp"
value="4"
c:identifier="GST_RTSP_LOWER_TRANS_TCP"
glib:nick="tcp">
<doc xml:space="preserve">stream data over TCP</doc>
</member>
<member name="http"
value="16"
c:identifier="GST_RTSP_LOWER_TRANS_HTTP"
glib:nick="http">
<doc xml:space="preserve">stream data tunneled over HTTP.</doc>
</member>
<member name="tls"
value="32"
c:identifier="GST_RTSP_LOWER_TRANS_TLS"
glib:nick="tls">
<doc xml:space="preserve">encrypt TCP and HTTP with TLS</doc>
</member>
</bitfield>
<record name="RTSPMessage" c:type="GstRTSPMessage">
<doc xml:space="preserve">Provides methods for creating and parsing request, response and data messages.</doc>
<field name="type" writable="1">
<doc xml:space="preserve">the message type</doc>
<type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
</field>
<union name="type_data" c:type="type_data">
<record name="request" c:type="request">
<field name="method" writable="1">
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</field>
<field name="uri" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="version" writable="1">
<type name="RTSPVersion" c:type="GstRTSPVersion"/>
</field>
</record>
<record name="response" c:type="response">
<field name="code" writable="1">
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</field>
<field name="reason" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="version" writable="1">
<type name="RTSPVersion" c:type="GstRTSPVersion"/>
</field>
</record>
<record name="data" c:type="data">
<field name="channel" writable="1">
<type name="guint8" c:type="guint8"/>
</field>
</record>
</union>
<field name="hdr_fields" readable="0" private="1">
<array name="GLib.Array" c:type="GArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<field name="body" readable="0" private="1">
<type name="guint8" c:type="guint8*"/>
</field>
<field name="body_size" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="add_header" c:identifier="gst_rtsp_message_add_header">
<doc xml:space="preserve">Add a header with key @field and @value to @msg. This function takes a copy
of @value.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">the value of the header</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="add_header_by_name"
c:identifier="gst_rtsp_message_add_header_by_name"
version="1.6">
<doc xml:space="preserve">Add a header with key @header and @value to @msg. This function takes a copy
of @value.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve">header string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">the value of the header</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="append_headers"
c:identifier="gst_rtsp_message_append_headers">
<doc xml:space="preserve">Append the currently configured headers in @msg to the #GString @str suitable
for transmission.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</instance-parameter>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve">a string</doc>
<type name="GLib.String" c:type="GString*"/>
</parameter>
</parameters>
</method>
<method name="dump" c:identifier="gst_rtsp_message_dump">
<doc xml:space="preserve">Dump the contents of @msg to stdout.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_rtsp_message_free">
<doc xml:space="preserve">Free the memory used by @msg.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_body" c:identifier="gst_rtsp_message_get_body">
<doc xml:space="preserve">Get the body of @msg. @data remains valid for as long as @msg is valid and
unchanged.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</instance-parameter>
<parameter name="data"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve">location for the data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
<parameter name="size"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location for the size of @data</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="get_header" c:identifier="gst_rtsp_message_get_header">
<doc xml:space="preserve">Get the @indx header value with key @field from @msg. The result in @value
stays valid as long as it remains present in @msg.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key
was not found.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</instance-parameter>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve">pointer to hold the result</doc>
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="indx" transfer-ownership="none">
<doc xml:space="preserve">the index of the header</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_header_by_name"
c:identifier="gst_rtsp_message_get_header_by_name"
version="1.6">
<doc xml:space="preserve">Get the @index header value with key @header from @msg. The result in @value
stays valid as long as it remains present in @msg.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key
was not found.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve">pointer to hold the result</doc>
<type name="utf8" c:type="gchar**"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve">the index of the header</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_type" c:identifier="gst_rtsp_message_get_type">
<doc xml:space="preserve">Get the message type of @msg.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the message type.</doc>
<type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
</parameters>
</method>
<method name="init" c:identifier="gst_rtsp_message_init">
<doc xml:space="preserve">Initialize @msg. This function is mostly used when @msg is allocated on the
stack. The reverse operation of this is gst_rtsp_message_unset().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
</parameters>
</method>
<method name="init_data" c:identifier="gst_rtsp_message_init_data">
<doc xml:space="preserve">Initialize a new data #GstRTSPMessage for @channel.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve">a channel</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</method>
<method name="init_request" c:identifier="gst_rtsp_message_init_request">
<doc xml:space="preserve">Initialize @msg as a request message with @method and @uri. To clear @msg
again, use gst_rtsp_message_unset().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">the request method to use</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve">the uri of the request</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</method>
<method name="init_response"
c:identifier="gst_rtsp_message_init_response">
<doc xml:space="preserve">Initialize @msg with @code and @reason.
When @reason is #NULL, the default reason for @code will be used.
When @request is not #NULL, the relevant headers will be copied to the new
response message.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="code" transfer-ownership="none">
<doc xml:space="preserve">the status code</doc>
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</parameter>
<parameter name="reason"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the status reason or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="request"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the request that triggered the response or %NULL</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</parameter>
</parameters>
</method>
<method name="parse_auth_credentials"
c:identifier="gst_rtsp_message_parse_auth_credentials"
version="1.12">
<doc xml:space="preserve">Parses the credentials given in a WWW-Authenticate or Authorization header.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL-terminated array of GstRTSPAuthCredential or %NULL.</doc>
<type name="RTSPAuthCredential" c:type="GstRTSPAuthCredential**"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
</parameters>
</method>
<method name="parse_data" c:identifier="gst_rtsp_message_parse_data">
<doc xml:space="preserve">Parse the data message @msg and store the channel in @channel.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="channel"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location to hold the channel</doc>
<type name="guint8" c:type="guint8*"/>
</parameter>
</parameters>
</method>
<method name="parse_request"
c:identifier="gst_rtsp_message_parse_request">
<doc xml:space="preserve">Parse the request message @msg and store the values @method, @uri and
@version. The result locations can be #NULL if one is not interested in its
value.
@uri remains valid for as long as @msg is valid and unchanged.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="method"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the method</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod*"/>
</parameter>
<parameter name="uri"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the uri</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
<parameter name="version"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the version</doc>
<type name="RTSPVersion" c:type="GstRTSPVersion*"/>
</parameter>
</parameters>
</method>
<method name="parse_response"
c:identifier="gst_rtsp_message_parse_response">
<doc xml:space="preserve">Parse the response message @msg and store the values @code, @reason and
@version. The result locations can be #NULL if one is not interested in its
value.
@reason remains valid for as long as @msg is valid and unchanged.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="code"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the status code</doc>
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode*"/>
</parameter>
<parameter name="reason"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the status reason</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
<parameter name="version"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location to hold the version</doc>
<type name="RTSPVersion" c:type="GstRTSPVersion*"/>
</parameter>
</parameters>
</method>
<method name="remove_header"
c:identifier="gst_rtsp_message_remove_header">
<doc xml:space="preserve">Remove the @indx header with key @field from @msg. If @indx equals -1, all
headers will be removed.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
<parameter name="indx" transfer-ownership="none">
<doc xml:space="preserve">the index of the header</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="remove_header_by_name"
c:identifier="gst_rtsp_message_remove_header_by_name"
version="1.6">
<doc xml:space="preserve">Remove the @index header with key @header from @msg. If @index equals -1,
all matching headers will be removed.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve">the header string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="index" transfer-ownership="none">
<doc xml:space="preserve">the index of the header</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_body" c:identifier="gst_rtsp_message_set_body">
<doc xml:space="preserve">Set the body of @msg to a copy of @data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve">the data</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="steal_body" c:identifier="gst_rtsp_message_steal_body">
<doc xml:space="preserve">Take the body of @msg and store it in @data and @size. After this method,
the body and size of @msg will be set to #NULL and 0 respectively.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="data"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location for the data</doc>
<array length="1" zero-terminated="0" c:type="guint8**">
<type name="guint8" c:type="guint8*"/>
</array>
</parameter>
<parameter name="size"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location for the size of @data</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="take_body" c:identifier="gst_rtsp_message_take_body">
<doc xml:space="preserve">Set the body of @msg to @data and @size. This method takes ownership of
@data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="full">
<doc xml:space="preserve">the data</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="take_header" c:identifier="gst_rtsp_message_take_header">
<doc xml:space="preserve">Add a header with key @field and @value to @msg. This function takes
ownership of @value.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
<parameter name="value" transfer-ownership="full">
<doc xml:space="preserve">the value of the header</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="take_header_by_name"
c:identifier="gst_rtsp_message_take_header_by_name"
version="1.6">
<doc xml:space="preserve">Add a header with key @header and @value to @msg. This function takes
ownership of @value, but not of @header.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve">a header string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="value" transfer-ownership="full">
<doc xml:space="preserve">the value of the header</doc>
<type name="utf8" c:type="gchar*"/>
</parameter>
</parameters>
</method>
<method name="unset" c:identifier="gst_rtsp_message_unset">
<doc xml:space="preserve">Unset the contents of @msg so that it becomes an uninitialized
#GstRTSPMessage again. This function is mostly used in combination with
gst_rtsp_message_init_request(), gst_rtsp_message_init_response() and
gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="msg" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</instance-parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_rtsp_message_new">
<doc xml:space="preserve">Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
</parameters>
</function>
<function name="new_data" c:identifier="gst_rtsp_message_new_data">
<doc xml:space="preserve">Create a new data #GstRTSPMessage with @channel and store the
result message in @msg. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve">the channel</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="new_request" c:identifier="gst_rtsp_message_new_request">
<doc xml:space="preserve">Create a new #GstRTSPMessage with @method and @uri and store the result
request message in @msg. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">the request method to use</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve">the uri of the request</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="new_response"
c:identifier="gst_rtsp_message_new_response">
<doc xml:space="preserve">Create a new response #GstRTSPMessage with @code and @reason and store the
result message in @msg. Free with gst_rtsp_message_free().
When @reason is #NULL, the default reason for @code will be used.
When @request is not #NULL, the relevant headers will be copied to the new
response message.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="code" transfer-ownership="none">
<doc xml:space="preserve">the status code</doc>
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</parameter>
<parameter name="reason"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the status reason or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="request"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the request that triggered the response or %NULL</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</parameter>
</parameters>
</function>
</record>
<bitfield name="RTSPMethod"
glib:type-name="GstRTSPMethod"
glib:get-type="gst_rtsp_method_get_type"
c:type="GstRTSPMethod">
<doc xml:space="preserve">The different supported RTSP methods.</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_INVALID"
glib:nick="invalid">
<doc xml:space="preserve">invalid method</doc>
</member>
<member name="describe"
value="1"
c:identifier="GST_RTSP_DESCRIBE"
glib:nick="describe">
<doc xml:space="preserve">the DESCRIBE method</doc>
</member>
<member name="announce"
value="2"
c:identifier="GST_RTSP_ANNOUNCE"
glib:nick="announce">
<doc xml:space="preserve">the ANNOUNCE method</doc>
</member>
<member name="get_parameter"
value="4"
c:identifier="GST_RTSP_GET_PARAMETER"
glib:nick="get-parameter">
<doc xml:space="preserve">the GET_PARAMETER method</doc>
</member>
<member name="options"
value="8"
c:identifier="GST_RTSP_OPTIONS"
glib:nick="options">
<doc xml:space="preserve">the OPTIONS method</doc>
</member>
<member name="pause"
value="16"
c:identifier="GST_RTSP_PAUSE"
glib:nick="pause">
<doc xml:space="preserve">the PAUSE method</doc>
</member>
<member name="play"
value="32"
c:identifier="GST_RTSP_PLAY"
glib:nick="play">
<doc xml:space="preserve">the PLAY method</doc>
</member>
<member name="record"
value="64"
c:identifier="GST_RTSP_RECORD"
glib:nick="record">
<doc xml:space="preserve">the RECORD method</doc>
</member>
<member name="redirect"
value="128"
c:identifier="GST_RTSP_REDIRECT"
glib:nick="redirect">
<doc xml:space="preserve">the REDIRECT method</doc>
</member>
<member name="setup"
value="256"
c:identifier="GST_RTSP_SETUP"
glib:nick="setup">
<doc xml:space="preserve">the SETUP method</doc>
</member>
<member name="set_parameter"
value="512"
c:identifier="GST_RTSP_SET_PARAMETER"
glib:nick="set-parameter">
<doc xml:space="preserve">the SET_PARAMETER method</doc>
</member>
<member name="teardown"
value="1024"
c:identifier="GST_RTSP_TEARDOWN"
glib:nick="teardown">
<doc xml:space="preserve">the TEARDOWN method</doc>
</member>
<member name="get"
value="2048"
c:identifier="GST_RTSP_GET"
glib:nick="get">
<doc xml:space="preserve">the GET method (HTTP).</doc>
</member>
<member name="post"
value="4096"
c:identifier="GST_RTSP_POST"
glib:nick="post">
<doc xml:space="preserve">the POST method (HTTP).</doc>
</member>
<function name="as_text" c:identifier="gst_rtsp_method_as_text">
<doc xml:space="preserve">Convert @method to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @method.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMethod</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
</parameters>
</function>
</bitfield>
<enumeration name="RTSPMsgType"
glib:type-name="GstRTSPMsgType"
glib:get-type="gst_rtsp_msg_type_get_type"
c:type="GstRTSPMsgType">
<doc xml:space="preserve">The type of a message.</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_MESSAGE_INVALID"
glib:nick="invalid">
<doc xml:space="preserve">invalid message type</doc>
</member>
<member name="request"
value="1"
c:identifier="GST_RTSP_MESSAGE_REQUEST"
glib:nick="request">
<doc xml:space="preserve">RTSP request message</doc>
</member>
<member name="response"
value="2"
c:identifier="GST_RTSP_MESSAGE_RESPONSE"
glib:nick="response">
<doc xml:space="preserve">RTSP response message</doc>
</member>
<member name="http_request"
value="3"
c:identifier="GST_RTSP_MESSAGE_HTTP_REQUEST"
glib:nick="http-request">
<doc xml:space="preserve">HTTP request message.</doc>
</member>
<member name="http_response"
value="4"
c:identifier="GST_RTSP_MESSAGE_HTTP_RESPONSE"
glib:nick="http-response">
<doc xml:space="preserve">HTTP response message.</doc>
</member>
<member name="data"
value="5"
c:identifier="GST_RTSP_MESSAGE_DATA"
glib:nick="data">
<doc xml:space="preserve">data message</doc>
</member>
</enumeration>
<bitfield name="RTSPProfile"
glib:type-name="GstRTSPProfile"
glib:get-type="gst_rtsp_profile_get_type"
c:type="GstRTSPProfile">
<doc xml:space="preserve">The transfer profile to use.</doc>
<member name="unknown"
value="0"
c:identifier="GST_RTSP_PROFILE_UNKNOWN"
glib:nick="unknown">
<doc xml:space="preserve">invalid profile</doc>
</member>
<member name="avp"
value="1"
c:identifier="GST_RTSP_PROFILE_AVP"
glib:nick="avp">
<doc xml:space="preserve">the Audio/Visual profile (RFC 3551)</doc>
</member>
<member name="savp"
value="2"
c:identifier="GST_RTSP_PROFILE_SAVP"
glib:nick="savp">
<doc xml:space="preserve">the secure Audio/Visual profile (RFC 3711)</doc>
</member>
<member name="avpf"
value="4"
c:identifier="GST_RTSP_PROFILE_AVPF"
glib:nick="avpf">
<doc xml:space="preserve">the Audio/Visual profile with feedback (RFC 4585)</doc>
</member>
<member name="savpf"
value="8"
c:identifier="GST_RTSP_PROFILE_SAVPF"
glib:nick="savpf">
<doc xml:space="preserve">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
</member>
</bitfield>
<record name="RTSPRange" c:type="GstRTSPRange">
<doc xml:space="preserve">Provides helper functions to deal with time ranges.</doc>
<field name="min" writable="1">
<doc xml:space="preserve">minimum value of the range</doc>
<type name="gint" c:type="gint"/>
</field>
<field name="max" writable="1">
<doc xml:space="preserve">maximum value of the range</doc>
<type name="gint" c:type="gint"/>
</field>
<function name="convert_units"
c:identifier="gst_rtsp_range_convert_units">
<doc xml:space="preserve">Converts the range in-place between different types of units.
Ranges containing the special value #GST_RTSP_TIME_NOW can not be
converted as these are only valid for #GST_RTSP_RANGE_NPT.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the range could be converted</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<doc xml:space="preserve">the unit to convert the range into</doc>
<type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
</parameter>
</parameters>
</function>
<function name="free" c:identifier="gst_rtsp_range_free">
<doc xml:space="preserve">Free the memory allocated by @range.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
</parameter>
</parameters>
</function>
<function name="get_times"
c:identifier="gst_rtsp_range_get_times"
version="1.2">
<doc xml:space="preserve">Retrieve the minimum and maximum values from @range converted to
#GstClockTime in @min and @max.
A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW
and #GST_RTSP_TIME_END for @min and @max respectively.
UTC times will be converted to nanoseconds since 1900.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
</parameter>
<parameter name="min" transfer-ownership="none">
<doc xml:space="preserve">result minimum #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<doc xml:space="preserve">result maximum #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
</parameters>
</function>
<function name="parse" c:identifier="gst_rtsp_range_parse">
<doc xml:space="preserve">Parse @rangestr to a #GstRTSPTimeRange.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="rangestr" transfer-ownership="none">
<doc xml:space="preserve">a range string to parse</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">location to hold the #GstRTSPTimeRange result</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
</parameter>
</parameters>
</function>
<function name="to_string" c:identifier="gst_rtsp_range_to_string">
<doc xml:space="preserve">Convert @range into a string representation.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">The string representation of @range. g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="RTSPRangeUnit"
glib:type-name="GstRTSPRangeUnit"
glib:get-type="gst_rtsp_range_unit_get_type"
c:type="GstRTSPRangeUnit">
<doc xml:space="preserve">Different possible time range units.</doc>
<member name="smpte"
value="0"
c:identifier="GST_RTSP_RANGE_SMPTE"
glib:nick="smpte">
<doc xml:space="preserve">SMPTE timecode</doc>
</member>
<member name="smpte_30_drop"
value="1"
c:identifier="GST_RTSP_RANGE_SMPTE_30_DROP"
glib:nick="smpte-30-drop">
<doc xml:space="preserve">29.97 frames per second</doc>
</member>
<member name="smpte_25"
value="2"
c:identifier="GST_RTSP_RANGE_SMPTE_25"
glib:nick="smpte-25">
<doc xml:space="preserve">25 frames per second</doc>
</member>
<member name="npt"
value="3"
c:identifier="GST_RTSP_RANGE_NPT"
glib:nick="npt">
<doc xml:space="preserve">Normal play time</doc>
</member>
<member name="clock"
value="4"
c:identifier="GST_RTSP_RANGE_CLOCK"
glib:nick="clock">
<doc xml:space="preserve">Absolute time expressed as ISO 8601 timestamps</doc>
</member>
</enumeration>
<enumeration name="RTSPResult"
glib:type-name="GstRTSPResult"
glib:get-type="gst_rtsp_result_get_type"
c:type="GstRTSPResult">
<doc xml:space="preserve">Result codes from the RTSP functions.</doc>
<member name="ok" value="0" c:identifier="GST_RTSP_OK" glib:nick="ok">
<doc xml:space="preserve">no error</doc>
</member>
<member name="error"
value="-1"
c:identifier="GST_RTSP_ERROR"
glib:nick="error">
<doc xml:space="preserve">some unspecified error occured</doc>
</member>
<member name="einval"
value="-2"
c:identifier="GST_RTSP_EINVAL"
glib:nick="einval">
<doc xml:space="preserve">invalid arguments were provided to a function</doc>
</member>
<member name="eintr"
value="-3"
c:identifier="GST_RTSP_EINTR"
glib:nick="eintr">
<doc xml:space="preserve">an operation was canceled</doc>
</member>
<member name="enomem"
value="-4"
c:identifier="GST_RTSP_ENOMEM"
glib:nick="enomem">
<doc xml:space="preserve">no memory was available for the operation</doc>
</member>
<member name="eresolv"
value="-5"
c:identifier="GST_RTSP_ERESOLV"
glib:nick="eresolv">
<doc xml:space="preserve">a host resolve error occured</doc>
</member>
<member name="enotimpl"
value="-6"
c:identifier="GST_RTSP_ENOTIMPL"
glib:nick="enotimpl">
<doc xml:space="preserve">function not implemented</doc>
</member>
<member name="esys"
value="-7"
c:identifier="GST_RTSP_ESYS"
glib:nick="esys">
<doc xml:space="preserve">a system error occured, errno contains more details</doc>
</member>
<member name="eparse"
value="-8"
c:identifier="GST_RTSP_EPARSE"
glib:nick="eparse">
<doc xml:space="preserve">a persing error occured</doc>
</member>
<member name="ewsastart"
value="-9"
c:identifier="GST_RTSP_EWSASTART"
glib:nick="ewsastart">
<doc xml:space="preserve">windows networking could not start</doc>
</member>
<member name="ewsaversion"
value="-10"
c:identifier="GST_RTSP_EWSAVERSION"
glib:nick="ewsaversion">
<doc xml:space="preserve">windows networking stack has wrong version</doc>
</member>
<member name="eeof"
value="-11"
c:identifier="GST_RTSP_EEOF"
glib:nick="eeof">
<doc xml:space="preserve">end-of-file was reached</doc>
</member>
<member name="enet"
value="-12"
c:identifier="GST_RTSP_ENET"
glib:nick="enet">
<doc xml:space="preserve">a network problem occured, h_errno contains more details</doc>
</member>
<member name="enotip"
value="-13"
c:identifier="GST_RTSP_ENOTIP"
glib:nick="enotip">
<doc xml:space="preserve">the host is not an IP host</doc>
</member>
<member name="etimeout"
value="-14"
c:identifier="GST_RTSP_ETIMEOUT"
glib:nick="etimeout">
<doc xml:space="preserve">a timeout occured</doc>
</member>
<member name="etget"
value="-15"
c:identifier="GST_RTSP_ETGET"
glib:nick="etget">
<doc xml:space="preserve">the tunnel GET request has been performed</doc>
</member>
<member name="etpost"
value="-16"
c:identifier="GST_RTSP_ETPOST"
glib:nick="etpost">
<doc xml:space="preserve">the tunnel POST request has been performed</doc>
</member>
<member name="elast"
value="-17"
c:identifier="GST_RTSP_ELAST"
glib:nick="elast">
<doc xml:space="preserve">last error</doc>
</member>
</enumeration>
<enumeration name="RTSPState"
glib:type-name="GstRTSPState"
glib:get-type="gst_rtsp_state_get_type"
c:type="GstRTSPState">
<doc xml:space="preserve">The different RTSP states.</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_STATE_INVALID"
glib:nick="invalid">
<doc xml:space="preserve">invalid state</doc>
</member>
<member name="init"
value="1"
c:identifier="GST_RTSP_STATE_INIT"
glib:nick="init">
<doc xml:space="preserve">initializing</doc>
</member>
<member name="ready"
value="2"
c:identifier="GST_RTSP_STATE_READY"
glib:nick="ready">
<doc xml:space="preserve">ready for operation</doc>
</member>
<member name="seeking"
value="3"
c:identifier="GST_RTSP_STATE_SEEKING"
glib:nick="seeking">
<doc xml:space="preserve">seeking in progress</doc>
</member>
<member name="playing"
value="4"
c:identifier="GST_RTSP_STATE_PLAYING"
glib:nick="playing">
<doc xml:space="preserve">playing</doc>
</member>
<member name="recording"
value="5"
c:identifier="GST_RTSP_STATE_RECORDING"
glib:nick="recording">
<doc xml:space="preserve">recording</doc>
</member>
</enumeration>
<enumeration name="RTSPStatusCode"
glib:type-name="GstRTSPStatusCode"
glib:get-type="gst_rtsp_status_code_get_type"
c:type="GstRTSPStatusCode">
<doc xml:space="preserve">Enumeration of rtsp status codes</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_STS_INVALID"
glib:nick="invalid">
</member>
<member name="continue"
value="100"
c:identifier="GST_RTSP_STS_CONTINUE"
glib:nick="continue">
</member>
<member name="ok"
value="200"
c:identifier="GST_RTSP_STS_OK"
glib:nick="ok">
</member>
<member name="created"
value="201"
c:identifier="GST_RTSP_STS_CREATED"
glib:nick="created">
</member>
<member name="low_on_storage"
value="250"
c:identifier="GST_RTSP_STS_LOW_ON_STORAGE"
glib:nick="low-on-storage">
</member>
<member name="multiple_choices"
value="300"
c:identifier="GST_RTSP_STS_MULTIPLE_CHOICES"
glib:nick="multiple-choices">
</member>
<member name="moved_permanently"
value="301"
c:identifier="GST_RTSP_STS_MOVED_PERMANENTLY"
glib:nick="moved-permanently">
</member>
<member name="move_temporarily"
value="302"
c:identifier="GST_RTSP_STS_MOVE_TEMPORARILY"
glib:nick="move-temporarily">
</member>
<member name="see_other"
value="303"
c:identifier="GST_RTSP_STS_SEE_OTHER"
glib:nick="see-other">
</member>
<member name="not_modified"
value="304"
c:identifier="GST_RTSP_STS_NOT_MODIFIED"
glib:nick="not-modified">
</member>
<member name="use_proxy"
value="305"
c:identifier="GST_RTSP_STS_USE_PROXY"
glib:nick="use-proxy">
</member>
<member name="bad_request"
value="400"
c:identifier="GST_RTSP_STS_BAD_REQUEST"
glib:nick="bad-request">
</member>
<member name="unauthorized"
value="401"
c:identifier="GST_RTSP_STS_UNAUTHORIZED"
glib:nick="unauthorized">
</member>
<member name="payment_required"
value="402"
c:identifier="GST_RTSP_STS_PAYMENT_REQUIRED"
glib:nick="payment-required">
</member>
<member name="forbidden"
value="403"
c:identifier="GST_RTSP_STS_FORBIDDEN"
glib:nick="forbidden">
</member>
<member name="not_found"
value="404"
c:identifier="GST_RTSP_STS_NOT_FOUND"
glib:nick="not-found">
</member>
<member name="method_not_allowed"
value="405"
c:identifier="GST_RTSP_STS_METHOD_NOT_ALLOWED"
glib:nick="method-not-allowed">
</member>
<member name="not_acceptable"
value="406"
c:identifier="GST_RTSP_STS_NOT_ACCEPTABLE"
glib:nick="not-acceptable">
</member>
<member name="proxy_auth_required"
value="407"
c:identifier="GST_RTSP_STS_PROXY_AUTH_REQUIRED"
glib:nick="proxy-auth-required">
</member>
<member name="request_timeout"
value="408"
c:identifier="GST_RTSP_STS_REQUEST_TIMEOUT"
glib:nick="request-timeout">
</member>
<member name="gone"
value="410"
c:identifier="GST_RTSP_STS_GONE"
glib:nick="gone">
</member>
<member name="length_required"
value="411"
c:identifier="GST_RTSP_STS_LENGTH_REQUIRED"
glib:nick="length-required">
</member>
<member name="precondition_failed"
value="412"
c:identifier="GST_RTSP_STS_PRECONDITION_FAILED"
glib:nick="precondition-failed">
</member>
<member name="request_entity_too_large"
value="413"
c:identifier="GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE"
glib:nick="request-entity-too-large">
</member>
<member name="request_uri_too_large"
value="414"
c:identifier="GST_RTSP_STS_REQUEST_URI_TOO_LARGE"
glib:nick="request-uri-too-large">
</member>
<member name="unsupported_media_type"
value="415"
c:identifier="GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE"
glib:nick="unsupported-media-type">
</member>
<member name="parameter_not_understood"
value="451"
c:identifier="GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD"
glib:nick="parameter-not-understood">
</member>
<member name="conference_not_found"
value="452"
c:identifier="GST_RTSP_STS_CONFERENCE_NOT_FOUND"
glib:nick="conference-not-found">
</member>
<member name="not_enough_bandwidth"
value="453"
c:identifier="GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH"
glib:nick="not-enough-bandwidth">
</member>
<member name="session_not_found"
value="454"
c:identifier="GST_RTSP_STS_SESSION_NOT_FOUND"
glib:nick="session-not-found">
</member>
<member name="method_not_valid_in_this_state"
value="455"
c:identifier="GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE"
glib:nick="method-not-valid-in-this-state">
</member>
<member name="header_field_not_valid_for_resource"
value="456"
c:identifier="GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE"
glib:nick="header-field-not-valid-for-resource">
</member>
<member name="invalid_range"
value="457"
c:identifier="GST_RTSP_STS_INVALID_RANGE"
glib:nick="invalid-range">
</member>
<member name="parameter_is_readonly"
value="458"
c:identifier="GST_RTSP_STS_PARAMETER_IS_READONLY"
glib:nick="parameter-is-readonly">
</member>
<member name="aggregate_operation_not_allowed"
value="459"
c:identifier="GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED"
glib:nick="aggregate-operation-not-allowed">
</member>
<member name="only_aggregate_operation_allowed"
value="460"
c:identifier="GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED"
glib:nick="only-aggregate-operation-allowed">
</member>
<member name="unsupported_transport"
value="461"
c:identifier="GST_RTSP_STS_UNSUPPORTED_TRANSPORT"
glib:nick="unsupported-transport">
</member>
<member name="destination_unreachable"
value="462"
c:identifier="GST_RTSP_STS_DESTINATION_UNREACHABLE"
glib:nick="destination-unreachable">
</member>
<member name="key_management_failure"
value="463"
c:identifier="GST_RTSP_STS_KEY_MANAGEMENT_FAILURE"
glib:nick="key-management-failure">
</member>
<member name="internal_server_error"
value="500"
c:identifier="GST_RTSP_STS_INTERNAL_SERVER_ERROR"
glib:nick="internal-server-error">
</member>
<member name="not_implemented"
value="501"
c:identifier="GST_RTSP_STS_NOT_IMPLEMENTED"
glib:nick="not-implemented">
</member>
<member name="bad_gateway"
value="502"
c:identifier="GST_RTSP_STS_BAD_GATEWAY"
glib:nick="bad-gateway">
</member>
<member name="service_unavailable"
value="503"
c:identifier="GST_RTSP_STS_SERVICE_UNAVAILABLE"
glib:nick="service-unavailable">
</member>
<member name="gateway_timeout"
value="504"
c:identifier="GST_RTSP_STS_GATEWAY_TIMEOUT"
glib:nick="gateway-timeout">
</member>
<member name="rtsp_version_not_supported"
value="505"
c:identifier="GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED"
glib:nick="rtsp-version-not-supported">
</member>
<member name="option_not_supported"
value="551"
c:identifier="GST_RTSP_STS_OPTION_NOT_SUPPORTED"
glib:nick="option-not-supported">
</member>
</enumeration>
<record name="RTSPTime" c:type="GstRTSPTime">
<doc xml:space="preserve">A time indication.</doc>
<field name="type" writable="1">
<doc xml:space="preserve">the time of the time</doc>
<type name="RTSPTimeType" c:type="GstRTSPTimeType"/>
</field>
<field name="seconds" writable="1">
<doc xml:space="preserve">seconds when @type is GST_RTSP_TIME_SECONDS,
GST_RTSP_TIME_UTC and GST_RTSP_TIME_FRAMES</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
</record>
<record name="RTSPTime2" c:type="GstRTSPTime2" version="1.2">
<doc xml:space="preserve">Extra fields for a time indication.</doc>
<field name="frames" writable="1">
<doc xml:space="preserve">frames and subframes when type in GstRTSPTime is
GST_RTSP_TIME_FRAMES</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="year" writable="1">
<doc xml:space="preserve">year when type is GST_RTSP_TIME_UTC</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="month" writable="1">
<doc xml:space="preserve">month when type is GST_RTSP_TIME_UTC</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="day" writable="1">
<doc xml:space="preserve">day when type is GST_RTSP_TIME_UTC</doc>
<type name="guint" c:type="guint"/>
</field>
</record>
<record name="RTSPTimeRange" c:type="GstRTSPTimeRange">
<doc xml:space="preserve">A time range.</doc>
<field name="unit" writable="1">
<doc xml:space="preserve">the time units used</doc>
<type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
</field>
<field name="min" writable="1">
<doc xml:space="preserve">the minimum interval</doc>
<type name="RTSPTime" c:type="GstRTSPTime"/>
</field>
<field name="max" writable="1">
<doc xml:space="preserve">the maximum interval</doc>
<type name="RTSPTime" c:type="GstRTSPTime"/>
</field>
<field name="min2" writable="1">
<doc xml:space="preserve">extra fields in the minimum interval (Since: 1.2)</doc>
<type name="RTSPTime2" c:type="GstRTSPTime2"/>
</field>
<field name="max2" writable="1">
<doc xml:space="preserve">extra fields in the maximum interval (Since: 1.2)</doc>
<type name="RTSPTime2" c:type="GstRTSPTime2"/>
</field>
</record>
<enumeration name="RTSPTimeType"
glib:type-name="GstRTSPTimeType"
glib:get-type="gst_rtsp_time_type_get_type"
c:type="GstRTSPTimeType">
<doc xml:space="preserve">Possible time types.</doc>
<member name="seconds"
value="0"
c:identifier="GST_RTSP_TIME_SECONDS"
glib:nick="seconds">
<doc xml:space="preserve">seconds</doc>
</member>
<member name="now"
value="1"
c:identifier="GST_RTSP_TIME_NOW"
glib:nick="now">
<doc xml:space="preserve">now</doc>
</member>
<member name="end"
value="2"
c:identifier="GST_RTSP_TIME_END"
glib:nick="end">
<doc xml:space="preserve">end</doc>
</member>
<member name="frames"
value="3"
c:identifier="GST_RTSP_TIME_FRAMES"
glib:nick="frames">
<doc xml:space="preserve">frames and subframes</doc>
</member>
<member name="utc"
value="4"
c:identifier="GST_RTSP_TIME_UTC"
glib:nick="utc">
<doc xml:space="preserve">UTC time</doc>
</member>
</enumeration>
<bitfield name="RTSPTransMode"
glib:type-name="GstRTSPTransMode"
glib:get-type="gst_rtsp_trans_mode_get_type"
c:type="GstRTSPTransMode">
<doc xml:space="preserve">The transfer mode to use.</doc>
<member name="unknown"
value="0"
c:identifier="GST_RTSP_TRANS_UNKNOWN"
glib:nick="unknown">
<doc xml:space="preserve">invalid tansport mode</doc>
</member>
<member name="rtp"
value="1"
c:identifier="GST_RTSP_TRANS_RTP"
glib:nick="rtp">
<doc xml:space="preserve">transfer RTP data</doc>
</member>
<member name="rdt"
value="2"
c:identifier="GST_RTSP_TRANS_RDT"
glib:nick="rdt">
<doc xml:space="preserve">transfer RDT (RealMedia) data</doc>
</member>
</bitfield>
<record name="RTSPTransport" c:type="GstRTSPTransport">
<doc xml:space="preserve">Provides helper functions to deal with RTSP transport strings.</doc>
<field name="trans" writable="1">
<doc xml:space="preserve">the transport mode</doc>
<type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
</field>
<field name="profile" writable="1">
<doc xml:space="preserve">the tansport profile</doc>
<type name="RTSPProfile" c:type="GstRTSPProfile"/>
</field>
<field name="lower_transport" writable="1">
<doc xml:space="preserve">the lower transport</doc>
<type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
</field>
<field name="destination" writable="1">
<doc xml:space="preserve">the destination ip/hostname</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="source" writable="1">
<doc xml:space="preserve">the source ip/hostname</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="layers" writable="1">
<doc xml:space="preserve">the number of layers</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="mode_play" writable="1">
<doc xml:space="preserve">if play mode was selected</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="mode_record" writable="1">
<doc xml:space="preserve">if record mode was selected</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="append" writable="1">
<doc xml:space="preserve">is append mode was selected</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="interleaved" writable="1">
<doc xml:space="preserve">the interleave range</doc>
<type name="RTSPRange" c:type="GstRTSPRange"/>
</field>
<field name="ttl" writable="1">
<doc xml:space="preserve">the time to live for multicast UDP</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="port" writable="1">
<doc xml:space="preserve">the port pair for multicast sessions</doc>
<type name="RTSPRange" c:type="GstRTSPRange"/>
</field>
<field name="client_port" writable="1">
<doc xml:space="preserve">the client port pair for receiving data. For TCP
based transports, applications can use this field to store the
sender and receiver ports of the client.</doc>
<type name="RTSPRange" c:type="GstRTSPRange"/>
</field>
<field name="server_port" writable="1">
<doc xml:space="preserve">the server port pair for receiving data. For TCP
based transports, applications can use this field to store the
sender and receiver ports of the server.</doc>
<type name="RTSPRange" c:type="GstRTSPRange"/>
</field>
<field name="ssrc" writable="1">
<doc xml:space="preserve">the ssrc that the sender/receiver will use</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="as_text" c:identifier="gst_rtsp_transport_as_text">
<doc xml:space="preserve">Convert @transport into a string that can be used to signal the transport in
an RTSP SETUP response.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string describing the RTSP transport or #NULL when the transport
is invalid.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_rtsp_transport_free">
<doc xml:space="preserve">Free the memory used by @transport.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_media_type"
c:identifier="gst_rtsp_transport_get_media_type"
version="1.4">
<doc xml:space="preserve">Get the media type of @transport. This media type is typically
used to generate #GstCaps events.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</instance-parameter>
<parameter name="media_type"
direction="out"
caller-allocates="0"
transfer-ownership="none">
<doc xml:space="preserve">media type of @transport</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
</parameters>
</method>
<method name="init" c:identifier="gst_rtsp_transport_init">
<doc xml:space="preserve">Initialize @transport so that it can be used.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</instance-parameter>
</parameters>
</method>
<function name="get_manager"
c:identifier="gst_rtsp_transport_get_manager">
<doc xml:space="preserve">Get the #GstElement that can handle the buffers transported over @trans.
It is possible that there are several managers available, use @option to
selected one.
@manager will contain an element name or #NULL when no manager is
needed/available for @trans.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="trans" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransMode</doc>
<type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
</parameter>
<parameter name="manager" transfer-ownership="none">
<doc xml:space="preserve">location to hold the result</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
<parameter name="option" transfer-ownership="none">
<doc xml:space="preserve">option index.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="get_mime"
c:identifier="gst_rtsp_transport_get_mime"
deprecated="1">
<doc xml:space="preserve">Get the mime type of the transport mode @trans. This mime type is typically
used to generate #GstCaps events.</doc>
<doc-deprecated xml:space="preserve">This functions only deals with the GstRTSPTransMode and only
returns the mime type for #GST_RTSP_PROFILE_AVP. Use
gst_rtsp_transport_get_media_type() instead.</doc-deprecated>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="trans" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransMode</doc>
<type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
</parameter>
<parameter name="mime" transfer-ownership="none">
<doc xml:space="preserve">location to hold the result</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
</parameters>
</function>
<function name="new" c:identifier="gst_rtsp_transport_new">
<doc xml:space="preserve">Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
after usage.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">location to hold the new #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport**"/>
</parameter>
</parameters>
</function>
<function name="parse" c:identifier="gst_rtsp_transport_parse">
<doc xml:space="preserve">Parse the RTSP transport string @str into @transport.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve">a transport string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</parameter>
</parameters>
</function>
</record>
<record name="RTSPUrl"
c:type="GstRTSPUrl"
glib:type-name="GstRTSPUrl"
glib:get-type="gst_rtsp_url_get_type"
c:symbol-prefix="rtsp_url">
<doc xml:space="preserve">Provides helper functions to handle RTSP urls.</doc>
<field name="transports" writable="1">
<doc xml:space="preserve">the transports allowed</doc>
<type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
</field>
<field name="family" writable="1">
<doc xml:space="preserve">the family</doc>
<type name="RTSPFamily" c:type="GstRTSPFamily"/>
</field>
<field name="user" writable="1">
<doc xml:space="preserve">the user</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="passwd" writable="1">
<doc xml:space="preserve">the password</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="host" writable="1">
<doc xml:space="preserve">the host</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="port" writable="1">
<doc xml:space="preserve">the port</doc>
<type name="guint16" c:type="guint16"/>
</field>
<field name="abspath" writable="1">
<doc xml:space="preserve">the absolute path</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="query" writable="1">
<doc xml:space="preserve">additional query parameters</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<method name="copy" c:identifier="gst_rtsp_url_copy">
<doc xml:space="preserve">Make a copy of @url.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a copy of @url. Free with gst_rtsp_url_free () after usage.</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</instance-parameter>
</parameters>
</method>
<method name="decode_path_components"
c:identifier="gst_rtsp_url_decode_path_components">
<doc xml:space="preserve">Splits the path of @url on '/' boundaries, decoding the resulting components,
The decoding performed by this routine is "URI decoding", as defined in RFC
3986, commonly known as percent-decoding. For example, a string "foo\%2fbar"
will decode to "foo/bar" -- the \%2f being replaced by the corresponding byte
with hex value 0x2f. Note that there is no guarantee that the resulting byte
sequence is valid in any given encoding. As a special case, \%00 is not
unescaped to NUL, as that would prematurely terminate the string.
Also note that since paths usually start with a slash, the first component
will usually be the empty string.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">%NULL-terminated array of URL components. Free with
g_strfreev() when no longer needed.</doc>
<array c:type="gchar**">
<type name="utf8"/>
</array>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_rtsp_url_free">
<doc xml:space="preserve">Free the memory used by @url.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_port" c:identifier="gst_rtsp_url_get_port">
<doc xml:space="preserve">Get the port number of @url.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</instance-parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">location to hold the port</doc>
<type name="guint16" c:type="guint16*"/>
</parameter>
</parameters>
</method>
<method name="get_request_uri"
c:identifier="gst_rtsp_url_get_request_uri">
<doc xml:space="preserve">Get a newly allocated string describing the request URI for @url.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a string with the request URI. g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_port" c:identifier="gst_rtsp_url_set_port">
<doc xml:space="preserve">Set the port number in @url to @port.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl*"/>
</instance-parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">the port</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
</parameters>
</method>
<function name="parse" c:identifier="gst_rtsp_url_parse">
<doc xml:space="preserve">Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
with gst_rtsp_url_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="urlstr" transfer-ownership="none">
<doc xml:space="preserve">the url string to parse</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="url"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location to hold the result.</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl**"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="RTSPVersion"
glib:type-name="GstRTSPVersion"
glib:get-type="gst_rtsp_version_get_type"
c:type="GstRTSPVersion">
<doc xml:space="preserve">The supported RTSP versions.</doc>
<member name="invalid"
value="0"
c:identifier="GST_RTSP_VERSION_INVALID"
glib:nick="invalid">
<doc xml:space="preserve">unknown/invalid version</doc>
</member>
<member name="1_0"
value="16"
c:identifier="GST_RTSP_VERSION_1_0"
glib:nick="1-0">
<doc xml:space="preserve">version 1.0</doc>
</member>
<member name="1_1"
value="17"
c:identifier="GST_RTSP_VERSION_1_1"
glib:nick="1-1">
<doc xml:space="preserve">version 1.1.</doc>
</member>
<function name="as_text" c:identifier="gst_rtsp_version_as_text">
<doc xml:space="preserve">Convert @version to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @version.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="version" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPVersion</doc>
<type name="RTSPVersion" c:type="GstRTSPVersion"/>
</parameter>
</parameters>
</function>
</enumeration>
<record name="RTSPWatch" c:type="GstRTSPWatch" disguised="1">
<doc xml:space="preserve">Opaque RTSP watch object that can be used for asynchronous RTSP
operations.</doc>
<method name="attach" c:identifier="gst_rtsp_watch_attach">
<doc xml:space="preserve">Adds a #GstRTSPWatch to a context so that it will be executed within that context.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the ID (greater than 0) for the watch within the GMainContext.</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="context" transfer-ownership="none">
<doc xml:space="preserve">a GMainContext (if NULL, the default context will be used)</doc>
<type name="GLib.MainContext" c:type="GMainContext*"/>
</parameter>
</parameters>
</method>
<method name="get_send_backlog"
c:identifier="gst_rtsp_watch_get_send_backlog"
version="1.2">
<doc xml:space="preserve">Get the maximum amount of bytes and messages that will be queued in @watch.
See gst_rtsp_watch_set_send_backlog().</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="bytes"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">maximum bytes</doc>
<type name="gsize" c:type="gsize*"/>
</parameter>
<parameter name="messages"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">maximum messages</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="reset" c:identifier="gst_rtsp_watch_reset">
<doc xml:space="preserve">Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel()
when the file descriptors of the connection might have changed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
</parameters>
</method>
<method name="send_message" c:identifier="gst_rtsp_watch_send_message">
<doc xml:space="preserve">Send a @message using the connection of the @watch. If it cannot be sent
immediately, it will be queued for transmission in @watch. The contents of
@message will then be serialized and transmitted when the connection of the
@watch becomes writable. In case the @message is queued, the ID returned in
@id will be non-zero and used as the ID argument in the message_sent
callback.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="message" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="id"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location for a message ID or %NULL</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<method name="set_flushing"
c:identifier="gst_rtsp_watch_set_flushing"
version="1.4">
<doc xml:space="preserve">When @flushing is %TRUE, abort a call to gst_rtsp_watch_wait_backlog()
and make sure gst_rtsp_watch_write_data() returns immediately with
#GST_RTSP_EINTR. And empty the queue.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="flushing" transfer-ownership="none">
<doc xml:space="preserve">new flushing state</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_send_backlog"
c:identifier="gst_rtsp_watch_set_send_backlog"
version="1.2">
<doc xml:space="preserve">Set the maximum amount of bytes and messages that will be queued in @watch.
When the maximum amounts are exceeded, gst_rtsp_watch_write_data() and
gst_rtsp_watch_send_message() will return #GST_RTSP_ENOMEM.
A value of 0 for @bytes or @messages means no limits.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="bytes" transfer-ownership="none">
<doc xml:space="preserve">maximum bytes</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="messages" transfer-ownership="none">
<doc xml:space="preserve">maximum messages</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="unref" c:identifier="gst_rtsp_watch_unref">
<doc xml:space="preserve">Decreases the reference count of @watch by one. If the resulting reference
count is zero the watch and associated memory will be destroyed.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
</parameters>
</method>
<method name="wait_backlog"
c:identifier="gst_rtsp_watch_wait_backlog"
version="1.4">
<doc xml:space="preserve">Wait until there is place in the backlog queue, @timeout is reached
or @watch is set to flushing.
If @timeout is %NULL this function can block forever. If @timeout
contains a valid timeout, this function will return %GST_RTSP_ETIMEOUT
after the timeout expired.
The typically use of this function is when gst_rtsp_watch_write_data
returns %GST_RTSP_ENOMEM. The caller then calls this function to wait for
free space in the backlog queue and try again.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%GST_RTSP_OK when if there is room in queue.
%GST_RTSP_ETIMEOUT when @timeout was reached.
%GST_RTSP_EINTR when @watch is flushing
%GST_RTSP_EINVAL when called with invalid parameters.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:space="preserve">a #GTimeVal timeout</doc>
<type name="GLib.TimeVal" c:type="GTimeVal*"/>
</parameter>
</parameters>
</method>
<method name="write_data" c:identifier="gst_rtsp_watch_write_data">
<doc xml:space="preserve">Write @data using the connection of the @watch. If it cannot be sent
immediately, it will be queued for transmission in @watch. The contents of
@message will then be serialized and transmitted when the connection of the
@watch becomes writable. In case the @message is queued, the ID returned in
@id will be non-zero and used as the ID argument in the message_sent
callback.
This function will take ownership of @data and g_free() it after use.
If the amount of queued data exceeds the limits set with
gst_rtsp_watch_set_send_backlog(), this function will return
#GST_RTSP_ENOMEM.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success. #GST_RTSP_ENOMEM when the backlog limits
are reached. #GST_RTSP_EINTR when @watch was flushing.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<instance-parameter name="watch" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPWatch</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</instance-parameter>
<parameter name="data" transfer-ownership="full">
<doc xml:space="preserve">the data to queue</doc>
<array length="1" zero-terminated="0" c:type="guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">the size of @data</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="id"
direction="out"
caller-allocates="0"
transfer-ownership="full"
optional="1"
allow-none="1">
<doc xml:space="preserve">location for a message ID or %NULL</doc>
<type name="guint" c:type="guint*"/>
</parameter>
</parameters>
</method>
<function name="new"
c:identifier="gst_rtsp_watch_new"
introspectable="0">
<doc xml:space="preserve">Create a watch object for @conn. The functions provided in @funcs will be
called with @user_data when activity happened on the watch.
The new watch is usually created so that it can be attached to a
maincontext with gst_rtsp_watch_attach().
@conn must exist for the entire lifetime of the watch.</doc>
<return-value>
<doc xml:space="preserve">a #GstRTSPWatch that can be used for asynchronous RTSP
communication. Free with gst_rtsp_watch_unref () after usage.</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</return-value>
<parameters>
<parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</parameter>
<parameter name="funcs" transfer-ownership="none">
<doc xml:space="preserve">watch functions</doc>
<type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">user data to pass to @funcs</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="async">
<doc xml:space="preserve">notify when @user_data is not referenced anymore</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
</record>
<record name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs">
<doc xml:space="preserve">Callback functions from a #GstRTSPWatch.</doc>
<field name="message_received">
<callback name="message_received">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="message" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="2">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="message_sent">
<callback name="message_sent">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="2">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="closed">
<callback name="closed">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="error">
<callback name="error">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="result" transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="2">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tunnel_start">
<callback name="tunnel_start">
<return-value transfer-ownership="none">
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tunnel_complete">
<callback name="tunnel_complete">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="error_full">
<callback name="error_full">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="result" transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</parameter>
<parameter name="message" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="id" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="4">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tunnel_lost">
<callback name="tunnel_lost">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="tunnel_http_response">
<callback name="tunnel_http_response">
<return-value transfer-ownership="none">
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="watch" transfer-ownership="none">
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</parameter>
<parameter name="request" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="response" transfer-ownership="none">
<type name="RTSPMessage" c:type="GstRTSPMessage*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="3">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" c:type="gpointer" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<constant name="RTSP_DEFAULT_PORT"
value="554"
c:type="GST_RTSP_DEFAULT_PORT">
<doc xml:space="preserve">The default RTSP port to connect to.</doc>
<type name="gint" c:type="gint"/>
</constant>
<function name="rtsp_auth_credentials_free"
c:identifier="gst_rtsp_auth_credentials_free"
version="1.12">
<doc xml:space="preserve">Free a %NULL-terminated array of credentials returned from
gst_rtsp_message_parse_auth_credentials().</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="credentials" transfer-ownership="none">
<doc xml:space="preserve">a %NULL-terminated array of #GstRTSPAuthCredential</doc>
<type name="RTSPAuthCredential" c:type="GstRTSPAuthCredential**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_connection_accept"
c:identifier="gst_rtsp_connection_accept"
moved-to="RTSPConnection.accept">
<doc xml:space="preserve">Accept a new connection on @socket and create a new #GstRTSPConnection for
handling communication on new socket.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">a socket</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">a #GCancellable to cancel the operation</doc>
<type name="Gio.Cancellable" c:type="GCancellable*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_connection_create"
c:identifier="gst_rtsp_connection_create"
moved-to="RTSPConnection.create">
<doc xml:space="preserve">Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
The connection will not yet attempt to connect to @url, use
gst_rtsp_connection_connect().
A copy of @url will be made.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="url" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPUrl</doc>
<type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_connection_create_from_socket"
c:identifier="gst_rtsp_connection_create_from_socket"
moved-to="RTSPConnection.create_from_socket">
<doc xml:space="preserve">Create a new #GstRTSPConnection for handling communication on the existing
socket @socket. The @initial_buffer contains zero terminated data already
read from @socket which should be used before starting to read new data.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK when @conn contains a valid connection.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">a #GSocket</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="ip" transfer-ownership="none">
<doc xml:space="preserve">the IP address of the other end</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">the port used by the other end</doc>
<type name="guint16" c:type="guint16"/>
</parameter>
<parameter name="initial_buffer" transfer-ownership="none">
<doc xml:space="preserve">data already read from @fd</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="conn"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">storage for a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_find_header_field"
c:identifier="gst_rtsp_find_header_field">
<doc xml:space="preserve">Convert @header to a #GstRTSPHeaderField.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField for @header or #GST_RTSP_HDR_INVALID if the
header field is unknown.</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</return-value>
<parameters>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve">a header string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_find_method" c:identifier="gst_rtsp_find_method">
<doc xml:space="preserve">Convert @method to a #GstRTSPMethod.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMethod for @method or #GST_RTSP_INVALID if the
method is unknown.</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</return-value>
<parameters>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">a method</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_generate_digest_auth_response"
c:identifier="gst_rtsp_generate_digest_auth_response"
version="1.12">
<doc xml:space="preserve">Calculates the digest auth response from the values given by the server and
the username and password. See RFC2069 for details.
Currently only supported algorithm "md5".</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">Authentication response or %NULL if unsupported</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="algorithm"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">Hash algorithm to use, or %NULL for MD5</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">Request method, e.g. PLAY</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="realm" transfer-ownership="none">
<doc xml:space="preserve">Realm</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="username" transfer-ownership="none">
<doc xml:space="preserve">Username</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="password" transfer-ownership="none">
<doc xml:space="preserve">Password</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve">Original request URI</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="nonce" transfer-ownership="none">
<doc xml:space="preserve">Nonce</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_header_allow_multiple"
c:identifier="gst_rtsp_header_allow_multiple">
<doc xml:space="preserve">Check whether @field may appear multiple times in a message.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if multiple headers are allowed.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
</parameters>
</function>
<function name="rtsp_header_as_text"
c:identifier="gst_rtsp_header_as_text">
<doc xml:space="preserve">Convert @field to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @field.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="field" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPHeaderField</doc>
<type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
</parameter>
</parameters>
</function>
<function name="rtsp_message_new"
c:identifier="gst_rtsp_message_new"
moved-to="RTSPMessage.new">
<doc xml:space="preserve">Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_message_new_data"
c:identifier="gst_rtsp_message_new_data"
moved-to="RTSPMessage.new_data">
<doc xml:space="preserve">Create a new data #GstRTSPMessage with @channel and store the
result message in @msg. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="channel" transfer-ownership="none">
<doc xml:space="preserve">the channel</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="rtsp_message_new_request"
c:identifier="gst_rtsp_message_new_request"
moved-to="RTSPMessage.new_request">
<doc xml:space="preserve">Create a new #GstRTSPMessage with @method and @uri and store the result
request message in @msg. Free with gst_rtsp_message_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">the request method to use</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
<parameter name="uri" transfer-ownership="none">
<doc xml:space="preserve">the uri of the request</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_message_new_response"
c:identifier="gst_rtsp_message_new_response"
moved-to="RTSPMessage.new_response">
<doc xml:space="preserve">Create a new response #GstRTSPMessage with @code and @reason and store the
result message in @msg. Free with gst_rtsp_message_free().
When @reason is #NULL, the default reason for @code will be used.
When @request is not #NULL, the relevant headers will be copied to the new
response message.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="msg"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">a location for the new #GstRTSPMessage</doc>
<type name="RTSPMessage" c:type="GstRTSPMessage**"/>
</parameter>
<parameter name="code" transfer-ownership="none">
<doc xml:space="preserve">the status code</doc>
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</parameter>
<parameter name="reason"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the status reason or %NULL</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="request"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the request that triggered the response or %NULL</doc>
<type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_method_as_text"
c:identifier="gst_rtsp_method_as_text"
moved-to="RTSPMethod.as_text">
<doc xml:space="preserve">Convert @method to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @method.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="method" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMethod</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
</parameters>
</function>
<function name="rtsp_options_as_text"
c:identifier="gst_rtsp_options_as_text">
<doc xml:space="preserve">Convert @options to a string.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new string of @options. g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="options" transfer-ownership="none">
<doc xml:space="preserve">one or more #GstRTSPMethod</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</parameter>
</parameters>
</function>
<function name="rtsp_options_from_text"
c:identifier="gst_rtsp_options_from_text"
version="1.2">
<doc xml:space="preserve">Convert the comma separated list @options to a #GstRTSPMethod bitwise or
of methods. This functions is the reverse of gst_rtsp_options_as_text().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPMethod</doc>
<type name="RTSPMethod" c:type="GstRTSPMethod"/>
</return-value>
<parameters>
<parameter name="options" transfer-ownership="none">
<doc xml:space="preserve">a comma separated list of options</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_range_convert_units"
c:identifier="gst_rtsp_range_convert_units"
moved-to="RTSPRange.convert_units">
<doc xml:space="preserve">Converts the range in-place between different types of units.
Ranges containing the special value #GST_RTSP_TIME_NOW can not be
converted as these are only valid for #GST_RTSP_RANGE_NPT.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the range could be converted</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
</parameter>
<parameter name="unit" transfer-ownership="none">
<doc xml:space="preserve">the unit to convert the range into</doc>
<type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
</parameter>
</parameters>
</function>
<function name="rtsp_range_free"
c:identifier="gst_rtsp_range_free"
moved-to="RTSPRange.free">
<doc xml:space="preserve">Free the memory allocated by @range.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_range_get_times"
c:identifier="gst_rtsp_range_get_times"
moved-to="RTSPRange.get_times"
version="1.2">
<doc xml:space="preserve">Retrieve the minimum and maximum values from @range converted to
#GstClockTime in @min and @max.
A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW
and #GST_RTSP_TIME_END for @min and @max respectively.
UTC times will be converted to nanoseconds since 1900.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
</parameter>
<parameter name="min" transfer-ownership="none">
<doc xml:space="preserve">result minimum #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
<parameter name="max" transfer-ownership="none">
<doc xml:space="preserve">result maximum #GstClockTime</doc>
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_range_parse"
c:identifier="gst_rtsp_range_parse"
moved-to="RTSPRange.parse">
<doc xml:space="preserve">Parse @rangestr to a #GstRTSPTimeRange.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK on success.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="rangestr" transfer-ownership="none">
<doc xml:space="preserve">a range string to parse</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">location to hold the #GstRTSPTimeRange result</doc>
<type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_range_to_string"
c:identifier="gst_rtsp_range_to_string"
moved-to="RTSPRange.to_string">
<doc xml:space="preserve">Convert @range into a string representation.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">The string representation of @range. g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="range" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTimeRange</doc>
<type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_status_as_text"
c:identifier="gst_rtsp_status_as_text">
<doc xml:space="preserve">Convert @code to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @code.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="code" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPStatusCode</doc>
<type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
</parameter>
</parameters>
</function>
<function name="rtsp_strresult" c:identifier="gst_rtsp_strresult">
<doc xml:space="preserve">Convert @result in a human readable string.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a newly allocated string. g_free() after usage.</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="result" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</parameter>
</parameters>
</function>
<function name="rtsp_transport_get_manager"
c:identifier="gst_rtsp_transport_get_manager"
moved-to="RTSPTransport.get_manager">
<doc xml:space="preserve">Get the #GstElement that can handle the buffers transported over @trans.
It is possible that there are several managers available, use @option to
selected one.
@manager will contain an element name or #NULL when no manager is
needed/available for @trans.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="trans" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransMode</doc>
<type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
</parameter>
<parameter name="manager" transfer-ownership="none">
<doc xml:space="preserve">location to hold the result</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
<parameter name="option" transfer-ownership="none">
<doc xml:space="preserve">option index.</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="rtsp_transport_get_mime"
c:identifier="gst_rtsp_transport_get_mime"
moved-to="RTSPTransport.get_mime"
deprecated="1">
<doc xml:space="preserve">Get the mime type of the transport mode @trans. This mime type is typically
used to generate #GstCaps events.</doc>
<doc-deprecated xml:space="preserve">This functions only deals with the GstRTSPTransMode and only
returns the mime type for #GST_RTSP_PROFILE_AVP. Use
gst_rtsp_transport_get_media_type() instead.</doc-deprecated>
<return-value transfer-ownership="none">
<doc xml:space="preserve">#GST_RTSP_OK.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="trans" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransMode</doc>
<type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
</parameter>
<parameter name="mime" transfer-ownership="none">
<doc xml:space="preserve">location to hold the result</doc>
<type name="utf8" c:type="const gchar**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_transport_new"
c:identifier="gst_rtsp_transport_new"
moved-to="RTSPTransport.new">
<doc xml:space="preserve">Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
after usage.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">location to hold the new #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_transport_parse"
c:identifier="gst_rtsp_transport_parse"
moved-to="RTSPTransport.parse">
<doc xml:space="preserve">Parse the RTSP transport string @str into @transport.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="str" transfer-ownership="none">
<doc xml:space="preserve">a transport string</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="transport" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPTransport</doc>
<type name="RTSPTransport" c:type="GstRTSPTransport*"/>
</parameter>
</parameters>
</function>
<function name="rtsp_url_parse"
c:identifier="gst_rtsp_url_parse"
moved-to="RTSPUrl.parse">
<doc xml:space="preserve">Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
with gst_rtsp_url_free().</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPResult.</doc>
<type name="RTSPResult" c:type="GstRTSPResult"/>
</return-value>
<parameters>
<parameter name="urlstr" transfer-ownership="none">
<doc xml:space="preserve">the url string to parse</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="url"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve">location to hold the result.</doc>
<type name="RTSPUrl" c:type="GstRTSPUrl**"/>
</parameter>
</parameters>
</function>
<function name="rtsp_version_as_text"
c:identifier="gst_rtsp_version_as_text"
moved-to="RTSPVersion.as_text">
<doc xml:space="preserve">Convert @version to a string.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string representation of @version.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="version" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPVersion</doc>
<type name="RTSPVersion" c:type="GstRTSPVersion"/>
</parameter>
</parameters>
</function>
<function name="rtsp_watch_new"
c:identifier="gst_rtsp_watch_new"
moved-to="RTSPWatch.new"
introspectable="0">
<doc xml:space="preserve">Create a watch object for @conn. The functions provided in @funcs will be
called with @user_data when activity happened on the watch.
The new watch is usually created so that it can be attached to a
maincontext with gst_rtsp_watch_attach().
@conn must exist for the entire lifetime of the watch.</doc>
<return-value>
<doc xml:space="preserve">a #GstRTSPWatch that can be used for asynchronous RTSP
communication. Free with gst_rtsp_watch_unref () after usage.</doc>
<type name="RTSPWatch" c:type="GstRTSPWatch*"/>
</return-value>
<parameters>
<parameter name="conn" transfer-ownership="none">
<doc xml:space="preserve">a #GstRTSPConnection</doc>
<type name="RTSPConnection" c:type="GstRTSPConnection*"/>
</parameter>
<parameter name="funcs" transfer-ownership="none">
<doc xml:space="preserve">watch functions</doc>
<type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">user data to pass to @funcs</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="async">
<doc xml:space="preserve">notify when @user_data is not referenced anymore</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>