G.raud
2012-12-03 09:46:59 UTC
The problem
-----------
Copying a raw image of a scrambled DVD Video to disk (for example with
dd), and then using that image as input to libdvdcss makes libdvdcss
ignore the disc scrambling state (scrambled or not) and makes it try to
get title keys, which it succeeds in doing.
Burning this exact same image to DVD and then using a real drive as a
source to libdvdcss makes libdvdcss consider the disc as unscrambled
(since it cannot hold a disc key), and libdvdcss cannot be made to
search for any title keys. It is so even when DVDCSS_METHOD=title.
But one could legitimatlely wish to be able to read descrambled
from this burned disc, just as if it was a raw image file of a scrambled
disc. Currently I believe this not possible as the state of the disc
cannot be ignored.
A proposed fix
--------------
A new environemnt variable to force the scrambling state.
Maybe only let the variable have any effect if DVDCSS_METHOD=title.
DVDCSS_SCRAMBLED=auto
The default; same behaviour as now.
DVDCSS_SCRAMBLED=on
If the disc has no disc key, ignore this fact and try to get title
keys.
DVDCSS_SCRAMBLED=off
Not directly related to the problem, but it might be useful to force
libdvdcss to not decrypt anything even when flags like
DVDCSS_READ_DECRYPT are passed to dvdcss_read() and the disc is
scrambled.
An alternative to a new environment variable could be to add a method:
DVDCSS_METHOD=forcetitle.
-----------
Copying a raw image of a scrambled DVD Video to disk (for example with
dd), and then using that image as input to libdvdcss makes libdvdcss
ignore the disc scrambling state (scrambled or not) and makes it try to
get title keys, which it succeeds in doing.
Burning this exact same image to DVD and then using a real drive as a
source to libdvdcss makes libdvdcss consider the disc as unscrambled
(since it cannot hold a disc key), and libdvdcss cannot be made to
search for any title keys. It is so even when DVDCSS_METHOD=title.
But one could legitimatlely wish to be able to read descrambled
from this burned disc, just as if it was a raw image file of a scrambled
disc. Currently I believe this not possible as the state of the disc
cannot be ignored.
A proposed fix
--------------
A new environemnt variable to force the scrambling state.
Maybe only let the variable have any effect if DVDCSS_METHOD=title.
DVDCSS_SCRAMBLED=auto
The default; same behaviour as now.
DVDCSS_SCRAMBLED=on
If the disc has no disc key, ignore this fact and try to get title
keys.
DVDCSS_SCRAMBLED=off
Not directly related to the problem, but it might be useful to force
libdvdcss to not decrypt anything even when flags like
DVDCSS_READ_DECRYPT are passed to dvdcss_read() and the disc is
scrambled.
An alternative to a new environment variable could be to add a method:
DVDCSS_METHOD=forcetitle.