1// MediaDemultiplexerAddOn.h 2// 3// Andrew Bachmann, 2002 4// 5// MediaDemultiplexerAddOn is an add-on 6// that can make instances of MediaDemultiplexerNode 7// 8// MediaDemultiplexerNode handles a file and a multistream 9 10#if !defined(_MEDIA_DEMULTIPLEXER_ADD_ON_H) 11#define _MEDIA_DEMULTIPLEXER_ADD_ON_H 12 13#include <MediaDefs.h> 14#include <MediaAddOn.h> 15 16class MediaDemultiplexerAddOn : 17 public BMediaAddOn 18{ 19public: 20 virtual ~MediaDemultiplexerAddOn(void); 21 explicit MediaDemultiplexerAddOn(image_id image); 22 23/**************************/ 24/* begin from BMediaAddOn */ 25public: 26virtual status_t InitCheck( 27 const char ** out_failure_text); 28virtual int32 CountFlavors(void); 29virtual status_t GetFlavorAt( 30 int32 n, 31 const flavor_info ** out_info); 32virtual BMediaNode * InstantiateNodeFor( 33 const flavor_info * info, 34 BMessage * config, 35 status_t * out_error); 36virtual status_t GetConfigurationFor( 37 BMediaNode * your_node, 38 BMessage * into_message); 39virtual bool WantsAutoStart(void); 40virtual status_t AutoStart( 41 int in_count, 42 BMediaNode ** out_node, 43 int32 * out_internal_id, 44 bool * out_has_more); 45 46/* end from BMediaAddOn */ 47/************************/ 48 49private: 50 51 MediaDemultiplexerAddOn( /* private unimplemented */ 52 const MediaDemultiplexerAddOn & clone); 53 MediaDemultiplexerAddOn & operator=( 54 const MediaDemultiplexerAddOn & clone); 55 56 int32 refCount; 57 58 /* Mmmh, stuffing! */ 59virtual status_t _Reserved_MediaDemultiplexerAddOn_0(void *); 60virtual status_t _Reserved_MediaDemultiplexerAddOn_1(void *); 61virtual status_t _Reserved_MediaDemultiplexerAddOn_2(void *); 62virtual status_t _Reserved_MediaDemultiplexerAddOn_3(void *); 63virtual status_t _Reserved_MediaDemultiplexerAddOn_4(void *); 64virtual status_t _Reserved_MediaDemultiplexerAddOn_5(void *); 65virtual status_t _Reserved_MediaDemultiplexerAddOn_6(void *); 66virtual status_t _Reserved_MediaDemultiplexerAddOn_7(void *); 67virtual status_t _Reserved_MediaDemultiplexerAddOn_8(void *); 68virtual status_t _Reserved_MediaDemultiplexerAddOn_9(void *); 69virtual status_t _Reserved_MediaDemultiplexerAddOn_10(void *); 70virtual status_t _Reserved_MediaDemultiplexerAddOn_11(void *); 71virtual status_t _Reserved_MediaDemultiplexerAddOn_12(void *); 72virtual status_t _Reserved_MediaDemultiplexerAddOn_13(void *); 73virtual status_t _Reserved_MediaDemultiplexerAddOn_14(void *); 74virtual status_t _Reserved_MediaDemultiplexerAddOn_15(void *); 75 76 uint32 _reserved_media_demultiplexer_add_on_[16]; 77 78}; 79 80#if BUILDING_MEDIA_DEMULTIPLEXER__ADD_ON 81extern "C" _EXPORT BMediaAddOn * make_media_demultiplexer_add_on(image_id you); 82#endif 83 84#endif /* _MEDIA_DEMULTIPLEXER_ADD_ON_H */ 85