summaryrefslogtreecommitdiff
path: root/ffmpeg/libavformat/rtsp.h
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpeg/libavformat/rtsp.h')
-rw-r--r--ffmpeg/libavformat/rtsp.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/ffmpeg/libavformat/rtsp.h b/ffmpeg/libavformat/rtsp.h
index 321cd7a..76c7f18 100644
--- a/ffmpeg/libavformat/rtsp.h
+++ b/ffmpeg/libavformat/rtsp.h
@@ -391,9 +391,19 @@ typedef struct RTSPState {
int initial_timeout;
/**
+ * timeout of socket i/o operations.
+ */
+ int stimeout;
+
+ /**
* Size of RTP packet reordering queue.
*/
int reordering_queue_size;
+
+ /**
+ * User-Agent string
+ */
+ char *user_agent;
} RTSPState;
#define RTSP_FLAG_FILTER_SRC 0x1 /**< Filter incoming UDP packets -
@@ -401,6 +411,12 @@ typedef struct RTSPState {
source address and port. */
#define RTSP_FLAG_LISTEN 0x2 /**< Wait for incoming connections. */
#define RTSP_FLAG_CUSTOM_IO 0x4 /**< Do all IO via the AVIOContext. */
+#define RTSP_FLAG_RTCP_TO_SOURCE 0x8 /**< Send RTCP packets to the source
+ address of received packets. */
+
+typedef struct RTSPSource {
+ char addr[128]; /**< Source-specific multicast include source IP address (from SDP content) */
+} RTSPSource;
/**
* Describe a single stream, as identified by a single m= line block in the
@@ -425,6 +441,10 @@ typedef struct RTSPStream {
//@{
int sdp_port; /**< port (from SDP content) */
struct sockaddr_storage sdp_ip; /**< IP address (from SDP content) */
+ int nb_include_source_addrs; /**< Number of source-specific multicast include source IP addresses (from SDP content) */
+ struct RTSPSource **include_source_addrs; /**< Source-specific multicast include source IP addresses (from SDP content) */
+ int nb_exclude_source_addrs; /**< Number of source-specific multicast exclude source IP addresses (from SDP content) */
+ struct RTSPSource **exclude_source_addrs; /**< Source-specific multicast exclude source IP addresses (from SDP content) */
int sdp_ttl; /**< IP Time-To-Live (from SDP content) */
int sdp_payload_type; /**< payload type */
//@}
@@ -578,6 +598,11 @@ int ff_rtsp_tcp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
uint8_t *buf, int buf_size);
/**
+ * Send buffered packets over TCP.
+ */
+int ff_rtsp_tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st);
+
+/**
* Receive one packet from the RTSPStreams set up in the AVFormatContext
* (which should contain a RTSPState struct as priv_data).
*/
@@ -595,7 +620,7 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
* Undo the effect of ff_rtsp_make_setup_request, close the
* transport_priv and rtp_handle fields.
*/
-void ff_rtsp_undo_setup(AVFormatContext *s);
+void ff_rtsp_undo_setup(AVFormatContext *s, int send_packets);
/**
* Open RTSP transport context.