use super::*;
#[derive(Default, Debug)]
pub struct FaClkProtocol;
impl MediaClockFrequencyOperation for FaClkProtocol {
const FREQ_LIST: &'static [u32] = &[44100, 48000, 96000, 192000];
}
impl SamplingClockSourceOperation for FaClkProtocol {
const DST: SignalAddr = SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x05,
});
const SRC_LIST: &'static [SignalAddr] = &[SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x05,
})];
}
#[derive(Default, Debug)]
pub struct Fa66MixerAnalogSourceProtocol;
impl AvcAudioFeatureSpecification for Fa66MixerAnalogSourceProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x01, AudioCh::Each(0)),
(0x01, AudioCh::Each(1)),
(0x02, AudioCh::Each(0)),
(0x02, AudioCh::Each(1)),
(0x03, AudioCh::Each(0)),
(0x03, AudioCh::Each(1)),
];
}
impl AvcLevelOperation for Fa66MixerAnalogSourceProtocol {}
impl AvcLrBalanceOperation for Fa66MixerAnalogSourceProtocol {}
#[derive(Default, Debug)]
pub struct Fa101MixerAnalogSourceProtocol;
impl AvcAudioFeatureSpecification for Fa101MixerAnalogSourceProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x01, AudioCh::Each(0)),
(0x01, AudioCh::Each(1)),
(0x02, AudioCh::Each(0)),
(0x02, AudioCh::Each(1)),
(0x03, AudioCh::Each(0)),
(0x03, AudioCh::Each(1)),
(0x04, AudioCh::Each(0)),
(0x04, AudioCh::Each(1)),
(0x05, AudioCh::Each(0)),
(0x05, AudioCh::Each(1)),
];
}
impl AvcLevelOperation for Fa101MixerAnalogSourceProtocol {}
impl AvcLrBalanceOperation for Fa101MixerAnalogSourceProtocol {}