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