mal_uint32cacheSizeInFrames;// Applications should set this to 0 for now.
}mal_dsp_config;
...
...
@@ -821,11 +822,16 @@ struct mal_dsp
mal_format_converterformatConverterOut;// For converting data to the requested output format. Used as the final step in the processing pipeline.
mal_channel_routerchannelRouter;// For channel conversion.
mal_srcsrc;// For sample rate conversion.
mal_bool32isPreFormatConversionRequired:1;
mal_bool32isPostFormatConversionRequired:1;
mal_bool32isChannelRoutingRequired:1;
mal_bool32isSRCRequired:1;
mal_bool32isChannelRoutingAtStart:1;
mal_bool32isPassthrough:1;// <-- Will be set to true when the DSP pipeline is an optimized passthrough.
mal_channelchannelMapInPostMix[MAL_MAX_CHANNELS];// <-- When mixing, new channels may need to be created. This represents the channel map after mixing.
mal_channelchannelShuffleTable[MAL_MAX_CHANNELS];
mal_bool32isChannelMappingRequired:1;
mal_bool32isSRCRequired:1;
mal_bool32isPassthrough:1;// <-- Will be set to true when the DSP pipeline is an optimized passthrough.
// If the channel routing stage is at the front of the pipeline we read from the pre format converter. Otherwise we read from the sample rate converter.