
Data Structures | |
| struct | rtsp_stream_t |
| struct | rtsp_stream_id_t |
| struct | rtsp_session_t |
| struct | rtsp_strack_t |
Typedefs | |
| typedef struct rtsp_session_t | rtsp_session_t |
| typedef struct rtsp_strack_t | rtsp_strack_t |
Functions | |
| static int | RtspCallback (httpd_callback_sys_t *p_args, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query) |
| Aggregate RTSP callback. | |
| static int | RtspCallbackId (httpd_callback_sys_t *p_args, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query) |
| Non-aggregate RTSP callback. | |
| static void | RtspClientDel (rtsp_stream_t *rtsp, rtsp_session_t *session) |
| rtsp must be locked | |
| rtsp_stream_t * | RtspSetup (sout_stream_t *p_stream, const vlc_url_t *url) |
| void | RtspUnsetup (rtsp_stream_t *rtsp) |
| char * | RtspAppendTrackPath (rtsp_stream_id_t *id, const char *base) |
| rtsp_stream_id_t * | RtspAddId (rtsp_stream_t *rtsp, sout_stream_id_t *sid, uint32_t ssrc, const char *dst, int ttl, unsigned loport, unsigned hiport) |
| void | RtspDelId (rtsp_stream_t *rtsp, rtsp_stream_id_t *id) |
| static rtsp_session_t * | RtspClientNew (rtsp_stream_t *rtsp) |
| rtsp must be locked | |
| static rtsp_session_t * | RtspClientGet (rtsp_stream_t *rtsp, const char *name) |
| rtsp must be locked | |
| static const char * | transport_next (const char *str) |
| Finds the next transport choice. | |
| static const char * | parameter_next (const char *str) |
| Finds the next transport parameter. | |
| static int | RtspHandler (rtsp_stream_t *rtsp, rtsp_stream_id_t *id, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query) |
| RTSP requests handler. | |
| typedef struct rtsp_session_t rtsp_session_t |
| typedef struct rtsp_strack_t rtsp_strack_t |
| static const char* parameter_next | ( | const char * | str | ) | [inline, static] |
| rtsp_stream_id_t* RtspAddId | ( | rtsp_stream_t * | rtsp, | |
| sout_stream_id_t * | sid, | |||
| uint32_t | ssrc, | |||
| const char * | dst, | |||
| int | ttl, | |||
| unsigned | loport, | |||
| unsigned | hiport | |||
| ) |
References rtsp_stream_id_t::dst, rtsp_stream_t::host, HTTPD_MSG_DESCRIBE, HTTPD_MSG_GETPARAMETER, HTTPD_MSG_PAUSE, HTTPD_MSG_PLAY, HTTPD_MSG_SETUP, HTTPD_MSG_TEARDOWN, httpd_UrlCatch(), httpd_UrlNewUnique(), msg_Dbg, rtsp_stream_t::owner, rtsp_stream_t::psz_path, RtspAppendTrackPath(), RtspCallbackId(), and rtsp_stream_t::track_id.
Referenced by Add(), and SDPHandleUrl().
| char* RtspAppendTrackPath | ( | rtsp_stream_id_t * | id, | |
| const char * | base | |||
| ) |
References asprintf(), and rtsp_stream_id_t::track_id.
Referenced by RtspAddId(), RtspHandler(), and SDPGenerate().
| static int RtspCallback | ( | httpd_callback_sys_t * | p_args, | |
| httpd_client_t * | cl, | |||
| httpd_message_t * | answer, | |||
| const httpd_message_t * | query | |||
| ) | [static] |
| static int RtspCallbackId | ( | httpd_callback_sys_t * | p_args, | |
| httpd_client_t * | cl, | |||
| httpd_message_t * | answer, | |||
| const httpd_message_t * | query | |||
| ) | [static] |
Non-aggregate RTSP callback.
References RtspHandler(), and rtsp_stream_id_t::stream.
Referenced by RtspAddId().
| static void RtspClientDel | ( | rtsp_stream_t * | rtsp, | |
| rtsp_session_t * | session | |||
| ) | [static] |
rtsp must be locked
References rtsp_strack_t::fd, i, rtsp_strack_t::id, rtp_del_sink(), rtsp_stream_t::sessionc, rtsp_stream_t::sessionv, rtsp_stream_id_t::sout_id, TAB_REMOVE, rtsp_session_t::trackc, and rtsp_session_t::trackv.
| static rtsp_session_t* RtspClientGet | ( | rtsp_stream_t * | rtsp, | |
| const char * | name | |||
| ) | [static] |
rtsp must be locked
References i, rtsp_session_t::id, rtsp_stream_t::sessionc, and rtsp_stream_t::sessionv.
| static rtsp_session_t* RtspClientNew | ( | rtsp_stream_t * | rtsp | ) | [static] |
rtsp must be locked
References rtsp_session_t::id, rtsp_stream_t::sessionc, rtsp_stream_t::sessionv, rtsp_session_t::stream, TAB_APPEND, rtsp_session_t::trackc, rtsp_session_t::trackv, and vlc_rand_bytes().
| void RtspDelId | ( | rtsp_stream_t * | rtsp, | |
| rtsp_stream_id_t * | id | |||
| ) |
References rtsp_strack_t::fd, httpd_UrlDelete(), i, rtsp_strack_t::id, rtsp_stream_t::lock, REMOVE_ELEM, rtp_del_sink(), rtsp_stream_t::sessionc, rtsp_stream_t::sessionv, rtsp_stream_id_t::sout_id, rtsp_session_t::trackc, rtsp_session_t::trackv, rtsp_stream_id_t::url, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by Del().
| static int RtspHandler | ( | rtsp_stream_t * | rtsp, | |
| rtsp_stream_id_t * | id, | |||
| httpd_client_t * | cl, | |||
| httpd_message_t * | answer, | |||
| const httpd_message_t * | query | |||
| ) | [static] |
RTSP requests handler.
| id | selected track for non-aggregate URLs, NULL for aggregate URLs |
References dst, rtsp_strack_t::fd, gmtime_r(), rtsp_stream_id_t::hiport, httpd_ClientIP(), HTTPD_MSG_ANSWER, HTTPD_MSG_DESCRIBE, HTTPD_MSG_GETPARAMETER, HTTPD_MSG_PAUSE, HTTPD_MSG_PLAY, HTTPD_MSG_SETUP, HTTPD_MSG_TEARDOWN, httpd_MsgAdd(), httpd_MsgGet(), HTTPD_PROTO_RTSP, httpd_ServerIP(), i, httpd_message_t::i_body, httpd_message_t::i_proto, httpd_message_t::i_status, httpd_message_t::i_type, httpd_message_t::i_version, rtsp_strack_t::id, INSERT_ELEM, rtsp_stream_t::lock, rtsp_stream_id_t::loport, msg_Err, net_ConnectDgram, net_GetSockAddress(), NI_MAXNUMERICHOST, rtsp_stream_t::owner, httpd_message_t::p_body, p_stream, parameter_next(), rtsp_strack_t::playing, rtsp_stream_t::port, rtsp_stream_t::psz_path, REMOVE_ELEM, rtp_add_sink(), rtp_compute_ts(), rtp_del_sink(), rtp_get_seq(), rtp_get_ts(), RtspAppendTrackPath(), RtspClientDel(), RtspClientGet(), RtspClientNew(), SDPGenerate(), rtsp_stream_id_t::sout_id, src, rtsp_stream_id_t::ssrc, strncasecmp(), rtsp_session_t::trackc, rtsp_session_t::trackv, transport_next(), rtsp_stream_id_t::ttl, VLC_EGENERIC, vlc_mrand48(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by RtspCallback(), and RtspCallbackId().
| rtsp_stream_t* RtspSetup | ( | sout_stream_t * | p_stream, | |
| const vlc_url_t * | url | |||
| ) |
References rtsp_stream_t::host, httpd_HostNew(), HTTPD_MSG_DESCRIBE, HTTPD_MSG_GETPARAMETER, HTTPD_MSG_PAUSE, HTTPD_MSG_PLAY, HTTPD_MSG_SETUP, HTTPD_MSG_TEARDOWN, httpd_UrlCatch(), httpd_UrlNewUnique(), vlc_url_t::i_port, rtsp_stream_t::lock, msg_Dbg, rtsp_stream_t::owner, rtsp_stream_t::port, vlc_url_t::psz_host, vlc_url_t::psz_path, rtsp_stream_t::psz_path, RtspCallback(), RtspUnsetup(), rtsp_stream_t::sessionc, rtsp_stream_t::sessionv, strdup(), rtsp_stream_t::track_id, rtsp_stream_t::url, vlc_mutex_init(), and VLC_OBJECT.
Referenced by SDPHandleUrl().
| void RtspUnsetup | ( | rtsp_stream_t * | rtsp | ) |
| static const char* transport_next | ( | const char * | str | ) | [inline, static] |
1.5.6