aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-08-14 12:42:37 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-08-14 12:42:44 +0200
commit20904518e98bcd4f578f97ccf27dee29f481e969 (patch)
treefd537562bf0199c12ccc05f28be8c62cc3ab4379
parent2425be894a527640c98b8c30f3bbecce77e730f1 (diff)
parentb56fc18b20d62c3d2a134b53738deaabfd491e89 (diff)
downloadffmpeg-20904518e98bcd4f578f97ccf27dee29f481e969.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: sdp: Add an option for sending RTCP packets to the source of the last packets Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/rtsp.c8
-rw-r--r--libavformat/rtsp.h2
2 files changed, 7 insertions, 3 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 5226b26ae1..2abb36b4a5 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -99,6 +99,7 @@ const AVOption ff_rtsp_options[] = {
static const AVOption sdp_options[] = {
RTSP_FLAG_OPTS("sdp_flags", "SDP flags"),
{ "custom_io", "Use custom IO", 0, AV_OPT_TYPE_CONST, {.i64 = RTSP_FLAG_CUSTOM_IO}, 0, 0, DEC, "rtsp_flags" },
+ { "rtcp_to_source", "Send RTCP packets to the source address of received packets", 0, AV_OPT_TYPE_CONST, {.i64 = RTSP_FLAG_RTCP_TO_SOURCE}, 0, 0, DEC, "rtsp_flags" },
RTSP_MEDIATYPE_OPTS("allowed_media_types", "Media types to accept from the server"),
RTSP_REORDERING_OPTS(),
{ NULL },
@@ -2171,9 +2172,10 @@ static int sdp_read_header(AVFormatContext *s)
namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
ff_url_join(url, sizeof(url), "rtp", NULL,
namebuf, rtsp_st->sdp_port,
- "?localport=%d&ttl=%d&connect=%d", rtsp_st->sdp_port,
- rtsp_st->sdp_ttl,
- rt->rtsp_flags & RTSP_FLAG_FILTER_SRC ? 1 : 0);
+ "?localport=%d&ttl=%d&connect=%d&write_to_source=%d",
+ rtsp_st->sdp_port, rtsp_st->sdp_ttl,
+ rt->rtsp_flags & RTSP_FLAG_FILTER_SRC ? 1 : 0,
+ rt->rtsp_flags & RTSP_FLAG_RTCP_TO_SOURCE ? 1 : 0);
append_source_addrs(url, sizeof(url), "sources",
rtsp_st->nb_include_source_addrs,
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index add0dc0798..2dc4b6cbae 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -411,6 +411,8 @@ 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) */