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, };