117680Spst/*
239300Sfenner * Copyright 2002 David Shipman,
317680Spst * Copyright 2003-2007 Marcus Overhagen
417680Spst * Copyright 2007 Haiku Inc. All rights reserved.
517680Spst * Distributed under the terms of the MIT License.
617680Spst */
717680Spst#ifndef _AUDIOMIXER_ADDON_H
817680Spst#define _AUDIOMIXER_ADDON_H
917680Spst
1017680Spst
1117680Spst#include <MediaAddOn.h>
1217680Spst
1317680Spst
1417680Spstclass AudioMixerAddon : public BMediaAddOn {
1517680Spstpublic:
1617680Spst	virtual 					~AudioMixerAddon();
1717680Spst	explicit 					AudioMixerAddon(image_id image);
1817680Spst
1917680Spst	virtual	status_t			InitCheck(const char** _failureText);
2056896Sfenner	virtual	int32				CountFlavors();
2156896Sfenner	virtual	status_t 			GetFlavorAt(int32 n,
2217680Spst									const flavor_info** _info);
2317680Spst	virtual	BMediaNode *		InstantiateNodeFor(const flavor_info* info,
24276788Sdelphij									BMessage* config, status_t* _error);
2556896Sfenner	virtual	status_t			GetConfigurationFor(BMediaNode* node,
2656896Sfenner									BMessage* toMmessage);
2756896Sfenner
2856896Sfenner	virtual	bool				WantsAutoStart();
29127675Sbms	virtual	status_t			AutoStart(int index, BMediaNode** _node,
3017680Spst									int32* _internalID, bool* _hasMore);
3117680Spst
3217680Spstprivate:
33276788Sdelphij			media_format*		fFormat;
3417680Spst			flavor_info*		fInfo;
3517680Spst};
3617680Spst
3775118Sfenner#endif	// _AUDIOMIXER_ADDON_H
38127675Sbms