in cubeb-core/src/builders.rs [205:237]
fn stream_params_builder_to_raw_layout() {
macro_rules! check(
($($real:ident => $raw:ident),*) => (
$(let params = super::StreamParamsBuilder::new()
.layout(super::ChannelLayout::$real)
.take();
let raw = unsafe { &*params.as_ptr() };
assert_eq!(raw.layout, ffi::$raw);
)*
) );
check!(UNDEFINED => CUBEB_LAYOUT_UNDEFINED,
MONO => CUBEB_LAYOUT_MONO,
MONO_LFE => CUBEB_LAYOUT_MONO_LFE,
STEREO => CUBEB_LAYOUT_STEREO,
STEREO_LFE => CUBEB_LAYOUT_STEREO_LFE,
_3F => CUBEB_LAYOUT_3F,
_3F_LFE => CUBEB_LAYOUT_3F_LFE,
_2F1 => CUBEB_LAYOUT_2F1,
_2F1_LFE=> CUBEB_LAYOUT_2F1_LFE,
_3F1 => CUBEB_LAYOUT_3F1,
_3F1_LFE => CUBEB_LAYOUT_3F1_LFE,
_2F2 => CUBEB_LAYOUT_2F2,
_2F2_LFE => CUBEB_LAYOUT_2F2_LFE,
QUAD => CUBEB_LAYOUT_QUAD,
QUAD_LFE => CUBEB_LAYOUT_QUAD_LFE,
_3F2 => CUBEB_LAYOUT_3F2,
_3F2_LFE => CUBEB_LAYOUT_3F2_LFE,
_3F2_BACK => CUBEB_LAYOUT_3F2_BACK,
_3F2_LFE_BACK => CUBEB_LAYOUT_3F2_LFE_BACK,
_3F3R_LFE => CUBEB_LAYOUT_3F3R_LFE,
_3F4_LFE => CUBEB_LAYOUT_3F4_LFE);
}