openvortex-dev
[Top][All Lists]
Advanced

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

[Openvortex-dev] Re: [Alsa-devel] au88x0 - Replace spdif frequency contr


From: Takashi Iwai
Subject: [Openvortex-dev] Re: [Alsa-devel] au88x0 - Replace spdif frequency control by IEC958 control
Date: Wed, 23 Feb 2005 12:09:01 +0100
User-agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 15) (Security Through Obscurity) (i386-suse-linux)

At Wed, 23 Feb 2005 10:19:58 +0800,
Raymond wrote:
> 
> >> 1) What is the difference between Consumer mode and Professional mode ?
> 
> > A different set of status bits.  See, for example, ALSA"s asoundef.h,
> > but it doesn"t have many explanations.
> >
> > The main difference is that only consumer mode has the copyright bit
> > so that devices can automatically disable copying.
> 
> 
> The parameter 'spdif_mode' in the routine 
> vortex_spdif_init(vortex,spdif_sr,spdif_mode) in au88x0_core.c seems to 
> control AC3 passthrough.
> 
> However the two memory mapped I/O VORTEX_SPDIF_CFG0 and 
> VORTEX_SPDIF_CFG1 seem to be write-only, return zero when read.

Then we need to cache the values.

> The value of memory mapped I/O VORTEX_SPDIF_FLAGS are changing between 
> 00138014 and 00138015
> 
> 1) Which bit in the IEC958 control is related to AC3 passthrough ?

Every bits hardware can provide :)

The most important one for AC3 is the non-audio bit.

> As vortex_spdif_init() only handle changing SPDIF sample rate.
> 
> 2) Do the driver need to initialise vortex->spdif_sr to 48000 or just 
> let alsactl restore the value from /etc/asound.state ?

The driver must initialize the value by itself at first.

> 3) Is it correct to return the following value in 
> snd_vortex_spdif_mask_get() ?
> ucontrol->value.iec958.status[3] = IEC958_AES3_CON_FS;

Yes.

> 4) Is it correct to return the following value in 
> snd_vortex_spdif_default_get() ?
> ucontrol->value.iec958.status[1] =IEC958_AES1_CON_ORIGINAL | 
> IEC958_AES1_CON_DIGDIGCONV_ID;

If the values are not variable, you don't need to return them.

> 5) What additional kcontrol and routine are needed for SPDIF IN ?

For the SPDIF input status bits, no "standard" control is defined
yet.  You can create a control like "IEC958 Capture Status" returning
the current IEC958 status bits of the capture stream.
Also, "IEC958 Capture Switch" can be implemented (if possible).  This
switch is turned on automatically in iec958 PCM definition in the
alsa-lib config file.


Takashi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]