diff options
author | rsf <rsf@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-02 01:46:47 +0000 |
---|---|---|
committer | rsf <rsf@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-04-02 01:46:47 +0000 |
commit | bbb4b7b18fde3708e0d40f8f5829d0c8e2b0ce11 (patch) | |
tree | 703be8282dc8dcd5aa1670f127393e7c0ed0e8bf | |
parent | bc5277b1bdd3eedbfb32ae301f66ea4d8b6b1e8c (diff) | |
download | mpv-bbb4b7b18fde3708e0d40f8f5829d0c8e2b0ce11.tar.bz2 mpv-bbb4b7b18fde3708e0d40f8f5829d0c8e2b0ce11.tar.xz |
Added a test for "s->fd == NULL" to the start of "stream_fill_buffer()".
("fd" is NULL if the session is defined by a SDP file, for example.)
It turns out that this test is necessary only for Solaris, not Linux,
because in Linux, "s->eof" got set after the prior (failing) call to
"lseek()" in "stream_seek_long()". In Solaris, however, "lseek(NULL, ...)"
returns 0 (go figure!) rather than -1, so "s->eof" doesn't get set in
"stream_seek_long()".
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9788 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/stream.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libmpdemux/stream.c b/libmpdemux/stream.c index ac1fb49d75..f89a5afd52 100644 --- a/libmpdemux/stream.c +++ b/libmpdemux/stream.c @@ -56,7 +56,7 @@ void close_cdda(stream_t* s); int stream_fill_buffer(stream_t *s){ int len; - if(s->eof){ s->buf_pos=s->buf_len=0; return 0; } + if (s->fd == NULL || s->eof) { s->buf_pos = s->buf_len = 0; return 0; } switch(s->type){ #ifdef LIBSMBCLIENT case STREAMTYPE_SMB: |