# HG changeset patch # User nicodvb # Date 1162118029 0 # Node ID 0cc36dd385ec81e31254953d25a96795e698a345 # Parent 8fb92804c65202f06f81666ea1e467e226442eeb fixed mishandling of stream_read() (it doesn't necessarily return -1 in case of error) diff -r 8fb92804c652 -r 0cc36dd385ec libmpdemux/demux_ts.c --- a/libmpdemux/demux_ts.c Sun Oct 29 10:23:15 2006 +0000 +++ b/libmpdemux/demux_ts.c Sun Oct 29 10:33:49 2006 +0000 @@ -2827,10 +2827,10 @@ p = &((*dp)->buffer[*dp_offset]); } - buf_size = stream_read(stream, p, buf_size); - if(buf_size==-1) + len = stream_read(stream, p, buf_size); + if(len < buf_size) { - mp_msg(MSGT_DEMUX, MSGL_DBG2, "\r\nts_parse() couldn't read data\r\n"); + mp_msg(MSGT_DEMUX, MSGL_DBG2, "\r\nts_parse() couldn't read enough data: %d < %d\r\n", len, buf_size); continue; } stream_skip(stream, junk);