I got a DVD+R burnt that had errors in some of the files. They're .avi files, and I hope that mplayer will be able to handle the I/O errors, which looked like:
cp: reading `/dvd/file.avi': Input/output error
So instead of using "cp" to copy the files I used:
dd if=/dvd/file.avi of=file.avi conv=noerror bs=2048
Hopefully it works.