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