aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/hlsenc.c
diff options
context:
space:
mode:
authorKarthick Jeyapal <kjeyapal@akamai.com>2017-12-25 12:08:06 +0800
committerSteven Liu <lq@chinaffmpeg.org>2017-12-25 12:08:06 +0800
commitbe2da4c52221c5ec0769ccea675a896e324d1f41 (patch)
tree211da453ea4919f29200eac1fcaac16d7100a044 /libavformat/hlsenc.c
parent6848201f704b5e8e1ebdc911dba94ebc1e52c6b0 (diff)
downloadffmpeg-be2da4c52221c5ec0769ccea675a896e324d1f41.tar.gz
avformat/hlsenc: Signal http end of chunk(http_shutdown) during hlsenc_io_close()
Currently http end of chunk is signalled implicitly in hlsenc_io_open(). This mean playlists http writes would have to wait upto a segment duration to signal end of chunk causing delays. This patch will fix that problem and improve performance.
Diffstat (limited to 'libavformat/hlsenc.c')
-rw-r--r--libavformat/hlsenc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index bbc2742dc7..b850b1a320 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -269,8 +269,13 @@ static void hlsenc_io_close(AVFormatContext *s, AVIOContext **pb, char *filename
if (!http_base_proto || !hls->http_persistent || hls->key_info_file || hls->encrypt) {
ff_format_io_close(s, pb);
+#if CONFIG_HTTP_PROTOCOL
} else {
+ URLContext *http_url_context = ffio_geturlcontext(*pb);
+ av_assert0(http_url_context);
avio_flush(*pb);
+ ffurl_shutdown(http_url_context, AVIO_FLAG_WRITE);
+#endif
}
}