[FFmpeg-cvslog] rtsp: Request that dynamic rate is disabled

Martin Storsjö git at videolan.org
Thu Oct 13 06:01:46 CEST 2011


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Mon Dec 27 09:51:09 2010 +0200| [76b0d03d827626b9c235812096b0be490a6e4ea0] | committer: Martin Storsjö

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 at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=76b0d03d827626b9c235812096b0be490a6e4ea0
---

 libavformat/rtsp.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index ba104d2..674a8b6 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,



More information about the ffmpeg-cvslog mailing list