2010-02-09 05:18:39 +01:00
|
|
|
// Copyright (c) 2008-2010 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones
|
|
|
|
// This file is part of the "cAudio Engine"
|
|
|
|
// For conditions of distribution and use, see copyright notice in cAudio.h
|
|
|
|
|
2009-06-21 05:24:30 +02:00
|
|
|
#ifndef IAUDIODECODERFACTORY_H
|
|
|
|
#define IAUDIODECODERFACTORY_H
|
|
|
|
|
|
|
|
#include "IAudioDecoder.h"
|
|
|
|
|
|
|
|
namespace cAudio
|
|
|
|
{
|
2010-02-17 02:42:45 +01:00
|
|
|
//! Interface for factories that create Audio Decoders for cAudio
|
|
|
|
class IAudioDecoderFactory
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
IAudioDecoderFactory() {}
|
|
|
|
virtual ~IAudioDecoderFactory() {}
|
2009-06-21 05:24:30 +02:00
|
|
|
|
2010-02-17 02:42:45 +01:00
|
|
|
//! Returns an audio decoder.
|
|
|
|
/**
|
|
|
|
\param stream: Data Source to attach to this decoder.
|
|
|
|
\return A pointer to a decoder instance, or NULL on failure to allocate. */
|
|
|
|
virtual IAudioDecoder* CreateAudioDecoder(IDataSource* stream) = 0;
|
|
|
|
protected:
|
|
|
|
private:
|
|
|
|
};
|
2009-06-21 05:24:30 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif //! IAUDIODECODERFACTORY_H
|