summaryrefslogtreecommitdiffstats
path: root/stream/http.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-10 19:47:24 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-12-10 19:47:24 +0000
commit12e48b5cd0af771f684e6e7d4d87c0487f49dc09 (patch)
treebc9ee02be7b14d22d433bbe4bdb46affc8292352 /stream/http.c
parent6a2fc8dd2cd6224cd2952d3024d1e4a06086410f (diff)
downloadmpv-12e48b5cd0af771f684e6e7d4d87c0487f49dc09.tar.bz2
mpv-12e48b5cd0af771f684e6e7d4d87c0487f49dc09.tar.xz
Make sure closesocket is called.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21583 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/http.c')
-rw-r--r--stream/http.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/stream/http.c b/stream/http.c
index 3d82ebab92..79ad7b1031 100644
--- a/stream/http.c
+++ b/stream/http.c
@@ -717,6 +717,7 @@ base64_encode(const void *enc, int encLen, char *out, int outMax) {
return -1;
}
+//! If this function succeeds you must closesocket stream->fd
static int http_streaming_start(stream_t *stream, int* file_format) {
HTTP_header_t *http_hdr = NULL;
unsigned int i;
@@ -877,6 +878,9 @@ static int fixup_open(stream_t *stream,int seekable) {
if ((!is_icy && !is_ultravox) || scast_streaming_start(stream))
if(nop_streaming_start( stream )) {
mp_msg(MSGT_NETWORK,MSGL_ERR,"nop_streaming_start failed\n");
+ if (stream->fd >= 0)
+ closesocket(stream->fd);
+ stream->fd = -1;
streaming_ctrl_free(stream->streaming_ctrl);
stream->streaming_ctrl = NULL;
return STREAM_UNSUPORTED;
@@ -902,6 +906,9 @@ static int open_s1(stream_t *stream,int mode, void* opts, int* file_format) {
mp_msg(MSGT_OPEN, MSGL_V, "STREAM_HTTP(1), URL: %s\n", stream->url);
seekable = http_streaming_start(stream, file_format);
if((seekable < 0) || (*file_format == DEMUXER_TYPE_ASF)) {
+ if (stream->fd >= 0)
+ closesocket(stream->fd);
+ stream->fd = -1;
streaming_ctrl_free(stream->streaming_ctrl);
stream->streaming_ctrl = NULL;
return STREAM_UNSUPORTED;
@@ -926,6 +933,9 @@ static int open_s2(stream_t *stream,int mode, void* opts, int* file_format) {
mp_msg(MSGT_OPEN, MSGL_V, "STREAM_HTTP(2), URL: %s\n", stream->url);
seekable = http_streaming_start(stream, file_format);
if(seekable < 0) {
+ if (stream->fd >= 0)
+ closesocket(stream->fd);
+ stream->fd = -1;
streaming_ctrl_free(stream->streaming_ctrl);
stream->streaming_ctrl = NULL;
return STREAM_UNSUPORTED;