[alsa-devel] Proper way to set SCMS copy prohibited bits on IEC958 S/PDIF
I briefly checked the code for the Delta1010 (ice1712) to see if there was a way from user space to force the SCMS copy prohibited bits on in the S/PDIF stream. I see the driver initializes the bits to 0. Is there already a way to do this from user space, or would I have to modify the driver to force them on (or use a module parameter)?
Thanks, -Andrew
On 30-07-08 22:37, Andrew Paprocki wrote:
I briefly checked the code for the Delta1010 (ice1712) to see if there was a way from user space to force the SCMS copy prohibited bits on in the S/PDIF stream. I see the driver initializes the bits to 0. Is there already a way to do this from user space, or would I have to modify the driver to force them on (or use a module parameter)?
I can't try this myself right now, but try "man iecset".
Rene.
On Wed, Jul 30, 2008 at 8:01 PM, Rene Herman rene.herman@keyaccess.nl wrote:
On 30-07-08 22:37, Andrew Paprocki wrote:
I briefly checked the code for the Delta1010 (ice1712) to see if there was a way from user space to force the SCMS copy prohibited bits on in the S/PDIF stream. I see the driver initializes the bits to 0. Is there already a way to do this from user space, or would I have to modify the driver to force them on (or use a module parameter)?
I can't try this myself right now, but try "man iecset".
I actually found this code as well: http://www.cs.tut.fi/~ik/mpegspdif/output.c
It appears you can set the bits when opening the card by using a device string like this:
sprintf(devstr, "iec958:AES0=0x%x,AES1=0x%x,AES2=0x%x,AES3=0x%x", s[0], s[1], s[2], s[3]);
I'll look into both methods.
Thanks, -Andrew
On 31-07-08 02:03, Andrew Paprocki wrote:
On Wed, Jul 30, 2008 at 8:01 PM, Rene Herman rene.herman@keyaccess.nl wrote:
On 30-07-08 22:37, Andrew Paprocki wrote:
I briefly checked the code for the Delta1010 (ice1712) to see if there was a way from user space to force the SCMS copy prohibited bits on in the S/PDIF stream. I see the driver initializes the bits to 0. Is there already a way to do this from user space, or would I have to modify the driver to force them on (or use a module parameter)?
I can't try this myself right now, but try "man iecset".
I actually found this code as well: http://www.cs.tut.fi/~ik/mpegspdif/output.c
It appears you can set the bits when opening the card by using a device string like this:
sprintf(devstr, "iec958:AES0=0x%x,AES1=0x%x,AES2=0x%x,AES3=0x%x", s[0], s[1], s[2], s[3]);
I'll look into both methods.
Yes, noticed that to (in /usr/share/alsa/pcm/iec958.conf) but couldn't tell you what the %x were, so "iecset" seemed like better advice...
Rene.
At Wed, 30 Jul 2008 20:03:40 -0400, Andrew Paprocki wrote:
On Wed, Jul 30, 2008 at 8:01 PM, Rene Herman rene.herman@keyaccess.nl wrote:
On 30-07-08 22:37, Andrew Paprocki wrote:
I briefly checked the code for the Delta1010 (ice1712) to see if there was a way from user space to force the SCMS copy prohibited bits on in the S/PDIF stream. I see the driver initializes the bits to 0. Is there already a way to do this from user space, or would I have to modify the driver to force them on (or use a module parameter)?
I can't try this myself right now, but try "man iecset".
I actually found this code as well: http://www.cs.tut.fi/~ik/mpegspdif/output.c
It appears you can set the bits when opening the card by using a device string like this:
sprintf(devstr, "iec958:AES0=0x%x,AES1=0x%x,AES2=0x%x,AES3=0x%x", s[0], s[1], s[2], s[3]);
These values are passed to the control element at PCM open time by alsa-lib hook plugin. So, it may override the default setting by iecset. You can still change the IEC958 status bits via iecset or other utility (e.g. envy24control can change them) dynamically.
Takashi
participants (3)
-
Andrew Paprocki
-
Rene Herman
-
Takashi Iwai