00001 /*************************************************************************** 00002 codecplugins.h - description 00003 ------------------- 00004 begin : Sun Jan 6 2002 00005 copyright : (C) 2002 by Christian Tusche 00006 email : christian.tusche@stud.uni-goettingen.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef CODECPLUGINS_H 00019 #define CODECPLUGINS_H 00020 00021 #include "pluginloader.h" 00022 #include "PluginList.h" 00023 #include "Codec_Info.h" 00024 00025 class V_Codec; 00026 class A_Codec; 00027 class V_Track; 00028 class A_Track; 00029 class Track; 00030 00031 00036 class CodecPlugins : public PluginLoader { 00037 public: 00038 CodecPlugins(); 00039 ~CodecPlugins(); 00040 00043 V_Codec *CreateVCodec( V_Track *track, String Dateityp, String &Codecname ); 00044 00047 A_Codec *CreateACodec( A_Track *track, String Dateityp, String &Codecname ); 00048 00051 Codec_Info *FindCodec( Track *track, const char *Dateityp, const char *Codecname ); 00052 00055 PluginList<Codec_Info> *AV_Codecs( void ) { return ®_codecs; } 00056 00057 protected: 00058 int RegisterModul( modul_data *data ); 00059 00060 private: 00061 PluginList<Codec_Info> reg_codecs; 00062 }; 00063 00064 #endif