diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2009-01-04 18:17:20 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2009-01-04 18:17:20 +0000 |
commit | 04f5017df9827e1bc4cd66df38346e411c0c1b82 (patch) | |
tree | 95c1d8a3f6bef24dffac5102a4d0d14193477f6a /src/demuxers | |
parent | a251dc779c6eaf0d29b126b02877fc10838aaec0 (diff) | |
parent | c4ca0e127e4c3407df8268ec6320576f98c83567 (diff) | |
download | xine-lib-04f5017df9827e1bc4cd66df38346e411c0c1b82.tar.gz xine-lib-04f5017df9827e1bc4cd66df38346e411c0c1b82.tar.bz2 |
Merge from 1.1.
Diffstat (limited to 'src/demuxers')
-rw-r--r-- | src/demuxers/demux_wav.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/demuxers/demux_wav.c b/src/demuxers/demux_wav.c index 280288baa..bfabfad38 100644 --- a/src/demuxers/demux_wav.c +++ b/src/demuxers/demux_wav.c @@ -209,11 +209,16 @@ static int demux_wav_send_chunk(demux_plugin_t *this_gen) { buf->size = remaining_sample_bytes; remaining_sample_bytes -= buf->size; - if (this->input->read(this->input, buf->content, buf->size) != + off_t read; + if ((read = this->input->read(this->input, buf->content, buf->size)) != buf->size) { - buf->free_buffer(buf); - this->status = DEMUX_FINISHED; - break; + if (read == 0) { + buf->free_buffer(buf); + this->status = DEMUX_FINISHED; + break; + } else { + buf->size = read; + } } #if 0 |