// MediaDemultiplexerAddOn.cpp // // Andrew Bachmann, 2002 // // MediaDemultiplexerAddOn is an add-on // that can make instances of MediaDemultiplexerNode // // MediaDemultiplexerNode handles a file and a multistream #include #include #include #include "MediaDemultiplexerNode.h" #include "MediaDemultiplexerAddOn.h" #include #include #include // instantiation function extern "C" _EXPORT BMediaAddOn * make_media_addon(image_id image) { return new MediaDemultiplexerAddOn(image); } // -------------------------------------------------------- // // ctor/dtor // -------------------------------------------------------- // MediaDemultiplexerAddOn::~MediaDemultiplexerAddOn() { } MediaDemultiplexerAddOn::MediaDemultiplexerAddOn(image_id image) : BMediaAddOn(image) { fprintf(stderr,"MediaDemultiplexerAddOn::MediaDemultiplexerAddOn\n"); refCount = 0; } // -------------------------------------------------------- // // BMediaAddOn impl // -------------------------------------------------------- // status_t MediaDemultiplexerAddOn::InitCheck( const char ** out_failure_text) { fprintf(stderr,"MediaDemultiplexerAddOn::InitCheck\n"); return B_OK; } int32 MediaDemultiplexerAddOn::CountFlavors() { fprintf(stderr,"MediaDemultiplexerAddOn::CountFlavors\n"); return 1; } status_t MediaDemultiplexerAddOn::GetFlavorAt( int32 n, const flavor_info ** out_info) { fprintf(stderr,"MediaDemultiplexerAddOn::GetFlavorAt\n"); if (n != 0) { fprintf(stderr,"<- B_BAD_INDEX\n"); return B_BAD_INDEX; } flavor_info * infos = new flavor_info[1]; MediaDemultiplexerNode::GetFlavor(&infos[0],n); (*out_info) = infos; return B_OK; } BMediaNode * MediaDemultiplexerAddOn::InstantiateNodeFor( const flavor_info * info, BMessage * config, status_t * out_error) { fprintf(stderr,"MediaDemultiplexerAddOn::InstantiateNodeFor\n"); MediaDemultiplexerNode * node = new MediaDemultiplexerNode(info,config,this); if (node == 0) { *out_error = B_NO_MEMORY; fprintf(stderr,"<- B_NO_MEMORY\n"); } else { *out_error = node->InitCheck(); } return node; } status_t MediaDemultiplexerAddOn::GetConfigurationFor( BMediaNode * your_node, BMessage * into_message) { fprintf(stderr,"MediaDemultiplexerAddOn::GetConfigurationFor\n"); MediaDemultiplexerNode * node = dynamic_cast(your_node); if (node == 0) { fprintf(stderr,"<- B_BAD_TYPE\n"); return B_BAD_TYPE; } return node->GetConfigurationFor(into_message); } bool MediaDemultiplexerAddOn::WantsAutoStart() { fprintf(stderr,"MediaDemultiplexerAddOn::WantsAutoStart\n"); return false; } status_t MediaDemultiplexerAddOn::AutoStart( int in_count, BMediaNode ** out_node, int32 * out_internal_id, bool * out_has_more) { fprintf(stderr,"MediaDemultiplexerAddOn::AutoStart\n"); return B_OK; } // -------------------------------------------------------- // // main // -------------------------------------------------------- // int main(int argc, char *argv[]) { fprintf(stderr,"main called for MediaDemultiplexerAddOn\n"); } // -------------------------------------------------------- // // stuffing // -------------------------------------------------------- // status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_0(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_1(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_2(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_3(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_4(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_5(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_6(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_7(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_8(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_9(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_10(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_11(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_12(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_13(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_14(void *) {}; status_t MediaDemultiplexerAddOn::_Reserved_MediaDemultiplexerAddOn_15(void *) {};