| Top |  |  |  |  | 
| enum | GstRTSPMsgType | 
| struct | GstRTSPMessage | 
| struct | GstRTSPAuthCredential | 
| struct | GstRTSPAuthParam | 
GBoxed ├── GstRTSPAuthCredential ├── GstRTSPAuthParam ╰── GstRTSPMessage GEnum ╰── GstRTSPMsgType
GstRTSPResult
gst_rtsp_message_new (GstRTSPMessage **msg);
Create a new initialized GstRTSPMessage. Free with gst_rtsp_message_free().
GstRTSPResult
gst_rtsp_message_init (GstRTSPMessage *msg);
Initialize msg
. This function is mostly used when msg
 is allocated on the
stack. The reverse operation of this is gst_rtsp_message_unset().
GstRTSPResult
gst_rtsp_message_unset (GstRTSPMessage *msg);
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.
GstRTSPResult gst_rtsp_message_copy (const GstRTSPMessage *msg,GstRTSPMessage **copy);
Allocate a new copy of msg
 and store the result in copy
. The value in
copy
 should be release with gst_rtsp_message_free function.
Since: 1.14
GstRTSPResult
gst_rtsp_message_free (GstRTSPMessage *msg);
Free the memory used by msg
.
GstRTSPMsgType
gst_rtsp_message_get_type (GstRTSPMessage *msg);
Get the message type of msg
.
GstRTSPResult gst_rtsp_message_new_request (GstRTSPMessage **msg,GstRTSPMethod method,const gchar *uri);
Create a new GstRTSPMessage with method
 and uri
 and store the result
request message in msg
. Free with gst_rtsp_message_free().
| msg | a location for the new GstRTSPMessage. | [out][transfer full] | 
| method | the request method to use | |
| uri | the uri of the request. | [transfer none] | 
GstRTSPResult gst_rtsp_message_init_request (GstRTSPMessage *msg,GstRTSPMethod method,const gchar *uri);
Initialize msg
 as a request message with method
 and uri
. To clear msg
again, use gst_rtsp_message_unset().
GstRTSPResult gst_rtsp_message_parse_request (GstRTSPMessage *msg,GstRTSPMethod *method,const gchar **uri,GstRTSPVersion *version);
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.
GstRTSPResult gst_rtsp_message_new_response (GstRTSPMessage **msg,GstRTSPStatusCode code,const gchar *reason,const GstRTSPMessage *request);
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.
| msg | a location for the new GstRTSPMessage. | [out][transfer full] | 
| code | the status code | |
| reason | the status reason or  | [transfer none][allow-none] | 
| request | the request that triggered the response or  | [transfer none][allow-none] | 
GstRTSPResult gst_rtsp_message_init_response (GstRTSPMessage *msg,GstRTSPStatusCode code,const gchar *reason,const GstRTSPMessage *request);
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.
GstRTSPResult gst_rtsp_message_parse_response (GstRTSPMessage *msg,GstRTSPStatusCode *code,const gchar **reason,GstRTSPVersion *version);
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.
GstRTSPResult gst_rtsp_message_new_data (GstRTSPMessage **msg,guint8 channel);
Create a new data GstRTSPMessage with channel
 and store the
result message in msg
. Free with gst_rtsp_message_free().
GstRTSPResult gst_rtsp_message_init_data (GstRTSPMessage *msg,guint8 channel);
Initialize a new data GstRTSPMessage for channel
.
GstRTSPResult gst_rtsp_message_parse_data (GstRTSPMessage *msg,guint8 *channel);
Parse the data message msg
 and store the channel in channel
.
GstRTSPResult gst_rtsp_message_add_header (GstRTSPMessage *msg,GstRTSPHeaderField field,const gchar *value);
Add a header with key field
 and value
 to msg
. This function takes a copy
of value
.
GstRTSPResult gst_rtsp_message_take_header (GstRTSPMessage *msg,GstRTSPHeaderField field,gchar *value);
Add a header with key field
 and value
 to msg
. This function takes
ownership of value
.
GstRTSPResult gst_rtsp_message_remove_header (GstRTSPMessage *msg,GstRTSPHeaderField field,gint indx);
Remove the indx
 header with key field
 from msg
. If indx
 equals -1, all
headers will be removed.
GstRTSPResult gst_rtsp_message_get_header (const GstRTSPMessage *msg,GstRTSPHeaderField field,gchar **value,gint indx);
Get the indx
 header value with key field
 from msg
. The result in value
stays valid as long as it remains present in msg
.
GstRTSPResult gst_rtsp_message_add_header_by_name (GstRTSPMessage *msg,const gchar *header,const gchar *value);
Add a header with key header
 and value
 to msg
. This function takes a copy
of value
.
Since: 1.6
GstRTSPResult gst_rtsp_message_take_header_by_name (GstRTSPMessage *msg,const gchar *header,gchar *value);
Add a header with key header
 and value
 to msg
. This function takes
ownership of value
, but not of header
.
| msg | ||
| header | a header string. | [transfer none] | 
| value | the value of the header. | [transfer full] | 
Since: 1.6
GstRTSPResult gst_rtsp_message_remove_header_by_name (GstRTSPMessage *msg,const gchar *header,gint index);
Remove the index
 header with key header
 from msg
. If index
 equals -1,
all matching headers will be removed.
Since: 1.6
GstRTSPResult gst_rtsp_message_get_header_by_name (GstRTSPMessage *msg,const gchar *header,gchar **value,gint index);
Get the index
 header value with key header
 from msg
. The result in value
stays valid as long as it remains present in msg
.
| msg | ||
| header | ||
| value | pointer to hold the result. | [out][transfer none] | 
| index | the index of the header | 
Since: 1.6
GstRTSPResult gst_rtsp_message_append_headers (const GstRTSPMessage *msg,GString *str);
Append the currently configured headers in msg
 to the GString str
 suitable
for transmission.
GstRTSPResult gst_rtsp_message_set_body (GstRTSPMessage *msg,const guint8 *data,guint size);
Set the body of msg
 to a copy of data
. Any existing body or body buffer
will be replaced by the new body.
GstRTSPResult gst_rtsp_message_take_body (GstRTSPMessage *msg,guint8 *data,guint size);
Set the body of msg
 to data
 and size
. This method takes ownership of
data
. Any existing body or body buffer will be replaced by the new body.
GstRTSPResult gst_rtsp_message_get_body (const GstRTSPMessage *msg,guint8 **data,guint *size);
Get the body of msg
. data
 remains valid for as long as msg
 is valid and
unchanged.
If the message body was set as a GstBuffer before this will cause the data to be copied and stored in the message. The GstBuffer will no longer be kept in the message.
GstRTSPResult gst_rtsp_message_steal_body (GstRTSPMessage *msg,guint8 **data,guint *size);
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.
GstRTSPResult gst_rtsp_message_set_body_buffer (GstRTSPMessage *msg,GstBuffer *buffer);
Set the body of msg
 to buffer
. Any existing body or body buffer
will be replaced by the new body.
Since: 1.16
GstRTSPResult gst_rtsp_message_take_body_buffer (GstRTSPMessage *msg,GstBuffer *buffer);
Set the body of msg
 to buffer
. This method takes ownership of buffer
.
Any existing body or body buffer will be replaced by the new body.
Since: 1.16
gboolean
gst_rtsp_message_has_body_buffer (const GstRTSPMessage *msg);
Checks if msg
 has a body and the body is stored as GstBuffer.
Since: 1.16
GstRTSPResult gst_rtsp_message_get_body_buffer (const GstRTSPMessage *msg,GstBuffer **buffer);
Get the body of msg
. buffer
 remains valid for as long as msg
 is valid and
unchanged.
If body data was set from raw memory instead of a GstBuffer this function
will always return NULL. The caller can check if there is a body buffer by
calling gst_rtsp_message_has_body_buffer().
Since: 1.16
GstRTSPResult gst_rtsp_message_steal_body_buffer (GstRTSPMessage *msg,GstBuffer **buffer);
Take the body of msg
 and store it in buffer
. After this method,
the body and size of msg
 will be set to NULL and 0 respectively.
If body data was set from raw memory instead of a GstBuffer this function
will always return NULL. The caller can check if there is a body buffer by
calling gst_rtsp_message_has_body_buffer().
Since: 1.16
GstRTSPAuthCredential ** gst_rtsp_message_parse_auth_credentials (GstRTSPMessage *msg,GstRTSPHeaderField field);
Parses the credentials given in a WWW-Authenticate or Authorization header.
Since: 1.12
void
gst_rtsp_auth_credentials_free (GstRTSPAuthCredential **credentials);
Free a NULL-terminated array of credentials returned from
gst_rtsp_message_parse_auth_credentials().
Since: 1.12
GstRTSPResult
gst_rtsp_message_dump (GstRTSPMessage *msg);
Dump the contents of msg
 to stdout.
struct GstRTSPMessage {
  GstRTSPMsgType    type;
  union {
    struct {
      GstRTSPMethod      method;
      gchar             *uri;
      GstRTSPVersion     version;
    } request;
    struct {
      GstRTSPStatusCode  code;
      gchar             *reason;
      GstRTSPVersion     version;
    } response;
    struct {
      guint8             channel;
    } data;
  } type_data;
};
An RTSP message containing request, response or data messages. Depending on
the type
, the appropriate structure may be accessed.
struct GstRTSPAuthCredential {
  GstRTSPAuthMethod scheme;
  /* For Basic/Digest WWW-Authenticate and Digest
   * Authorization */
  GstRTSPAuthParam **params; /* NULL terminated */
  /* For Basic Authorization */
  gchar *authorization;
};
RTSP Authentication credentials
| GstRTSPAuthMethod  | ||
| GstRTSPAuthParam ** | A NULL-terminated array of GstRTSPAuthParam | |
| gchar * | The authorization for the basic schem |