[MPlayer-users] Rescuing a scratched DVD

Magnus Damm damm at opensource.se
Mon Dec 8 01:28:02 CET 2003


On Sun, 07 Dec 2003 12:21:42 -0800
Corey Hickey <bugfood-ml at fatooh.org> wrote:

> > I usually rent DVD:s and use mplayer to watch them on my media box.
> > This is a ok solution as long as the DVD is without scratches/finger-
> > prints. Sometimes (1 out of 10 maybe) the DVD is scratchy/dirty and
> > my DVD drive together with Linux and mplayer will totally slow down,
> > I guess trying to read the problematic area of the disc. 
> 
> Yeah, I've seen that too with rented/borrowed discs. I try to keep
> peanut butter away from my optical media, but I guess that doesn't apply
> to everybody.

I usually blame the potato snacks. Apparently it's hard for some people to 
not put the disc in the bag of chips. But peanut butter is good too. =)

> > I have found out that my Linux kernel likes to disable DMA when a
> > read error occurs and I have to manually use hdparm to re-enable 
> > it again. And this can only be done after all IO has completed,
> > I usually have to wait a while an look at the logs that tells me
> > that a certain sector/whatever of the disc was problematic. And
> > this takes a lot of time and is generally a PITA.
> > 
> > So how to people solve this? Rent VHS instead? =)
> > Buy a regular DVD player for 100 EUR? =)
> > Can I tell the kernel to keep DMA on even if errors occur while 
> > reading the DVD? Is there any way to stop the kernel from reading 
> > sector by sector very slow from the DVD?
> 
> Get a small flashlight, a bit of water, and a rag (or spit and your
> shirt, if you don't want to get up). By holding the flashlight at an
> angle right next to the disc, you can see smudges and stuff really well
> without blinding yourself. Try to scrub off anything you see that might
> be distorting/obstructing the laser beam (don't use anything abrasive,
> of course). Then, re-enable DMA and try reading the disk again. It'll
> probably work fine, unless the disk is actually damaged rather than just
> dirty.

Yeah, thanks, and I guess that the same applies to normal CD:s.
But I was more thinking of the software. It's a pain to stop watching
and muck with the computer just because the disc is dirty/scratchy.
Last friday my girlfriend called me about this issue (with a rented DVD)
and I did not feel like guiding her over the phone through the entire 
procedure of watching the logs, doing su, using hdparm so I told her to 
reboot the machine. This is a typical problem that makes me a little 
less proud Linux user. But maybe a solution already exists somewhere.

I think it would be a nice feature to tell the IDE layer to keep DMA
on even if the discs have read errors on them. Unless that is dangerous
and it results in corruption on HD:s connected to the same controller
that is.

And then the annoying waiting for I/O to be completed. A feature there
would be to be able to tell the block layer (I guess) to stop reading
from a specific drive. I suspect that it is a read sequence that is
pending that must be completed that causes the long delay.

I rented a DVD with "The Guru" (Some singing dancing Indian guy) about
a half year ago, but when I came home my DVD-ROM drive (slot in drive
on a G4 Cube, flashed with region free firmware) refused to accept the
disc. No fingerprints or scratches on the disc. So I went back to the 
place where I rented the disc and explained my problem. They tried the 
disc on their stand alone DVD player - worked like a charm. Strange. 
But that's another story.

/ magnus



More information about the MPlayer-users mailing list