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 16 class MediaDemultiplexerAddOn : 17 public BMediaAddOn 18 { 19 public: 20 virtual ~MediaDemultiplexerAddOn(void); 21 explicit MediaDemultiplexerAddOn(image_id image); 22 23 /**************************/ 24 /* begin from BMediaAddOn */ 25 public: 26 virtual status_t InitCheck( 27 const char ** out_failure_text); 28 virtual int32 CountFlavors(void); 29 virtual status_t GetFlavorAt( 30 int32 n, 31 const flavor_info ** out_info); 32 virtual BMediaNode * InstantiateNodeFor( 33 const flavor_info * info, 34 BMessage * config, 35 status_t * out_error); 36 virtual status_t GetConfigurationFor( 37 BMediaNode * your_node, 38 BMessage * into_message); 39 virtual bool WantsAutoStart(void); 40 virtual 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 49 private: 50 51 MediaDemultiplexerAddOn( /* private unimplemented */ 52 const MediaDemultiplexerAddOn & clone); 53 MediaDemultiplexerAddOn & operator=( 54 const MediaDemultiplexerAddOn & clone); 55 56 int32 refCount; 57 58 /* Mmmh, stuffing! */ 59 virtual status_t _Reserved_MediaDemultiplexerAddOn_0(void *); 60 virtual status_t _Reserved_MediaDemultiplexerAddOn_1(void *); 61 virtual status_t _Reserved_MediaDemultiplexerAddOn_2(void *); 62 virtual status_t _Reserved_MediaDemultiplexerAddOn_3(void *); 63 virtual status_t _Reserved_MediaDemultiplexerAddOn_4(void *); 64 virtual status_t _Reserved_MediaDemultiplexerAddOn_5(void *); 65 virtual status_t _Reserved_MediaDemultiplexerAddOn_6(void *); 66 virtual status_t _Reserved_MediaDemultiplexerAddOn_7(void *); 67 virtual status_t _Reserved_MediaDemultiplexerAddOn_8(void *); 68 virtual status_t _Reserved_MediaDemultiplexerAddOn_9(void *); 69 virtual status_t _Reserved_MediaDemultiplexerAddOn_10(void *); 70 virtual status_t _Reserved_MediaDemultiplexerAddOn_11(void *); 71 virtual status_t _Reserved_MediaDemultiplexerAddOn_12(void *); 72 virtual status_t _Reserved_MediaDemultiplexerAddOn_13(void *); 73 virtual status_t _Reserved_MediaDemultiplexerAddOn_14(void *); 74 virtual 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 81 extern "C" _EXPORT BMediaAddOn * make_media_demultiplexer_add_on(image_id you); 82 #endif 83 84 #endif /* _MEDIA_DEMULTIPLEXER_ADD_ON_H */ 85