diff options
author | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2014-12-08 18:32:22 -0300 |
---|---|---|
committer | Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com> | 2014-12-09 01:03:01 -0300 |
commit | 720dffb843aa780d25b7be224c63ffc0aba13671 (patch) | |
tree | ef88beae2b30047a276452f0c478b9a02e8efce8 | |
parent | b4c69b7ea8c0683f5a4b659d055132db328a1351 (diff) | |
download | ffmpeg-720dffb843aa780d25b7be224c63ffc0aba13671.tar.gz |
ffserver_config: reflow add_codec()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
-rw-r--r-- | ffserver_config.c | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/ffserver_config.c b/ffserver_config.c index d17b57eacd..017af48434 100644 --- a/ffserver_config.c +++ b/ffserver_config.c @@ -195,13 +195,38 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av, av_dict_copy(&recommended, *opts, 0); av_opt_set_dict2(av->priv_data, opts, AV_OPT_SEARCH_CHILDREN); av_opt_set_dict2(av, opts, AV_OPT_SEARCH_CHILDREN); + if (av_dict_count(*opts)) av_log(NULL, AV_LOG_WARNING, "Something is wrong, %d options are not set!\n", av_dict_count(*opts)); - if (config->stream_use_defaults) { - //TODO: reident + if (!config->stream_use_defaults) { + switch(av->codec_type) { + case AVMEDIA_TYPE_AUDIO: + if (av->bit_rate == 0) + report_config_error(config->filename, config->line_num, + AV_LOG_ERROR, &config->errors, + "audio bit rate is not set\n"); + if (av->sample_rate == 0) + report_config_error(config->filename, config->line_num, + AV_LOG_ERROR, &config->errors, + "audio sample rate is not set\n"); + break; + case AVMEDIA_TYPE_VIDEO: + if (av->width == 0 || av->height == 0) + report_config_error(config->filename, config->line_num, + AV_LOG_ERROR, &config->errors, + "video size is not set\n"); + break; + default: + av_assert0(0); + } + goto done; + } + + /* stream_use_defaults = true */ + /* compute default parameters */ switch(av->codec_type) { case AVMEDIA_TYPE_AUDIO: @@ -287,29 +312,8 @@ static void add_codec(FFServerStream *stream, AVCodecContext *av, default: abort(); } - } else { - switch(av->codec_type) { - case AVMEDIA_TYPE_AUDIO: - if (av->bit_rate == 0) - report_config_error(config->filename, config->line_num, - AV_LOG_ERROR, &config->errors, - "audio bit rate is not set\n"); - if (av->sample_rate == 0) - report_config_error(config->filename, config->line_num, - AV_LOG_ERROR, &config->errors, - "audio sample rate is not set\n"); - break; - case AVMEDIA_TYPE_VIDEO: - if (av->width == 0 || av->height == 0) - report_config_error(config->filename, config->line_num, - AV_LOG_ERROR, &config->errors, - "video size is not set\n"); - break; - default: - av_assert0(0); - } - } +done: st = av_mallocz(sizeof(AVStream)); if (!st) return; |