struct CCL::IConvertingAudioSource

Overview

Wraps an IAudioSource, converting its channel count/layout on read(). More…

#include <iaudiosource.h>

struct IConvertingAudioSource: public CCL::IWrappedAudioSource
{
    // methods

    virtual tresult CCL_API setTargetChannels (
        int channelCount,
        SpeakerBitField speakerFormat = SpeakerDef::kEmpty
    ) = 0;

    virtual tresult CCL_API setChannelMixMode (ChannelMixMode mode) = 0;
    virtual ChannelMixMode CCL_API getChannelMixMode () const = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual int CCL_API getNumChannels () const = 0;
    virtual SampleRate CCL_API getSampleRate () const = 0;
    virtual TSamples CCL_API getFrameCount () const = 0;
    virtual SpeakerBitField CCL_API getSpeakerFormat () const = 0;
    IAudioContent TSeconds getDuration () const;
    virtual int CCL_API read (AudioData& data, int sampleFrames) = 0;
    virtual TSamples CCL_API seek (TSamples position) = 0;
    virtual TSamples CCL_API tell () const = 0;
    virtual tresult CCL_API setSource (IAudioSource* source) = 0;
    virtual IAudioSource*CCL_API getSource () const = 0;

Detailed Documentation

Wraps an IAudioSource, converting its channel count/layout on read().

Methods

virtual tresult CCL_API setTargetChannels (
    int channelCount,
    SpeakerBitField speakerFormat = SpeakerDef::kEmpty
) = 0

Set the number of channels to convert to, and optionally the speaker layout (SpeakerDef::kEmpty picks a standard layout for channelCount).

virtual tresult CCL_API setChannelMixMode (ChannelMixMode mode) = 0

Set the mixing algorithm to use when combining channels.

virtual ChannelMixMode CCL_API getChannelMixMode () const = 0

Get the mixing algorithm currently in use.