diff --git a/trunk/src/app/srs_app_config.cpp b/trunk/src/app/srs_app_config.cpp index c2ff3f989..9e29c6633 100644 --- a/trunk/src/app/srs_app_config.cpp +++ b/trunk/src/app/srs_app_config.cpp @@ -1932,10 +1932,12 @@ string SrsConfig::get_transcode_ffmpeg(SrsConfDirective* transcode) return conf->arg0(); } -void SrsConfig::get_transcode_engines(SrsConfDirective* transcode, vector& engines) +vector SrsConfig::get_transcode_engines(SrsConfDirective* transcode) { + vector engines; + if (!transcode) { - return; + return engines; } for (int i = 0; i < (int)transcode->directives.size(); i++) { @@ -1946,7 +1948,7 @@ void SrsConfig::get_transcode_engines(SrsConfDirective* transcode, vector& engines); + virtual std::vector get_transcode_engines(SrsConfDirective* transcode); /** * */ diff --git a/trunk/src/app/srs_app_encoder.cpp b/trunk/src/app/srs_app_encoder.cpp index 50fe7daaf..7393f0f59 100644 --- a/trunk/src/app/srs_app_encoder.cpp +++ b/trunk/src/app/srs_app_encoder.cpp @@ -224,8 +224,7 @@ int SrsEncoder::parse_ffmpeg(SrsRequest* req, SrsConfDirective* conf) } // get all engines. - std::vector engines; - _srs_config->get_transcode_engines(conf, engines); + std::vector engines = _srs_config->get_transcode_engines(conf); if (engines.empty()) { srs_trace("ignore the empty transcode engine: %s", conf->arg0().c_str()); diff --git a/trunk/src/app/srs_app_ingest.cpp b/trunk/src/app/srs_app_ingest.cpp index 9f472de01..4b2178449 100644 --- a/trunk/src/app/srs_app_ingest.cpp +++ b/trunk/src/app/srs_app_ingest.cpp @@ -123,8 +123,7 @@ int SrsIngester::parse_engines(SrsConfDirective* vhost, SrsConfDirective* ingest } // get all engines. - std::vector engines; - _srs_config->get_transcode_engines(ingest, engines); + std::vector engines = _srs_config->get_transcode_engines(ingest); if (engines.empty()) { SrsFFMPEG* ffmpeg = new SrsFFMPEG(ffmpeg_bin); if ((ret = initialize_ffmpeg(ffmpeg, vhost, ingest, NULL)) != ERROR_SUCCESS) {