GstRTSPConnection

This object manages the RTSP connection to the server. It provides function to receive and send bytes and messages.

GstRTSPConnection

Opaque RTSP connection object.


Methods

gst_rtsp_connection_add_extra_http_request_header

gst_rtsp_connection_add_extra_http_request_header (GstRTSPConnection * conn,
                                                   const gchar * key,
                                                   const gchar * value)

Add header to be appended to any HTTP request made by connection. If the header already exists then the old header is replaced by the new header.

Only applicable in HTTP tunnel mode.

Parameters:

conn

a GstRTSPConnection

key

HTTP header name

value

HTTP header value

Since : 1.24


gst_rtsp_connection_clear_auth_params

gst_rtsp_connection_clear_auth_params (GstRTSPConnection * conn)

Clear the list of authentication directives stored in conn.

Parameters:

conn

a GstRTSPConnection


gst_rtsp_connection_close

GstRTSPResult
gst_rtsp_connection_close (GstRTSPConnection * conn)

Close the connected conn. After this call, the connection is in the same state as when it was first created.

Parameters:

conn

a GstRTSPConnection

Returns

GST_RTSP_OK on success.


gst_rtsp_connection_connect_usec

GstRTSPResult
gst_rtsp_connection_connect_usec (GstRTSPConnection * conn,
                                  gint64 timeout)

Attempt to connect to the url of conn made with gst_rtsp_connection_create. If timeout is 0 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.

Parameters:

conn

a GstRTSPConnection

timeout

a timeout in microseconds

Returns

GST_RTSP_OK when a connection could be made.

Since : 1.18


gst_rtsp_connection_connect_with_response_usec

GstRTSPResult
gst_rtsp_connection_connect_with_response_usec (GstRTSPConnection * conn,
                                                gint64 timeout,
                                                GstRTSPMessage * response)

Attempt to connect to the url of conn made with gst_rtsp_connection_create. If timeout is 0 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.

Parameters:

conn

a GstRTSPConnection

timeout

a timeout in microseconds

response

a GstRTSPMessage

Returns

GST_RTSP_OK when a connection could be made.

Since : 1.18


gst_rtsp_connection_do_tunnel

GstRTSPResult
gst_rtsp_connection_do_tunnel (GstRTSPConnection * conn,
                               GstRTSPConnection * conn2)

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.

Parameters:

conn

a GstRTSPConnection

conn2 ( [nullable])

a GstRTSPConnection or NULL

Returns

return GST_RTSP_OK on success.


gst_rtsp_connection_flush

GstRTSPResult
gst_rtsp_connection_flush (GstRTSPConnection * conn,
                           gboolean flush)

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.

Parameters:

conn

a GstRTSPConnection

flush

start or stop the flush

Returns

GST_RTSP_OK.


gst_rtsp_connection_free

GstRTSPResult
gst_rtsp_connection_free (GstRTSPConnection * conn)

Close and free conn.

Parameters:

conn

a GstRTSPConnection

Returns

GST_RTSP_OK on success.


gst_rtsp_connection_get_ignore_x_server_reply

gboolean
gst_rtsp_connection_get_ignore_x_server_reply (const GstRTSPConnection * conn)

Get the ignore_x_server_reply value.

Parameters:

conn

a GstRTSPConnection

Returns

returns TRUE if the x-server-ip-address header reply will be ignored, else returns FALSE

Since : 1.20


gst_rtsp_connection_get_ip

const gchar *
gst_rtsp_connection_get_ip (const GstRTSPConnection * conn)

Retrieve the IP address of the other end of conn.

Parameters:

conn

a GstRTSPConnection

Returns

The IP address as a string. this value remains valid until the connection is closed.


gst_rtsp_connection_get_read_socket

GSocket *
gst_rtsp_connection_get_read_socket (const GstRTSPConnection * conn)

Get the file descriptor for reading.

Parameters:

conn

a GstRTSPConnection

Returns ( [transfer: none][nullable])

the file descriptor used for reading or NULL on error. The file descriptor remains valid until the connection is closed.


gst_rtsp_connection_get_remember_session_id

gboolean
gst_rtsp_connection_get_remember_session_id (GstRTSPConnection * conn)

Parameters:

conn

a GstRTSPConnection

Returns

TRUE if the GstRTSPConnection remembers the session id in the last response to set it on any further request.


gst_rtsp_connection_get_tls

GTlsConnection *
gst_rtsp_connection_get_tls (GstRTSPConnection * conn,
                             GError ** error)

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.

Parameters:

conn

a GstRTSPConnection

error

GError for error reporting, or NULL to ignore.

Returns ( [transfer: none])

the TLS connection for conn.

Since : 1.2


gst_rtsp_connection_get_tls_database

GTlsDatabase *
gst_rtsp_connection_get_tls_database (GstRTSPConnection * conn)

Gets the anchor certificate authorities database that will be used after a server certificate can't be verified with the default certificate database.

Parameters:

conn

a GstRTSPConnection

Returns ( [transfer: full][nullable])

the anchor certificate authorities database, or NULL if no database has been previously set. Use g_object_unref to release the certificate database.

Since : 1.4


gst_rtsp_connection_get_tls_interaction

GTlsInteraction *
gst_rtsp_connection_get_tls_interaction (GstRTSPConnection * conn)

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.

Parameters:

conn

a GstRTSPConnection

Returns ( [transfer: full][nullable])

a reference on the GTlsInteraction. Use g_object_unref to release.

Since : 1.6


gst_rtsp_connection_get_tls_validation_flags

GTlsCertificateFlags
gst_rtsp_connection_get_tls_validation_flags (GstRTSPConnection * conn)

Gets the TLS validation flags used to verify the peer certificate when a TLS connection is established.

GLib guarantees that if certificate verification fails, at least one error will be set, but it does not guarantee that all possible errors will be set. Accordingly, you may not safely decide to ignore any particular type of error.

For example, it would be incorrect to ignore G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, because this could potentially be the only error flag set even if other problems exist with the certificate.

Parameters:

conn

a GstRTSPConnection

Returns

the validation flags.

Since : 1.2.1


gst_rtsp_connection_get_tunnelid

const gchar *
gst_rtsp_connection_get_tunnelid (const GstRTSPConnection * conn)

Get the tunnel session id the connection.

Parameters:

conn

a GstRTSPConnection

Returns ( [nullable])

returns a non-empty string if conn is being tunneled over HTTP.


gst_rtsp_connection_get_url

GstRTSPUrl *
gst_rtsp_connection_get_url (const GstRTSPConnection * conn)

Retrieve the URL of the other end of conn.

Parameters:

conn

a GstRTSPConnection

Returns

The URL. This value remains valid until the connection is freed.


gst_rtsp_connection_get_write_socket

GSocket *
gst_rtsp_connection_get_write_socket (const GstRTSPConnection * conn)

Get the file descriptor for writing.

Parameters:

conn

a GstRTSPConnection

Returns ( [transfer: none][nullable])

the file descriptor used for writing or NULL on error. The file descriptor remains valid until the connection is closed.


gst_rtsp_connection_is_tunneled

gboolean
gst_rtsp_connection_is_tunneled (const GstRTSPConnection * conn)

Get the tunneling state of the connection.

Parameters:

conn

a GstRTSPConnection

Returns

if conn is using HTTP tunneling.


gst_rtsp_connection_next_timeout_usec

gint64
gst_rtsp_connection_next_timeout_usec (GstRTSPConnection * conn)

Calculate the next timeout for conn

Parameters:

conn

a GstRTSPConnection

Returns

the next timeout in microseconds

Since : 1.18


gst_rtsp_connection_poll_usec

GstRTSPResult
gst_rtsp_connection_poll_usec (GstRTSPConnection * conn,
                               GstRTSPEvent events,
                               GstRTSPEvent * revents,
                               gint64 timeout)

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 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

events

a bitmask of GstRTSPEvent flags to check

revents ( [out])

location for result flags

timeout

a timeout in microseconds

Returns

GST_RTSP_OK on success.

Since : 1.18


gst_rtsp_connection_read_usec

GstRTSPResult
gst_rtsp_connection_read_usec (GstRTSPConnection * conn,
                               guint8 * data,
                               guint size,
                               gint64 timeout)

Attempt to read size bytes into data from the connected conn, blocking up to the specified timeout. timeout can be 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

data ( [arraylength=size])

the data to read

size

the size of data

timeout

a timeout value in microseconds

Returns

GST_RTSP_OK on success.

Since : 1.18


gst_rtsp_connection_receive_usec

GstRTSPResult
gst_rtsp_connection_receive_usec (GstRTSPConnection * conn,
                                  GstRTSPMessage * message,
                                  gint64 timeout)

Attempt to read into message from the connected conn, blocking up to the specified timeout. timeout can be 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

message ( [transfer: none])

the message to read

timeout

a timeout value or 0

Returns

GST_RTSP_OK on success.

Since : 1.18


gst_rtsp_connection_reset_timeout

GstRTSPResult
gst_rtsp_connection_reset_timeout (GstRTSPConnection * conn)

Reset the timeout of conn.

Parameters:

conn

a GstRTSPConnection

Returns

GST_RTSP_OK.


gst_rtsp_connection_send_messages_usec

GstRTSPResult
gst_rtsp_connection_send_messages_usec (GstRTSPConnection * conn,
                                        GstRTSPMessage * messages,
                                        guint n_messages,
                                        gint64 timeout)

Attempt to send messages to the connected conn, blocking up to the specified timeout. timeout can be 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

messages ( [arraylength=n_messages])

the messages to send

n_messages

the number of messages to send

timeout

a timeout value in microseconds

Returns

GST_RTSP_OK on Since.

Since : 1.18


gst_rtsp_connection_send_usec

GstRTSPResult
gst_rtsp_connection_send_usec (GstRTSPConnection * conn,
                               GstRTSPMessage * message,
                               gint64 timeout)

Attempt to send message to the connected conn, blocking up to the specified timeout. timeout can be 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

message

the message to send

timeout

a timeout value in microseconds

Returns

GST_RTSP_OK on success.

Since : 1.18


gst_rtsp_connection_set_accept_certificate_func

gst_rtsp_connection_set_accept_certificate_func (GstRTSPConnection * conn,
                                                 GstRTSPConnectionAcceptCertificateFunc func,
                                                 gpointer user_data,
                                                 GDestroyNotify destroy_notify)

Sets a custom accept-certificate function for checking certificates for validity. This will directly map to GTlsConnection 's "accept-certificate" signal and be performed after the default checks of GstRTSPConnection (checking against the GTlsDatabase with the given GTlsCertificateFlags) have failed. If no GTlsDatabase is set on this connection, only func will be called.

Parameters:

conn

a GstRTSPConnection

func

a GstRTSPConnectionAcceptCertificateFunc to check certificates

user_data

User data passed to func

destroy_notify

GDestroyNotify for user_data

Since : 1.14


gst_rtsp_connection_set_auth

GstRTSPResult
gst_rtsp_connection_set_auth (GstRTSPConnection * conn,
                              GstRTSPAuthMethod method,
                              const gchar * user,
                              const gchar * pass)

Configure conn for authentication mode method with user and pass as the user and password respectively.

Parameters:

conn

a GstRTSPConnection

method

authentication method

user

the user

pass

the password

Returns

GST_RTSP_OK.


gst_rtsp_connection_set_auth_param

gst_rtsp_connection_set_auth_param (GstRTSPConnection * conn,
                                    const gchar * param,
                                    const gchar * value)

Setup conn with authentication directives. This is not necessary 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.

Parameters:

conn

a GstRTSPConnection

param

authentication directive

value

value


gst_rtsp_connection_set_content_length_limit

gst_rtsp_connection_set_content_length_limit (GstRTSPConnection * conn,
                                              guint limit)

Configure conn to use the specified Content-Length limit. Both requests and responses are validated. If content-length is exceeded, ENOMEM error will be returned.

Parameters:

conn

a GstRTSPConnection

limit

Content-Length limit

Since : 1.18


gst_rtsp_connection_set_http_mode

gst_rtsp_connection_set_http_mode (GstRTSPConnection * conn,
                                   gboolean enable)

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.

Parameters:

conn

a GstRTSPConnection

enable

TRUE to enable manual HTTP mode


gst_rtsp_connection_set_ignore_x_server_reply

gst_rtsp_connection_set_ignore_x_server_reply (GstRTSPConnection * conn,
                                               gboolean ignore)

Set whether to ignore the x-server-ip-address header reply or not. If the header is ignored, the original address will be used instead.

Parameters:

conn

a GstRTSPConnection

ignore

TRUE to ignore the x-server-ip-address header reply or FALSE to comply with it (%FALSE is the default).

Since : 1.20


gst_rtsp_connection_set_ip

gst_rtsp_connection_set_ip (GstRTSPConnection * conn,
                            const gchar * ip)

Set the IP address of the server.

Parameters:

conn

a GstRTSPConnection

ip

an ip address


gst_rtsp_connection_set_proxy

GstRTSPResult
gst_rtsp_connection_set_proxy (GstRTSPConnection * conn,
                               const gchar * host,
                               guint port)

Set the proxy host and port.

Parameters:

conn

a GstRTSPConnection

host

the proxy host

port

the proxy port

Returns

GST_RTSP_OK.


gst_rtsp_connection_set_qos_dscp

GstRTSPResult
gst_rtsp_connection_set_qos_dscp (GstRTSPConnection * conn,
                                  guint qos_dscp)

Configure conn to use the specified DSCP value.

Parameters:

conn

a GstRTSPConnection

qos_dscp

DSCP value

Returns

GST_RTSP_OK on success.


gst_rtsp_connection_set_remember_session_id

gst_rtsp_connection_set_remember_session_id (GstRTSPConnection * conn,
                                             gboolean remember)

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

Parameters:

conn

a GstRTSPConnection

remember

TRUE if the connection should remember the session id


gst_rtsp_connection_set_tls_database

gst_rtsp_connection_set_tls_database (GstRTSPConnection * conn,
                                      GTlsDatabase * database)

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.

Parameters:

conn

a GstRTSPConnection

database ( [nullable])

a GTlsDatabase

Since : 1.4


gst_rtsp_connection_set_tls_interaction

gst_rtsp_connection_set_tls_interaction (GstRTSPConnection * conn,
                                         GTlsInteraction * interaction)

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.

Parameters:

conn

a GstRTSPConnection

interaction ( [nullable])

a GTlsInteraction

Since : 1.6


gst_rtsp_connection_set_tls_validation_flags

gboolean
gst_rtsp_connection_set_tls_validation_flags (GstRTSPConnection * conn,
                                              GTlsCertificateFlags flags)

Sets the TLS validation flags to be used to verify the peer certificate when a TLS connection is established.

GLib guarantees that if certificate verification fails, at least one error will be set, but it does not guarantee that all possible errors will be set. Accordingly, you may not safely decide to ignore any particular type of error.

For example, it would be incorrect to mask G_TLS_CERTIFICATE_EXPIRED if you want to allow expired certificates, because this could potentially be the only error flag set even if other problems exist with the certificate.

Parameters:

conn

a GstRTSPConnection

flags

the validation flags.

Returns

TRUE if the validation flags are set correctly, or FALSE if conn is NULL or is not a TLS connection.

Since : 1.2.1


gst_rtsp_connection_set_tunneled

gst_rtsp_connection_set_tunneled (GstRTSPConnection * conn,
                                  gboolean tunneled)

Set the HTTP tunneling state of the connection. This must be configured before the conn is connected.

Parameters:

conn

a GstRTSPConnection

tunneled

the new state


gst_rtsp_connection_write_usec

GstRTSPResult
gst_rtsp_connection_write_usec (GstRTSPConnection * conn,
                                const guint8 * data,
                                guint size,
                                gint64 timeout)

Attempt to write size bytes of data to the connected conn, blocking up to the specified timeout. timeout can be 0, in which case this function might block forever.

This function can be cancelled with gst_rtsp_connection_flush.

Parameters:

conn

a GstRTSPConnection

data ( [arraylength=size])

the data to write

size

the size of data

timeout

a timeout value or 0

Returns

GST_RTSP_OK on success.

Since : 1.18


Functions

gst_rtsp_connection_accept

GstRTSPResult
gst_rtsp_connection_accept (GSocket * socket,
                            GstRTSPConnection ** conn,
                            GCancellable * cancellable)

Accept a new connection on socket and create a new GstRTSPConnection for handling communication on new socket.

Parameters:

socket

a socket

conn ( [out][transfer: full][nullable])

storage for a GstRTSPConnection

cancellable

a GCancellable to cancel the operation

Returns

GST_RTSP_OK when conn contains a valid connection.


gst_rtsp_connection_create

GstRTSPResult
gst_rtsp_connection_create (const GstRTSPUrl * url,
                            GstRTSPConnection ** conn)

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.

Parameters:

url

a GstRTSPUrl

conn ( [out][transfer: full])

storage for a GstRTSPConnection

Returns

GST_RTSP_OK when conn contains a valid connection.


gst_rtsp_connection_create_from_socket

GstRTSPResult
gst_rtsp_connection_create_from_socket (GSocket * socket,
                                        const gchar * ip,
                                        guint16 port,
                                        const gchar * initial_buffer,
                                        GstRTSPConnection ** conn)

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.

Parameters:

socket

a GSocket

ip

the IP address of the other end

port

the port used by the other end

initial_buffer

data already read from fd

conn ( [out][transfer: full][nullable])

storage for a GstRTSPConnection

Returns

GST_RTSP_OK when conn contains a valid connection.


GstRTSPWatch

Opaque RTSP watch object that can be used for asynchronous RTSP operations.


Methods

gst_rtsp_watch_attach

guint
gst_rtsp_watch_attach (GstRTSPWatch * watch,
                       GMainContext * context)

Adds a GstRTSPWatch to a context so that it will be executed within that context.

Parameters:

watch

a GstRTSPWatch

context ( [nullable])

a GMainContext (if NULL, the default context will be used)

Returns

the ID (greater than 0) for the watch within the GMainContext.


gst_rtsp_watch_get_send_backlog

gst_rtsp_watch_get_send_backlog (GstRTSPWatch * watch,
                                 gsize * bytes,
                                 guint * messages)

Get the maximum amount of bytes and messages that will be queued in watch. See gst_rtsp_watch_set_send_backlog.

Parameters:

watch

a GstRTSPWatch

bytes ( [out][allow-none])

maximum bytes

messages ( [out][allow-none])

maximum messages

Since : 1.2


gst_rtsp_watch_reset

gst_rtsp_watch_reset (GstRTSPWatch * watch)

Reset watch, this is usually called after gst_rtsp_connection_do_tunnel when the file descriptors of the connection might have changed.

Parameters:

watch

a GstRTSPWatch


gst_rtsp_watch_send_message

GstRTSPResult
gst_rtsp_watch_send_message (GstRTSPWatch * watch,
                             GstRTSPMessage * message,
                             guint * id)

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.

Parameters:

watch

a GstRTSPWatch

message

a GstRTSPMessage

id ( [out][optional])

location for a message ID or NULL

Returns

GST_RTSP_OK on success.


gst_rtsp_watch_send_messages

GstRTSPResult
gst_rtsp_watch_send_messages (GstRTSPWatch * watch,
                              GstRTSPMessage * messages,
                              guint n_messages,
                              guint * id)

Sends messages using the connection of the watch. If they cannot be sent immediately, they will be queued for transmission in watch. The contents of messages will then be serialized and transmitted when the connection of the watch becomes writable. In case the messages are queued, the ID returned in id will be non-zero and used as the ID argument in the message_sent callback once the last message is sent. The callback will only be called once for the last message.

Parameters:

watch

a GstRTSPWatch

messages ( [arraylength=n_messages])

the messages to send

n_messages

the number of messages to send

id ( [out][optional])

location for a message ID or NULL

Returns

GST_RTSP_OK on success.

Since : 1.16


gst_rtsp_watch_set_flushing

gst_rtsp_watch_set_flushing (GstRTSPWatch * watch,
                             gboolean flushing)

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.

Parameters:

watch

a GstRTSPWatch

flushing

new flushing state

Since : 1.4


gst_rtsp_watch_set_send_backlog

gst_rtsp_watch_set_send_backlog (GstRTSPWatch * watch,
                                 gsize bytes,
                                 guint messages)

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.

Parameters:

watch

a GstRTSPWatch

bytes

maximum bytes

messages

maximum messages

Since : 1.2


gst_rtsp_watch_unref

gst_rtsp_watch_unref (GstRTSPWatch * watch)

Decreases the reference count of watch by one. If the resulting reference count is zero the watch and associated memory will be destroyed.

Parameters:

watch

a GstRTSPWatch


gst_rtsp_watch_wait_backlog_usec

GstRTSPResult
gst_rtsp_watch_wait_backlog_usec (GstRTSPWatch * watch,
                                  gint64 timeout)

Wait until there is place in the backlog queue, timeout is reached or watch is set to flushing.

If timeout is 0 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.

Parameters:

watch

a GstRTSPWatch

timeout

a timeout in microseconds

Returns

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.

Since : 1.18


gst_rtsp_watch_write_data

GstRTSPResult
gst_rtsp_watch_write_data (GstRTSPWatch * watch,
                           const guint8 * data,
                           guint size,
                           guint * id)

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.

Parameters:

watch

a GstRTSPWatch

data ( [arraylength=size][transfer: full])

the data to queue

size

the size of data

id ( [out][optional])

location for a message ID or NULL

Returns

GST_RTSP_OK on success. GST_RTSP_ENOMEM when the backlog limits are reached. GST_RTSP_EINTR when watch was flushing.


Functions

gst_rtsp_watch_new

GstRTSPWatch *
gst_rtsp_watch_new (GstRTSPConnection * conn,
                    GstRTSPWatchFuncs * funcs,
                    gpointer user_data,
                    GDestroyNotify notify)

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.

Parameters:

conn

a GstRTSPConnection

funcs

watch functions

user_data

user data to pass to funcs

notify

notify when user_data is not referenced anymore

Returns ( [transfer: full])

a GstRTSPWatch that can be used for asynchronous RTSP communication. Free with gst_rtsp_watch_unref () after usage.


GstRTSPWatchFuncs

Callback functions from a GstRTSPWatch.


Callbacks

GstRTSPConnectionAcceptCertificateFunc

gboolean
(*GstRTSPConnectionAcceptCertificateFunc) (GTlsConnection * conn,
                                           GTlsCertificate * peer_cert,
                                           GTlsCertificateFlags errors,
                                           gpointer user_data)

Parameters:

conn
No description available
peer_cert
No description available
errors
No description available
user_data
No description available
Returns
No description available

The results of the search are