I'm running Debian testing + stuff from debian-multimedia.org I have the same problem with whatever version of older mplayer comes with Debian testing as well DebMM's dev-SVN-r26940 and my own built dev-SVN-r27725-4.3.2 I also have this problem on two separate computers. Most other DVDs work fine. The DVD in question is The DaVinci Code, Disc 1, Region 1. What happens is, if I play with: mplayer dvd//:1 it hangs after about 8 seconds and the kernel starts spewing messages like: [80665.956897] hda: media error (bad sector): status=0x51 { DriveReady SeekComplete Error } [80665.956897] hda: media error (bad sector): error=0x30 { LastFailedSense=0x03 } [80665.956897] ide: failed opcode was: unknown [80665.956897] ATAPI device hda: [80665.956908] Error: Medium error -- (Sense key=0x03) [80665.956917] (reserved error code) -- (asc=0x02, ascq=0x00) [80665.956923] The failed "Read 10" packet command was: [80665.956925] "28 00 00 03 29 50 00 00 02 00 00 00 00 00 00 00 " [80665.956948] end_request: I/O error, dev hda, sector 828736 [80665.956958] Buffer I/O error on device hda, logical block 103592 [80673.059179] hda: media error (bad sector): status=0x51 { DriveReady SeekComplete Error } [80673.059179] hda: media error (bad sector): error=0x30 { LastFailedSense=0x03 } [80673.059179] ide: failed opcode was: unknown [80673.119543] ATAPI device hda: [80673.119543] Error: Medium error -- (Sense key=0x03) [80673.119543] (reserved error code) -- (asc=0x02, ascq=0x00) [80673.119543] The failed "Read 10" packet command was: [80673.119543] "28 00 00 03 29 50 00 00 02 00 00 00 00 00 00 00 " [80673.119543] end_request: I/O error, dev hda, sector 828736 [80673.119543] Buffer I/O error on device hda, logical block 103592 Running under gdb and asking for a backtrace, we get: #0 0xb7f30424 in __kernel_vsyscall () #1 0xb7e15093 in __read_nocancel () from /lib/i686/cmov/libpthread.so.0 #2 0x082010e9 in libc_read (dvdcss=0x9402bb0, p_buffer=0x9402278, i_blocks=1) at libdvdcss/device.c:679 #3 0x08201a77 in dvdcss_read (dvdcss=0x9402bb0, p_buffer=0x9402278, i_blocks=1, i_flags=1) at libdvdcss/libdvdcss.c:638 #4 0x0819fe7d in DVDReadBlocks (dvd_file=0x9429c98, offset=209872, block_count=1, data=0x9402278 "") at libdvdread/dvd_reader.c:1256 #5 0x0819b9b7 in dvd_read_sector (d=0x9429cf8, data=0x9402278 "") at stream/stream_dvd.c:366 #6 0x0819bc7b in fill_buffer (s=0x9402218, but=0x9402278 "", len=2048) at stream/stream_dvd.c:497 #7 0x08193b2c in stream_fill_buffer (s=0x9402218) at stream/stream.c:263 #8 0x0816075d in demux_mpg_fill_buffer (demux=0x942a608, ds=0x942aef8) at ./stream/stream.h:137 #9 0x08139a35 in ds_fill_buffer (ds=0x942aef8) at libmpdemux/demuxer.c:428 #10 0x0813a228 in demux_read_data (ds=0x942aef8, mem=0x9456658 "\004?\002?Yt\020\006\213\201?020* yK?W(]?\032?\033?\222?\205M????I?n?222???\216`\b?^\234*M0>}\r??\022??mt??Ru\r-(i\222??\225?y??+?v\223}*?234? K??\"\223]\036\017u?|?023?k??023?_m`\235k?j?\005????m?V\035>{6?IiBO\t???|?V\02t???\222?Z\030??\016??9$?!??7?..., len=1347) at libmpdemux/demuxer.c:527 #11 0x081d7a6e in a52_fillbuff (sh_audio=0x944ba78) at libmpcodecs/ad_liba52.c:84 #12 0x081d7c8a in decode_audio (sh_audio=0x944ba78, buf=0x9457580 "??a???w???\213???\234?????\236???\235???\235????????????????????????????\237??\230??\220??\213??\206??\202??\201??\201??\205??\214??\226?????????????\226??\212??\201??w??n??i??d??c??e??h??l??p??t??z???}???\201???\206???\212???\217???\226???"..., minlen=8192, maxlen=71680) at libmpcodecs/ad_liba52.c:315 #13 0x080f814b in decode_audio (sh_audio=0x944ba78, minlen=8192) at libmpcodecs/dec_audio.c:383 #14 0x08088f98 in main (argc=2, argv=0xbfe4a134) at mplayer.c:2044 Anything using xine-lib (xine, codeine, kaffeine) plays this disc fine in the same environment. Using strace, I can watch both applications going through the CSS keys, and reading data off of the disc. Then at some point they differ and mplayer tries to read a block it can't, while xine appears to skip it and continues on it's way. I thought that both xine and mplayer were built on top of dvdnav/dvdread, but I can't figure out where xine called into that library (granted I didn't spend a lot of time on it either). A little further seems to indicate that xine manages it's own local version of libdvdnav? Blast divergence. I was hoping that this would be a difference in how mplayer uses the library vs how xine uses the library. But now I wonder if it's a problem in the library instead. I'm willing to try a variety of things and hack on this for a while if anyone wants to throw suggestions at me. Any help is appreciated. mrc