From 1f57d60129b0e297cd197c6031c4439b30a6b503 Mon Sep 17 00:00:00 2001 From: Ed Torbett Date: Fri, 26 Jul 2013 11:38:00 +0100 Subject: rtsp: Support RFC4570 (source specific multicast) more properly. Add support for domain names, for multiple source addresses, for exclusions, and for session level specification of addresses. Signed-off-by: Martin Storsjö --- libavformat/rtsp.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libavformat/rtsp.h') diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h index eff5aa4db7..e01ba98e23 100644 --- a/libavformat/rtsp.h +++ b/libavformat/rtsp.h @@ -402,6 +402,10 @@ typedef struct RTSPState { #define RTSP_FLAG_LISTEN 0x2 /**< Wait for incoming connections. */ #define RTSP_FLAG_CUSTOM_IO 0x4 /**< Do all IO via the AVIOContext. */ +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 * SDP content. In the case of RDT, one RTSPStream can represent multiple @@ -425,7 +429,10 @@ typedef struct RTSPStream { //@{ int sdp_port; /**< port (from SDP content) */ struct sockaddr_storage sdp_ip; /**< IP address (from SDP content) */ - char source_addr[100]; /**< Source-specific multicast source 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 */ //@} -- cgit v1.2.3