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 14 struct media_raw_video_format; 15 16 17 class VideoSupplier { 18 public: 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 32 protected: 33 bigtime_t fProcessingLatency; 34 }; 35 36 #endif // VIDEO_SUPPLIER_H 37