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

CSS DVD playback requires root permissions in vlc and xine.



When attempting to play an encrypted dvd as a non-root user, the playing
application alternately crashes with a segfault (vlc) or simply becomes
unresponsive to anything but a SIGKILL (xine, gxine and totem-xine).
All of these players are able to play unencrypted dvds from any user
account.  A sample user session with vlc is included at the end with
repeated errors removed.


My question to the list is "what permissions affect the playback
specifically of encrypted dvds but not unencrypted ones?".  


Most of the errors output before the segfault concern audio and video
delays, so I have included details regarding Xorg, fglrx (the ATI
drivers in use) and the ALSA setup, in addition to kernel and apt
details.  Perhaps I should also point out that the dvd device is handled
by libata and given a device node at /dev/scd0 (I'm not sure about dma).


$ cat /etc/debian_version
4.0


$ uname -a
Linux marchhare 2.6.19-marchhare #2 SMP PREEMPT Wed Jan 31 21:53:57 EST
2007 i686 GNU/Linux


$ X -version
X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: UNKNOWN
Current Operating System: Linux marchhare 2.6.19-marchhare #2 SMP
PREEMPT Wed Jan 31 21:53:57 EST 2007 i686
Build Date: 07 February 2007
...


$ fglrxinfo 2> /dev/null
display: :0.0  screen: 0
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.5.1)


$ cat /proc/asound/cards
 0 [UA5            ]: USB-Audio - UA-5
                      EDIROL UA-5 at usb-0000:00:1d.0-2, full speed
 1 [XV2020         ]: USB-Audio - XV-2020
                      Roland XV-2020 at usb-0000:00:1d.0-1.2, full speed


$ apt-cache policy | grep "^ *[0-9]" | sort -rn
 990 http://www.debian-multimedia.org etch/main Packages
 990 http://security.debian.org etch/updates/non-free Packages
 990 http://security.debian.org etch/updates/main Packages
 990 http://security.debian.org etch/updates/contrib Packages
 990 http://ftp.monash.edu.au etch/non-free Packages
 990 http://ftp.monash.edu.au etch/main Packages
 990 http://ftp.monash.edu.au etch/contrib Packages
 900 http://download.videolan.org sid/main Packages
 100 /var/lib/dpkg/status
  99 http://ftp.monash.edu.au sid/non-free Packages
  99 http://ftp.monash.edu.au sid/main Packages
  99 http://ftp.monash.edu.au sid/contrib Packages
  90 http://www5.autistici.org binary-i386/ Packages
  90 http://ftp.monash.edu.au experimental/non-free Packages
  90 http://ftp.monash.edu.au experimental/main Packages
  90 http://ftp.monash.edu.au experimental/contrib Packages


$ dpkg -l | grep -e "libdvd\|vlc"
ii  libdvdcss2                         1.2.9-0.0 
ii  libdvdnav4                         0.1.10-0.1 
rc  libdvdplay0                        1.0.1-7   
ii  libdvdread3                        0.9.7-2 
ii  libvlc0                            0.8.6-svn20061012.debian-4 
ii  vlc                                0.8.6-svn20061012.debian-4 
ii  vlc-nox                            0.8.6-svn20061012.debian-4 


$ groups daniel
daniel : daniel dialout cdrom floppy audio video plugdev staff local


$ ls -l /dev/{scd0,dvd}
lrwxrwxrwx 1 root root      4 2007-02-27 10:33 /dev/dvd -> scd0
brw-rw---- 1 root cdrom 11, 0 2007-02-27 10:33 /dev/scd0


$ cat /etc/fstab | grep scd0
/dev/scd0       /media/optical    auto    user,noauto     0       0


$ ls -ld /media/optical
drwxr-xr-x 2 root cdrom 4096 2007-02-27 16:33 /media/optical

> 
$ vlc --verbose 1 /dev/scd0
VLC media player 0.8.6a Janus
libdvdnav: Using dvdnav version 0.1.10 from http://dvd.sf.net
libdvdread: Using libdvdcss version 1.2.9 for DVD access
libdvdnav: DVD Title: AMELIE
libdvdnav: DVD Serial Number: 2c7461cf
libdvdnav: DVD Title (Alternative): AMELIE
libdvdnav: Unable to find map file '/home/daniel/.dvdnav/AMELIE.map'
libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 2
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000130
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00001526
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x0002e85d
libdvdread: Elapsed time 0
libdvdread: Found 1 VTS's
libdvdread: Elapsed time 0
[00000333] main private warning: dts != current_pts (-177975)
[00000335] main private warning: dts != current_pts (-247089)
[00000335] main private warning: backward_pts != current_pts (-40000)
[00000336] a52 decoder: A/52 channels:2 samplerate:48000 bitrate:192000
No accelerated IMDCT transform found
[00000352] main private warning: dts != current_pts (-245850)
[00000352] main private warning: backward_pts != current_pts (-40000)
[00000353] a52 decoder: A/52 channels:2 samplerate:48000 bitrate:448000
No accelerated IMDCT transform found
[00000352] main private warning: dts != current_pts (-339266)
[00000337] main audio output warning: computed PTS is out of range (220325), clearing out
[00000337] main audio output warning: PTS is out of range (220371), dropping buffer
[00000337] main audio output warning: output PTS is out of range (220391), clearing out
[00000364] main private warning: dts != current_pts (-53095)
[00000364] main private warning: backward_pts != current_pts (-40000)
[00000365] a52 decoder: A/52 channels:2 samplerate:48000 bitrate:192000
No accelerated IMDCT transform found
[00000369] libmpeg2 decoder warning: invalid picture encountered
[00000370] a52 decoder: A/52 channels:6 samplerate:48000 bitrate:448000
No accelerated IMDCT transform found
[00000369] libmpeg2 decoder warning: invalid picture encountered
[00000337] main audio output warning: audio drift is too big (-192000), clearing out
[00000337] main audio output warning: mixer start isn't output start (-77824)
...[4x]
[00000337] main audio output warning: buffer is 64000 in advance, triggering downsampling
[00000369] libmpeg2 decoder warning: invalid picture encountered
[00000337] main audio output warning: audio drift is too big (-192105), clearing out
[00000337] main audio output warning: timing screwed, stopping resampling
[00000337] main audio output warning: mixer start isn't output start (-8151)
[00000337] main audio output warning: audio drift is too big (-191938), clearing out
[00000369] libmpeg2 decoder warning: invalid picture encountered
[00000375] main private warning: vout synchro warning: pts != current_date (-160000)
[00000337] main audio output warning: buffer is 64000 in advance, triggering downsampling
[00000373] main video output warning: late picture skipped (1172564280097398)
...[30x]
[00000337] main audio output warning: computed PTS is out of range (1519374), clearing out
[00000337] main audio output warning: timing screwed, stopping resampling
[00000337] main audio output warning: PTS is out of range (1327343), dropping buffer
[00000337] main audio output warning: output PTS is out of range (1540693), clearing out
[00000337] main audio output warning: PTS is out of range (1295615), dropping buffer
...[10x]
[00000375] main private warning: vout synchro warning: pts != current_date (-200000)
[00000337] main audio output warning: PTS is out of range (651630), dropping buffer
[00000375] main private warning: dts != current_pts (-40000)
Segmentation fault




Reply to: