summaryrefslogtreecommitdiff
path: root/libavformat/rtsp.h
diff options
context:
space:
mode:
authorEd Torbett <ed.torbett@simulation-systems.co.uk>2013-06-27 08:53:00 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-07-18 18:01:31 +0200
commit7203dbde3910b9be3345bc04667a01ecd9291445 (patch)
treed729b23c271d4bbfd8230f50facb4a54565d4016 /libavformat/rtsp.h
parentebaf20e94b99edfa2d1fb70e68ae6eba90773a47 (diff)
avformat/rt*p: Joining a SSM multicast group using an SDP (Issue #2171)
Passes Source-Specific Multicast parameters read from an sdp file through to the UDP socket code, allowing source-specific multicast streams to be correctly received. As an integral part of this change, additional checking (currently only enabled in the case of SSM streams, but probably useful in similar scenarios) has been added to the RTP protocol handler to distinguish UDP packets arriving from multiple sources to the same port and process only the expected packets (those transmitted from the expected UDP source address). This resolves an issue identified when multiple instances of FFmpeg subscribe to different Source-Specific Multicast streams but with each sharing the same destination port. Signed-off-by: Edward Torbett <ed.torbett@simulation-systems.co.uk> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/rtsp.h')
-rw-r--r--libavformat/rtsp.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index 9e6e23785a..a68b204139 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -435,6 +435,8 @@ typedef struct RTSPStream {
//@{
int sdp_port; /**< port (from SDP content) */
struct sockaddr_storage sdp_ip; /**< IP address (from SDP content) */
+ int ssm; /**< Whether the stream should use source-specific multicast or not (from SDP content) */
+ struct sockaddr_storage source_ip; /**< Source-specific multicast source IP address (from SDP content) */
int sdp_ttl; /**< IP Time-To-Live (from SDP content) */
int sdp_payload_type; /**< payload type */
//@}