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

Mark McGough git at videolan.org
Mon Oct 13 01:32:47 CEST 2014


ffmpeg | branch: master | Mark McGough <madmanmarkau at gmail.com> | Sun Oct 12 18:24:07 2014 +0800| [76c70e33d2244a688832f03b53862eb5d9ad3b01] | 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.

Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

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

 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