aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2010-12-27 09:51:09 +0200
committerMartin Storsjö <martin@martin.st>2011-10-12 14:48:47 +0300
commit76b0d03d827626b9c235812096b0be490a6e4ea0 (patch)
tree82d9f5ffb961b8373f11e8d9f1e91a29f4ad5dc8
parent30eae325302a99fd6c3051c34b60a605765e026c (diff)
downloadffmpeg-76b0d03d827626b9c235812096b0be490a6e4ea0.tar.gz
rtsp: Request that dynamic rate is disabled
DSS enables this automatically if streaming VOD over TCP. If enabled, the server feeds packets faster than realtime, screwing up RTCP NTP based timestamps. Also, DSS doesn't indicate that this was indicated, if it was enabled automatically (although if it was requested to be enabled, a header saying that it was enabled is added, but this isn't added if it is enabled automatically), making it even harder to detect and work around properly without explicitly asking for it to be disabled(/enabled, if we were able to support it). Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/rtsp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index ba104d24b8..674a8b6017 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1168,6 +1168,8 @@ int ff_rtsp_make_setup_request(AVFormatContext *s, const char *host, int port,
snprintf(cmd, sizeof(cmd),
"Transport: %s\r\n",
transport);
+ if (rt->accept_dynamic_rate)
+ av_strlcat(cmd, "x-Dynamic-Rate: 0\r\n", sizeof(cmd));
if (i == 0 && rt->server_type == RTSP_SERVER_REAL && CONFIG_RTPDEC) {
char real_res[41], real_csum[9];
ff_rdt_calc_response_and_checksum(real_res, real_csum,