[alsa-devel] Duplicated/weird SND_CHMAP_xx positions

Anssi Hannula anssi.hannula at iki.fi
Sun Nov 10 17:19:26 CET 2013


Hi,

I see we have both:
        SND_CHMAP_FLH,          /**< front left high */
        SND_CHMAP_FCH,          /**< front center high */
        SND_CHMAP_FRH,          /**< front right high */
and
        SND_CHMAP_TFL,          /**< top front left */
        SND_CHMAP_TFR,          /**< top front right */
        SND_CHMAP_TFC,          /**< top front center */

However, these are actually exactly the same AFAICS, both are the
speakers above the front speakers (CEA/HDMI uses "high" and USB audio
uses "top" nomenclature).

I guess we should deprecate one set?
I can't think of anything else than adding comments saying they are
deprecated, though...

I guess I'd prefer to deprecate the "high" ones since we have many other
"top" and "bottom" channels.

Also, the only in-kernel use of "high" is by HDA HDMI and it only will
start working in 3.13-rcX.


We have also these:
        SND_CHMAP_BC,           /**< bottom center */
        SND_CHMAP_BLC,          /**< bottom left center */
        SND_CHMAP_BRC,          /**< bottom right center */

I guess "bottom center" is "under the listener" (USB audio v2 spec
doesn't clarify, but clearly doesn't use the "Front" specifier as in
"front bottom center").

However, the last two ones are weird. The descriptions do not make sense
to me (under the listener to the left? wouldn't that be "bottom side
left" instead?).

It seems like they were added by mistake - the only user is the USB
audio driver which wrongly uses them for "back left/right center"
instead of correct RLC/RRC.



For reference, the complete current position list is:
/** channel positions */
enum snd_pcm_chmap_position {
        SND_CHMAP_UNKNOWN = 0,  /**< unspecified */
        SND_CHMAP_NA,           /**< N/A, silent */
        SND_CHMAP_MONO,         /**< mono stream */
        SND_CHMAP_FL,           /**< front left */
        SND_CHMAP_FR,           /**< front right */
        SND_CHMAP_RL,           /**< rear left */
        SND_CHMAP_RR,           /**< rear right */
        SND_CHMAP_FC,           /**< front center */
        SND_CHMAP_LFE,          /**< LFE */
        SND_CHMAP_SL,           /**< side left */
        SND_CHMAP_SR,           /**< side right */
        SND_CHMAP_RC,           /**< rear center */
        SND_CHMAP_FLC,          /**< front left center */
        SND_CHMAP_FRC,          /**< front right center */
        SND_CHMAP_RLC,          /**< rear left center */
        SND_CHMAP_RRC,          /**< rear right center */
        SND_CHMAP_FLW,          /**< front left wide */
        SND_CHMAP_FRW,          /**< front right wide */
        SND_CHMAP_FLH,          /**< front left high */
        SND_CHMAP_FCH,          /**< front center high */
        SND_CHMAP_FRH,          /**< front right high */
        SND_CHMAP_TC,           /**< top center */
        SND_CHMAP_TFL,          /**< top front left */
        SND_CHMAP_TFR,          /**< top front right */
        SND_CHMAP_TFC,          /**< top front center */
        SND_CHMAP_TRL,          /**< top rear left */
        SND_CHMAP_TRR,          /**< top rear right */
        SND_CHMAP_TRC,          /**< top rear center */
        SND_CHMAP_TFLC,         /**< top front left center */
        SND_CHMAP_TFRC,         /**< top front right center */
        SND_CHMAP_TSL,          /**< top side left */
        SND_CHMAP_TSR,          /**< top side right */
        SND_CHMAP_LLFE,         /**< left LFE */
        SND_CHMAP_RLFE,         /**< right LFE */
        SND_CHMAP_BC,           /**< bottom center */
        SND_CHMAP_BLC,          /**< bottom left center */
        SND_CHMAP_BRC,          /**< bottom right center */
        SND_CHMAP_LAST = SND_CHMAP_BRC,
};


-- 
Anssi Hannula


More information about the Alsa-devel mailing list