#include <rtsp.h>
Data Fields | |
| URLContext * | rtsp_hd |
| int | nb_rtsp_streams |
| number of items in the 'rtsp_streams' variable | |
| struct RTSPStream ** | rtsp_streams |
| streams in this session | |
| enum RTSPClientState | state |
| indicator of whether we are currently receiving data from the server. | |
| int64_t | seek_timestamp |
| the seek value requested when calling av_seek_frame(). | |
| int | seq |
| RTSP command sequence number. | |
| char | session_id [512] |
| copy of RTSPMessageHeader->session_id, i.e. | |
| int | timeout |
| copy of RTSPMessageHeader->timeout, i.e. | |
| int64_t | last_cmd_time |
| timestamp of the last RTSP command that we sent to the RTSP server. | |
| enum RTSPTransport | transport |
| the negotiated data/packet transport protocol; e.g. | |
| enum RTSPLowerTransport | lower_transport |
| the negotiated network layer transport protocol; e.g. | |
| enum RTSPServerType | server_type |
| brand of server that we're talking to; e.g. | |
| char | auth [128] |
| plaintext authorization line (username:password) | |
| HTTPAuthState | auth_state |
| authentication state | |
| char | last_reply [2048] |
| The last reply of the server to a RTSP command. | |
| void * | cur_transport_priv |
| RTSPStream->transport_priv of the last stream that we read a packet from. | |
| enum AVDiscard *real_setup_cache enum AVDiscard *real_setup char last_subscription[1024] AVFormatContext *asf_ctx uint64_t asf_pb_pos char control_uri[1024] URLContext *rtsp_hd_out enum RTSPControlTransport | control_transport |
| stream setup during the last frame read. | |
| int | nb_byes |
| uint8_t * | recvbuf |
| Reusable buffer for receiving packets. | |
| int | filter_source |
| Filter incoming UDP packets - receive packets only from the right source address and port. | |
| int | need_subscription |
| The following are used for Real stream selection. | |
Definition at line 198 of file rtsp.h.
Definition at line 199 of file rtsp.h.
Referenced by ff_rtsp_close_connections(), ff_rtsp_connect(), ff_rtsp_read_reply(), ff_rtsp_skip_packet(), ff_rtsp_tcp_read_packet(), and rtsp_write_packet().
number of items in the 'rtsp_streams' variable
Definition at line 202 of file rtsp.h.
Referenced by ff_rtsp_close_streams(), ff_rtsp_setup_output_streams(), ff_rtsp_tcp_read_packet(), handle_rtp_info(), make_setup_request(), rtsp_read_packet(), rtsp_read_play(), rtsp_write_packet(), and sdp_read_header().
struct RTSPStream** RTSPState::rtsp_streams [read] |
streams in this session
Definition at line 204 of file rtsp.h.
Referenced by ff_rtsp_close_streams(), ff_rtsp_setup_output_streams(), ff_rtsp_tcp_read_packet(), handle_rtp_info(), make_setup_request(), rtsp_read_packet(), rtsp_read_play(), rtsp_write_packet(), and sdp_read_header().
indicator of whether we are currently receiving data from the server.
Basically this isn't more than a simple cache of the last PLAY/PAUSE command sent to the server, to make sure we don't send 2x the same unexpectedly or commands in the wrong state.
Definition at line 210 of file rtsp.h.
Referenced by ff_rtsp_connect(), ff_rtsp_read_reply(), ff_rtsp_tcp_read_packet(), rtsp_read_packet(), rtsp_read_pause(), rtsp_read_play(), rtsp_read_seek(), rtsp_write_packet(), and rtsp_write_record().
| int64_t RTSPState::seek_timestamp |
the seek value requested when calling av_seek_frame().
This value is subsequently used as part of the "Range" parameter when emitting the RTSP PLAY command. If we are currently playing, this command is called instantly. If we are currently paused, this command is called whenever we resume playback. Either way, the value is only used once, see rtsp_read_play() and rtsp_read_seek().
Definition at line 218 of file rtsp.h.
Referenced by ff_rtsp_connect(), rtsp_read_play(), and rtsp_read_seek().
| int RTSPState::seq |
RTSP command sequence number.
Definition at line 223 of file rtsp.h.
Referenced by ff_rtsp_connect(), ff_rtsp_read_reply(), and ff_rtsp_send_cmd_with_content_async().
| char RTSPState::session_id[512] |
copy of RTSPMessageHeader->session_id, i.e.
the server-provided session identifier that the client should re-transmit in each RTSP command
Definition at line 227 of file rtsp.h.
Referenced by ff_rtsp_read_reply(), ff_rtsp_send_cmd_with_content_async(), and make_setup_request().
copy of RTSPMessageHeader->timeout, i.e.
the time (in seconds) that the server will go without traffic on the RTSP/TCP line before it closes the connection.
Definition at line 232 of file rtsp.h.
Referenced by make_setup_request(), and rtsp_read_packet().
| int64_t RTSPState::last_cmd_time |
timestamp of the last RTSP command that we sent to the RTSP server.
This is used to calculate when to send dummy commands to keep the connection alive, in conjunction with timeout.
Definition at line 237 of file rtsp.h.
Referenced by ff_rtsp_send_cmd_with_content_async(), and rtsp_read_packet().
the negotiated data/packet transport protocol; e.g.
RTP or RDT
Definition at line 240 of file rtsp.h.
Referenced by ff_rtsp_close_streams(), ff_rtsp_tcp_read_packet(), handle_rtp_info(), make_setup_request(), rtsp_open_transport_ctx(), and rtsp_read_play().
the negotiated network layer transport protocol; e.g.
TCP or UDP uni-/multicast
Definition at line 244 of file rtsp.h.
Referenced by ff_rtsp_close_streams(), make_setup_request(), rtsp_open_transport_ctx(), rtsp_read_close(), and rtsp_write_packet().
brand of server that we're talking to; e.g.
WMS, REAL or other. Detected based on the value of RTSPMessageHeader->server or the presence of RTSPMessageHeader->real_challenge
Definition at line 249 of file rtsp.h.
Referenced by ff_rtsp_connect(), ff_rtsp_setup_input_streams(), make_setup_request(), rtsp_read_packet(), rtsp_read_pause(), and rtsp_read_play().
| char RTSPState::auth[128] |
plaintext authorization line (username:password)
Definition at line 252 of file rtsp.h.
Referenced by ff_rtsp_connect(), and ff_rtsp_send_cmd_with_content_async().
authentication state
Definition at line 255 of file rtsp.h.
Referenced by ff_rtsp_parse_line(), ff_rtsp_send_cmd_with_content(), and ff_rtsp_send_cmd_with_content_async().
| char RTSPState::last_reply[2048] |
The last reply of the server to a RTSP command.
Definition at line 258 of file rtsp.h.
Referenced by ff_rtsp_read_reply(), and ff_rtsp_send_cmd_with_content().
The following are used for Real stream selection.
whether we need to send a "SET_PARAMETER Subscribe:" command
Definition at line 267 of file rtsp.h.
Referenced by make_setup_request(), rtsp_read_packet(), rtsp_read_pause(), and rtsp_read_play().
| enum AVDiscard* real_setup_cache enum AVDiscard* real_setup char last_subscription [1024] AVFormatContext* asf_ctx uint64_t asf_pb_pos char control_uri [1024] URLContext* rtsp_hd_out enum RTSPControlTransport RTSPState::control_transport |
stream setup during the last frame read.
This is used to detect if we need to subscribe or unsubscribe to any new streams. current stream setup. This is a temporary buffer used to compare current setup to previous frame setup. the last value of the "SET_PARAMETER Subscribe:" RTSP command. this is used to send the same "Unsubscribe:" if stream setup changed, before sending a new "Subscribe:" command. The following are used for RTP/ASF streams ASF demuxer context for the embedded ASF stream from WMS servers cache for position of the asf demuxer, since we load a new data packet in the bytecontext for each incoming RTSP packet. some MS RTSP streams contain a URL in the SDP that we need to use for all subsequent RTSP requests, rather than the input URI; in other cases, this is a copy of AVFormatContext->filename. Additional output handle, used when input and output are done separately, eg for HTTP tunneling. RTSP transport mode, such as plain or tunneled.
Definition at line 303 of file rtsp.h.
Referenced by ff_rtsp_connect(), and ff_rtsp_send_cmd_with_content_async().
| uint8_t* RTSPState::recvbuf |
Reusable buffer for receiving packets.
Definition at line 311 of file rtsp.h.
Referenced by ff_rtsp_close_streams().
Filter incoming UDP packets - receive packets only from the right source address and port.
Definition at line 315 of file rtsp.h.
Referenced by ff_rtsp_connect(), and make_setup_request().
1.5.6