vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Fri Dec 18 21:11:51 2015 +0200| [0c73679a0dd9e42df5ef52bfe5e8b0b68a8be335] | committer: Rémi Denis-Courmont
https: send CANCEL error if closing before end-of-stream > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0c73679a0dd9e42df5ef52bfe5e8b0b68a8be335 --- modules/access/http/h2conn.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/access/http/h2conn.c b/modules/access/http/h2conn.c index 0199b51..ad4d421 100644 --- a/modules/access/http/h2conn.c +++ b/modules/access/http/h2conn.c @@ -309,11 +309,12 @@ static block_t *vlc_h2_stream_read(struct vlc_http_stream *stream) * Sends an HTTP/2 stream reset, removes the stream from the HTTP/2 connection * and deletes any stream resource. */ -static void vlc_h2_stream_close(struct vlc_http_stream *stream, bool abort) +static void vlc_h2_stream_close(struct vlc_http_stream *stream, bool aborted) { struct vlc_h2_stream *s = (struct vlc_h2_stream *)stream; struct vlc_h2_conn *conn = s->conn; bool destroy = false; + uint_fast32_t code = VLC_H2_NO_ERROR; vlc_mutex_lock(&conn->lock); if (s->older != NULL) @@ -328,7 +329,11 @@ static void vlc_h2_stream_close(struct vlc_http_stream *stream, bool abort) } vlc_mutex_unlock(&conn->lock); - vlc_h2_stream_error(conn, s->id, abort ? VLC_H2_CANCEL : VLC_H2_NO_ERROR); + if (s->recv_hdr != NULL || s->recv_head != NULL || !s->recv_end) + code = VLC_H2_CANCEL; + (void) aborted; + + vlc_h2_stream_error(conn, s->id, code); if (s->recv_hdr != NULL) vlc_http_msg_destroy(s->recv_hdr); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
