Commit de3a7ef2 authored by Stephan Holljes's avatar Stephan Holljes Committed by Michael Niedermayer

lavf/http: Correctly terminate session with HTTP POST client.

Send a footer to correctly close client sockets.
This fixes network errors in client applications.
Signed-off-by: 's avatarStephan Holljes <klaxa1337@googlemail.com>
Reviewed-by: 's avatarNicolas George <george@nsup.org>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 63276fa9
......@@ -325,6 +325,7 @@ static int http_listen(URLContext *h, const char *uri, int flags,
char lower_url[100];
const char *lower_proto = "tcp";
int port, new_location;
s->chunked_post = 1;
av_url_split(proto, sizeof(proto), NULL, 0, hostname, sizeof(hostname), &port,
NULL, 0, uri);
if (!strcmp(proto, "https"))
......@@ -1242,7 +1243,8 @@ static int http_shutdown(URLContext *h, int flags)
HTTPContext *s = h->priv_data;
/* signal end of chunked encoding if used */
if ((flags & AVIO_FLAG_WRITE) && s->chunked_post) {
if (((flags & AVIO_FLAG_WRITE) && s->chunked_post) ||
((flags & AVIO_FLAG_READ) && s->chunked_post && s->listen)) {
ret = ffurl_write(s->hd, footer, sizeof(footer) - 1);
ret = ret > 0 ? 0 : ret;
s->end_chunked_post = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment