struct CCL::IAudioCodecFactory
Overview
Creates IAudioSource/IAudioSink instances for decoding/encoding an IStream. More…
#include <iaudioservice.h> struct IAudioCodecFactory: public CCL::IUnknown { // methods virtual int CCL_API getCodecCount () const = 0; virtual tresult CCL_API getCodecDescription ( AudioCodecDesc& description, int index ) const = 0; virtual tresult CCL_API createDecoderInstance ( IAudioSource*& source, IStream& stream, StringRef contentType, const AudioContentFormat& format ) = 0; virtual tresult CCL_API createEncoderInstance ( IAudioSink*& sink, IStream& stream, StringRef contentType, const AudioContentFormat& format ) = 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;
Detailed Documentation
Creates IAudioSource/IAudioSink instances for decoding/encoding an IStream.
Methods
virtual int CCL_API getCodecCount () const = 0
Get number of built-in codecs.
virtual tresult CCL_API getCodecDescription ( AudioCodecDesc& description, int index ) const = 0
Get description of built-in codec at given index.
virtual tresult CCL_API createDecoderInstance ( IAudioSource*& source, IStream& stream, StringRef contentType, const AudioContentFormat& format ) = 0
Create new IAudioSource for decoding from the given stream.
The stream is retained for the lifetime of the source.
virtual tresult CCL_API createEncoderInstance ( IAudioSink*& sink, IStream& stream, StringRef contentType, const AudioContentFormat& format ) = 0
Create new IAudioSink for encoding into the given stream.
The stream is retained for the lifetime of the sink.