/* The sound is muted. We want to move time forward, but it be made faster by simply seeking instead of reading. We also want to bypass mixing completely. */
/* The sound is muted. We want to move time forward, but it be made faster by simply seeking instead of reading. We also want to bypass mixing completely. */
The number of frames to mix. This cannot exceed the number of input frames returned by `ma_mixer_begin()`. If it does, an error will be returned. If it is
The number of frames to mix. This cannot exceed the number of input frames returned by `ma_mixer_begin()`. If it does, an error will be returned. If it is
less, silence will be mixed to make up the excess.
less, silence will be mixed to make up the excess.
pFrameCountOut (out)
Receives the number of frames that were processed from the data source.
MA_APIma_resultma_mixer_mix_rb(ma_mixer*pMixer,ma_rb*pRB,ma_uint64frameCountIn,floatvolume,ma_effect*pEffect,ma_formatformatIn,ma_uint32channelsIn);/* Caller is the consumer. */
MA_APIma_resultma_mixer_mix_rb(ma_mixer*pMixer,ma_rb*pRB,ma_uint64frameCountIn,ma_uint64*pFrameCountOut,floatvolume,ma_effect*pEffect,ma_formatformatIn,ma_uint32channelsIn);/* Caller is the consumer. */
MA_APIma_resultma_mixer_mix_pcm_rb(ma_mixer*pMixer,ma_pcm_rb*pRB,ma_uint64frameCountIn,floatvolume,ma_effect*pEffect);/* Caller is the consumer. */
MA_APIma_resultma_mixer_mix_pcm_rb(ma_mixer*pMixer,ma_pcm_rb*pRB,ma_uint64frameCountIn,ma_uint64*pFrameCountOut,floatvolume,ma_effect*pEffect);/* Caller is the consumer. */
/* Ring buffer mixing can be implemented in terms of a memory mapped data source. */
/* Ring buffer mixing can be implemented in terms of a memory mapped data source. */
ma_rb_data_sourceds;
ma_rb_data_sourceds;
ma_rb_data_source_init(pRB,formatIn,channelsIn,&ds);/* Will never fail and does not require an uninit() implementation. */
ma_rb_data_source_init(pRB,formatIn,channelsIn,&ds);/* Will never fail and does not require an uninit() implementation. */
returnma_mixer_mix_data_source(pMixer,&ds,frameCountIn,volume,pEffect,MA_TRUE);/* Ring buffers always loop, but the loop parameter will never actually be used because ma_rb_data_source__on_unmap() will never return MA_AT_END. */
returnma_mixer_mix_data_source(pMixer,&ds,frameCountIn,pFrameCountOut,volume,pEffect,MA_TRUE);/* Ring buffers always loop, but the loop parameter will never actually be used because ma_rb_data_source__on_unmap() will never return MA_AT_END. */