diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-10 19:47:24 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-12-10 19:47:24 +0000 |
commit | 12e48b5cd0af771f684e6e7d4d87c0487f49dc09 (patch) | |
tree | bc9ee02be7b14d22d433bbe4bdb46affc8292352 /stream | |
parent | 6a2fc8dd2cd6224cd2952d3024d1e4a06086410f (diff) | |
download | mpv-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')
-rw-r--r-- | stream/http.c | 10 |
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; |