![]() ![]() I've created the media types using the WAVEFORMATEXTENSIBLE structures for the devices and my own custom WAVEFORMATEXTENSIBLE The second is actually getting the resampler to obey - IMFTransform::ProcessOutput always returns MF_E_TRANSFORM_NEED_MORE_INPUT. Is the correct API for what I'm doing - real time audio processing. Naturally, this confusion makes me wonder if this It's written as if it's asynchronous and sends info toĪ driver somewhere (command queues, locks on the buffers), but it's mentioned several times that all processing is done synchronously, IE within the same thread of my own process (which is what I want). I've run into a few issues - one, I can't find any explanation as to how this API works. I'm using the IMFTransform object which is a part of the Windows Media Foundation API. I'm trying to use the Audio Resampler DSP API found To compensate, I want to resample the inputĭevice's format to my own format, and then resample that format to the output device's format when all DSP is complete. The internalĪudio DSP pipeline uses a constant format of 48000 kHz stereo floating point, however both the input and output devices can have any variable number of channels, sample rates, and formats (PCM or IEEE_FLOAT). The application's audio stream uses both an input and an output device, each of which are set to use their default formats (retrieved via PKEY_AudioEngine_DeviceFormat). I'm writing a Pro Audio application using exclusive-mode WASAPI. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |