Commit 6c2ed67c authored by Lukasz Marek's avatar Lukasz Marek

ffserver_config: remove ffserver_apply_stream_config function

This function became very short and can be logically merged with add_codec().
Signed-off-by: 's avatarLukasz Marek <lukasz.m.luki2@gmail.com>
parent f61cb645
...@@ -174,13 +174,23 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, ...@@ -174,13 +174,23 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
} }
/* add a codec and set the default parameters */ /* add a codec and set the default parameters */
static void add_codec(FFServerStream *stream, AVCodecContext *av) static void add_codec(FFServerStream *stream, AVCodecContext *av,
FFServerConfig *config)
{ {
AVStream *st; AVStream *st;
AVDictionary **opts;
if(stream->nb_streams >= FF_ARRAY_ELEMS(stream->streams)) if(stream->nb_streams >= FF_ARRAY_ELEMS(stream->streams))
return; return;
opts = av->codec_type == AVMEDIA_TYPE_AUDIO ?
&config->audio_opts : &config->video_opts;
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));
/* compute default parameters */ /* compute default parameters */
switch(av->codec_type) { switch(av->codec_type) {
case AVMEDIA_TYPE_AUDIO: case AVMEDIA_TYPE_AUDIO:
...@@ -684,14 +694,6 @@ static int ffserver_parse_config_feed(FFServerConfig *config, const char *cmd, c ...@@ -684,14 +694,6 @@ static int ffserver_parse_config_feed(FFServerConfig *config, const char *cmd, c
return 0; return 0;
} }
static void ffserver_apply_stream_config(AVCodecContext *enc, AVDictionary **opts)
{
av_opt_set_dict2(enc->priv_data, opts, AV_OPT_SEARCH_CHILDREN);
av_opt_set_dict2(enc, opts, AV_OPT_SEARCH_CHILDREN);
if (av_dict_count(*opts))
av_log(NULL, AV_LOG_ERROR, "Something went wrong, %d options not set!!!\n", av_dict_count(*opts));
}
static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd, const char **p, static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd, const char **p,
FFServerStream **pstream) FFServerStream **pstream)
{ {
...@@ -1013,15 +1015,13 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd, ...@@ -1013,15 +1015,13 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
config->dummy_actx->codec_id = config->guessed_audio_codec_id; config->dummy_actx->codec_id = config->guessed_audio_codec_id;
if (!config->no_audio && config->dummy_actx->codec_id != AV_CODEC_ID_NONE) { if (!config->no_audio && config->dummy_actx->codec_id != AV_CODEC_ID_NONE) {
AVCodecContext *audio_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_actx->codec_id)); AVCodecContext *audio_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_actx->codec_id));
ffserver_apply_stream_config(audio_enc, &config->audio_opts); add_codec(stream, audio_enc, config);
add_codec(stream, audio_enc);
} }
if (config->dummy_vctx->codec_id == AV_CODEC_ID_NONE) if (config->dummy_vctx->codec_id == AV_CODEC_ID_NONE)
config->dummy_vctx->codec_id = config->guessed_video_codec_id; config->dummy_vctx->codec_id = config->guessed_video_codec_id;
if (!config->no_video && config->dummy_vctx->codec_id != AV_CODEC_ID_NONE) { if (!config->no_video && config->dummy_vctx->codec_id != AV_CODEC_ID_NONE) {
AVCodecContext *video_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_vctx->codec_id)); AVCodecContext *video_enc = avcodec_alloc_context3(avcodec_find_encoder(config->dummy_vctx->codec_id));
ffserver_apply_stream_config(video_enc, &config->video_opts); add_codec(stream, video_enc, config);
add_codec(stream, video_enc);
} }
} }
av_dict_free(&config->video_opts); av_dict_free(&config->video_opts);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment