Mercurial > mplayer.hg
diff stream/stream_dvd.c @ 28181:a02653498c15
Work around a dvdread bug where DVDReadBlocks would return values < 0 on read error,
causing hangs e.g. when seeking to the very last chapter (which would read beyond the
size of the DVD).
author | reimar |
---|---|
date | Wed, 31 Dec 2008 14:21:50 +0000 |
parents | 55571c85e40e |
children | a39df27439b9 |
line wrap: on
line diff
--- a/stream/stream_dvd.c Tue Dec 30 21:39:42 2008 +0000 +++ b/stream/stream_dvd.c Wed Dec 31 14:21:50 2008 +0000 @@ -364,7 +364,8 @@ } len = DVDReadBlocks(d->title, d->cur_pack, 1, data); - if(!len) return -1; //error + // only == 0 should indicate an error, but some dvdread version are buggy when used with dvdcss + if(len <= 0) return -1; //error if(data[38]==0 && data[39]==0 && data[40]==1 && data[41]==0xBF && data[1024]==0 && data[1025]==0 && data[1026]==1 && data[1027]==0xBF) {