1 #include "VideoEncoder.h" 2 #include "FFcodecContext_param.h" 3 4 namespace ADM_qtScript 5 { VideoEncoder(QScriptEngine * engine,IEditor * editor,ADM_videoEncoder6 * encoder)6 VideoEncoder::VideoEncoder( 7 QScriptEngine *engine, IEditor *editor, ADM_videoEncoder6* encoder) : QtScriptConfigObject(editor) 8 { 9 std::map<const QString, QScriptEngine::FunctionSignature> configSubGroups; 10 11 configSubGroups.insert( 12 std::pair<const QString, QScriptEngine::FunctionSignature>( 13 "lavcSettings", QtScriptConfigObject::defaultConfigGetterSetter)); 14 15 this->encoderPlugin = encoder; 16 this->_configObject = this->createConfigContainer( 17 engine, QtScriptConfigObject::defaultConfigGetterSetter, &configSubGroups); 18 } 19 getName(void)20 QScriptValue VideoEncoder::getName(void) 21 { 22 return this->encoderPlugin->desc->menuName; 23 } 24 getConfiguration(void)25 QScriptValue VideoEncoder::getConfiguration(void) 26 { 27 return this->_configObject; 28 } 29 resetConfiguration(void)30 void VideoEncoder::resetConfiguration(void) 31 { 32 this->encoderPlugin->desc->resetConfigurationData(); 33 } 34 getConfCouple(CONFcouple ** conf,const QString & containerName)35 void VideoEncoder::getConfCouple(CONFcouple** conf, const QString& containerName) 36 { 37 if (this->encoderPlugin->desc->getConfigurationData && containerName == "") 38 { 39 this->encoderPlugin->desc->getConfigurationData(conf); 40 } 41 else if (containerName == "lavcSettings") 42 { 43 char *configData; 44 45 this->encoderPlugin->desc->getConfigurationData(conf); 46 (*conf)->readAsString("lavcSettings", &configData); 47 delete *conf; 48 49 getCoupleFromString(conf, configData, FFcodecContext_param); 50 delete configData; 51 } 52 else 53 { 54 *conf = NULL; 55 } 56 } 57 setConfCouple(CONFcouple * conf,const QString & containerName)58 void VideoEncoder::setConfCouple(CONFcouple* conf, const QString& containerName) 59 { 60 if (this->encoderPlugin->desc->setConfigurationData && containerName == "") 61 { 62 this->encoderPlugin->desc->setConfigurationData(conf, true); 63 } 64 else if (containerName == "lavcSettings") 65 { 66 char *confString; 67 CONFcouple *mainConf; 68 69 lavCoupleToString(conf, &confString); 70 this->encoderPlugin->desc->getConfigurationData(&mainConf); 71 72 mainConf->updateValue(mainConf->lookupName("lavcSettings"), confString); 73 this->encoderPlugin->desc->setConfigurationData(mainConf, true); 74 75 delete [] confString; 76 delete mainConf; 77 } 78 } 79 } 80