DragonFly users List (threaded) for 2008-08
DragonFly BSD
DragonFly users List (threaded) for 2008-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Progress with DVD playback problem


From: "Steve O'Hara-Smith" <steve@xxxxxxxxxx>
Date: Fri, 8 Aug 2008 22:58:12 +0100

	Hi,

	I've been taking another crack at the problem with DVD playback
producing error messages like this:

ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed

	I got it down to a teet program that reliably produces the error
messages consisting of:

int main (void)
{
   dvdcss_t css = dvdcss_open("/dev/acd0c");
   if (NULL == css) {
      perror ("Open failed");
      return 1;
   }
   return 0;
}

	A bit of tracing led me to discover that setting DVDCSS_CACHE=off
was enough to prevent the errors from this little test program. So I copied
the dvdcss_open function and enough of the private header declarations to
make it work into my test program, called in x_dvdcss_open and no error
messages even with DVDCSS_CACHE unset.

	I compiled my test program with 

cc -O -pipe t.c -o t -I /usr/pkg/include -L /usr/pkg/lib -l dvdcss

	I noticed that libdvdcss is compiled with O2 - so I compiled with:

cc -O2 -pipe t.c -o t -I /usr/pkg/include -L /usr/pkg/lib -l dvdcss

	That was enough to bring the problem back!

	I've attached my test code (t.c) in the hope that someone more
familiar with the vagaries of gcc optimisation levels may be able to see
what the real problem is. Meanwhile I'm going to try and build libdvdcss
with -O and see if that makes dvd playback work. More later.

-- 
C:>WIN                                      |   Directable Mirror Arrays
The computer obeys and wins.                | A better way to focus the sun
You lose and Bill collects.                 |    licences available see
                                            |    http://www.sohara.org/

Attachment: t.c
Description: Binary data



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]