From e10028431d5cd90db7b2a4b0d16721bb1a6d75e3 Mon Sep 17 00:00:00 2001 From: Mark McGough Date: Sun, 12 Oct 2014 18:24:07 +0800 Subject: [PATCH] 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 --- libavformat/icecast.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/icecast.c b/libavformat/icecast.c index b671d8ced9..155396fcc4 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))