[alsa-devel] Proper way to set SCMS copy prohibited bits on IEC958 S/PDIF

Takashi Iwai tiwai at suse.de
Thu Jul 31 11:59:02 CEST 2008

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 at 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.


More information about the Alsa-devel mailing list