[FFmpeg-cvslog] icecast: Do not use chunked post

Mark McGough git at videolan.org
Sat Feb 28 19:29:15 CET 2015


ffmpeg | branch: release/2.4 | Mark McGough <madmanmarkau at gmail.com> | Sun Oct 12 18:24:07 2014 +0800| [e10028431d5cd90db7b2a4b0d16721bb1a6d75e3] | committer: Luca Barbato

icecast: Do not use chunked post

Icecast uses HTTP 1.0 while Libav uses HTTP 1.1 and enables by
default chunked post.

Icecast actually forwards the HTTP chunk headers to the listener
as part of the media stream (without the chunk encoding HTTP headers)
causing the players to lose sync.

Disabling the option is enough to feed icecast properly.

(cherry picked from commit 76c70e33d2244a688832f03b53862eb5d9ad3b01)
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

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

 libavformat/icecast.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/icecast.c b/libavformat/icecast.c
index b671d8c..155396f 100644
--- a/libavformat/icecast.c
+++ b/libavformat/icecast.c
@@ -126,6 +126,7 @@ static int icecast_open(URLContext *h, const char *uri, int flags)
     av_dict_set(&opt_dict, "method", s->legacy_icecast ? "SOURCE" : "PUT", 0);
     av_dict_set(&opt_dict, "auth_type", "basic", 0);
     av_dict_set(&opt_dict, "headers", headers, 0);
+    av_dict_set(&opt_dict, "chunked_post", "0", 0);
     if (NOT_EMPTY(s->content_type))
         av_dict_set(&opt_dict, "content_type", s->content_type, 0);
     if (NOT_EMPTY(s->user_agent))



More information about the ffmpeg-cvslog mailing list