xref: /haiku/src/add-ons/media/media-add-ons/video_mixer/VideoMixerAddOn.h (revision 0fe9fd368fe3ebc095d4a2fb54003e11146c6c56)
1*0fe9fd36SDavid McPaul /*
2*0fe9fd36SDavid McPaul * Copyright (C) 2009-2010 David McPaul
3*0fe9fd36SDavid McPaul *
4*0fe9fd36SDavid McPaul * All rights reserved. Distributed under the terms of the MIT License.
5*0fe9fd36SDavid McPaul */
6*0fe9fd36SDavid McPaul 
7*0fe9fd36SDavid McPaul #ifndef _VIDEO_MIXER_ADD_ON_H
8*0fe9fd36SDavid McPaul #define _VIDEO_MIXER_ADD_ON_H
9*0fe9fd36SDavid McPaul 
10*0fe9fd36SDavid McPaul 
11*0fe9fd36SDavid McPaul #include <MediaAddOn.h>
12*0fe9fd36SDavid McPaul 
13*0fe9fd36SDavid McPaul 
14*0fe9fd36SDavid McPaul class VideoMixerAddOn : public BMediaAddOn {
15*0fe9fd36SDavid McPaul public:
16*0fe9fd36SDavid McPaul 	virtual					~VideoMixerAddOn(void);
17*0fe9fd36SDavid McPaul 	explicit				VideoMixerAddOn(image_id image);
18*0fe9fd36SDavid McPaul 
19*0fe9fd36SDavid McPaul 	virtual	status_t		InitCheck(const char **out_failure_text);
20*0fe9fd36SDavid McPaul 	virtual	int32			CountFlavors(void);
21*0fe9fd36SDavid McPaul 	virtual	status_t		GetFlavorAt(int32 n,
22*0fe9fd36SDavid McPaul 								const flavor_info **out_info);
23*0fe9fd36SDavid McPaul 	virtual	BMediaNode*		InstantiateNodeFor(const flavor_info *info,
24*0fe9fd36SDavid McPaul 								BMessage *config, status_t *out_error);
25*0fe9fd36SDavid McPaul 	virtual	status_t 		GetConfigurationFor(BMediaNode *your_node,
26*0fe9fd36SDavid McPaul 								BMessage *into_message);
27*0fe9fd36SDavid McPaul 	virtual	bool 			WantsAutoStart(void);
28*0fe9fd36SDavid McPaul 	virtual	status_t 		AutoStart(int in_count,	BMediaNode **out_node,
29*0fe9fd36SDavid McPaul 								int32 *out_internal_id,
30*0fe9fd36SDavid McPaul 								bool *out_has_more);
31*0fe9fd36SDavid McPaul 
32*0fe9fd36SDavid McPaul private:
33*0fe9fd36SDavid McPaul 	uint32					refCount;
34*0fe9fd36SDavid McPaul };
35*0fe9fd36SDavid McPaul 
36*0fe9fd36SDavid McPaul extern "C" _EXPORT BMediaAddOn *make_video_mixer_add_on(image_id you);
37*0fe9fd36SDavid McPaul 
38*0fe9fd36SDavid McPaul #endif /* _VIDEO_MIXER_ADD_ON_H */
39