gstrtspurl

gstrtspurl — handling RTSP urls

Synopsis

#include <gst/rtsp/gstrtspurl.h>

#define             GST_RTSP_DEFAULT_PORT
struct              GstRTSPUrl;
GstRTSPResult       gst_rtsp_url_parse                  (const gchar *urlstr,
                                                         GstRTSPUrl **url);
GstRTSPUrl *        gst_rtsp_url_copy                   (const GstRTSPUrl *url);
void                gst_rtsp_url_free                   (GstRTSPUrl *url);
gchar *             gst_rtsp_url_get_request_uri        (const GstRTSPUrl *url);
GstRTSPResult       gst_rtsp_url_set_port               (GstRTSPUrl *url,
                                                         guint16 port);
GstRTSPResult       gst_rtsp_url_get_port               (const GstRTSPUrl *url,
                                                         guint16 *port);
gchar **            gst_rtsp_url_decode_path_components (const GstRTSPUrl *url);

Description

Provides helper functions to handle RTSP urls. Last reviewed on 2007-07-25 (0.10.14)

Details

GST_RTSP_DEFAULT_PORT

#define GST_RTSP_DEFAULT_PORT       554

The default RTSP port to connect to.


struct GstRTSPUrl

struct GstRTSPUrl {
  GstRTSPLowerTrans  transports;
  GstRTSPFamily      family;
  gchar             *user;
  gchar             *passwd;
  gchar             *host;
  guint16            port;
  gchar             *abspath;
  gchar             *query;
};

This structure contains the result of a parsed RTSP URL

GstRTSPLowerTrans transports;

the transports allowed

GstRTSPFamily family;

the family

gchar *user;

the user

gchar *passwd;

the password

gchar *host;

the host

guint16 port;

the port

gchar *abspath;

the absolute path

gchar *query;

additional query parameters

gst_rtsp_url_parse ()

GstRTSPResult       gst_rtsp_url_parse                  (const gchar *urlstr,
                                                         GstRTSPUrl **url);

Parse the RTSP urlstr into a newly allocated GstRTSPUrl. Free after usage with gst_rtsp_url_free().

urlstr :

the url string to parse

url :

location to hold the result. [out]

Returns :

a GstRTSPResult.

gst_rtsp_url_copy ()

GstRTSPUrl *        gst_rtsp_url_copy                   (const GstRTSPUrl *url);

Make a copy of url.

url :

a GstRTSPUrl

Returns :

a copy of url. Free with gst_rtsp_url_free() after usage.

gst_rtsp_url_free ()

void                gst_rtsp_url_free                   (GstRTSPUrl *url);

Free the memory used by url.

url :

a GstRTSPUrl

gst_rtsp_url_get_request_uri ()

gchar *             gst_rtsp_url_get_request_uri        (const GstRTSPUrl *url);

Get a newly allocated string describing the request URI for url.

url :

a GstRTSPUrl

Returns :

a string with the request URI. g_free() after usage.

gst_rtsp_url_set_port ()

GstRTSPResult       gst_rtsp_url_set_port               (GstRTSPUrl *url,
                                                         guint16 port);

Set the port number in url to port.

url :

a GstRTSPUrl

port :

the port

Returns :

GST_RTSP_OK.

gst_rtsp_url_get_port ()

GstRTSPResult       gst_rtsp_url_get_port               (const GstRTSPUrl *url,
                                                         guint16 *port);

Get the port number of url.

url :

a GstRTSPUrl

port :

location to hold the port

Returns :

GST_RTSP_OK.

gst_rtsp_url_decode_path_components ()

gchar **            gst_rtsp_url_decode_path_components (const GstRTSPUrl *url);

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.

url :

a GstRTSPUrl

Returns :

a string vector. g_strfreev() after usage.