IAudioRenderClient Interface

The IAudioRenderClient interface enables a client to write output data to a rendering endpoint buffer. The client obtains a reference to the IAudioRenderClient interface of a stream object by calling the IAudioClient::GetService method with parameter riid set to REFIID IID_IAudioRenderClient.

The methods in this interface manage the movement of data packets that contain audio-rendering data. The length of a data packet is expressed as the number of audio frames in the packet. The size of an audio frame is specified by the nBlockAlign member of theWAVEFORMATEX structure that the client obtains by calling the IAudioClient::GetMixFormat method. The size in bytes of an audio frame equals the number of channels in the stream multiplied by the sample size per channel. For example, the frame size is four bytes for a stereo (2-channel) stream with 16-bit samples. A packet always contains an integral number of audio frames.

When releasing an IAudioRenderClient interface instance, the client must call the interface’s Release method from the same thread as the call to IAudioClient::GetService that created the object.

For code examples that use the IAudioRenderClient interface, see the following topic:

Syntax

interface IAudioRenderClient : public IUnknown  

Remarks

Requirements

Header: Declared in audioclient.h.

Library: Use mmdevapi.lib.

See also

IAudioRenderClient Members