1/* Copyright 2000-2008, Ingo Weinhold <ingo_weinhold@gmx.de>, 2 * All Rights Reserved. Distributed under the terms of the MIT license. 3 */ 4#ifndef AUDIO_SUPPLIER_H 5#define AUDIO_SUPPLIER_H 6 7 8/*! This class is an interface used by the AudioProducer to retreive the 9 audio data to be played. */ 10 11 12#include <MediaDefs.h> 13 14 15class AudioProducer; 16 17class AudioSupplier { 18public: 19 AudioSupplier(); 20 virtual ~AudioSupplier(); 21 22 virtual void SetAudioProducer(AudioProducer* producer); 23 24 virtual status_t InitCheck() const; 25 26 virtual bigtime_t InitialLatency() const = 0; 27 28 virtual status_t GetFrames(void* buffer, int64 frameCount, 29 bigtime_t startTime, 30 bigtime_t endTime) = 0; 31 32 virtual void SetFormat(const media_format& format) = 0; 33 34protected: 35 AudioProducer* fAudioProducer; 36}; 37 38 39#endif // AUDIO_SUPPLIER_H 40