xref: /haiku/src/apps/mediaplayer/media_node_framework/video/VideoSupplier.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
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