1/* 2 * Copyright 2001-2008 Ingo Weinhold <ingo_weinhold@gmx.de> 3 * Copyright 2001-2008 Stephan A��mus <superstippi@gmx.de> 4 * All rights reserved. Distributed under the terms of the MIT licensce. 5 */ 6#ifndef VIDEO_SUPPLIER_H 7#define VIDEO_SUPPLIER_H 8 9 10#include <SupportDefs.h> 11#include <MediaFormats.h> 12 13 14struct media_raw_video_format; 15 16 17class VideoSupplier { 18public: 19 VideoSupplier(); 20 virtual ~VideoSupplier(); 21 22 virtual const media_format& Format() const = 0; 23 virtual status_t FillBuffer(int64 startFrame, void* buffer, 24 const media_raw_video_format& format, 25 bool forceGeneration, bool& wasCached) = 0; 26 27 virtual void DeleteCaches(); 28 29 inline bigtime_t ProcessingLatency() const 30 { return fProcessingLatency; } 31 32protected: 33 bigtime_t fProcessingLatency; 34}; 35 36#endif // VIDEO_SUPPLIER_H 37