Meaning of SND_FORMAT macro parameters (used in sound subsystem)

fesse fesse at mail.ru
Mon Sep 24 10:04:51 UTC 2018


Good day to everyone,

SND_FORMAT macro is defined in sound.h:

#define SND_FORMAT(f, c, e) (AFMTT_ENCODING(f) | (((c) << AFMT_CHANNEL_SHIFT) & AFMT_CHANNEL_MASK) | (((e) << AFMT_EXTCHANNEL_SHIFT) & AFMT_EXTCHANNEL_MASK)).

Many sound drivers define data format like this: SND_FORMAT(AFMT_S16_LE, 2, 0);

Sound guys, tell me please what means "2" and "0", i.e. "c" and "e" macro arguments. I really in doubt...


More information about the freebsd-drivers mailing list