mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-20 14:31:09 +00:00
ffserver_config: do not store preset name
Preset are translated to AVOptions. It is not required to reparse anymore. Fixes CID #1254667 Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
This commit is contained in:
parent
33d6f90e3e
commit
1a054bd187
@ -1017,18 +1017,11 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
|
||||
goto nomem;
|
||||
} else if (!av_strcasecmp(cmd, "AVPresetVideo") ||
|
||||
!av_strcasecmp(cmd, "AVPresetAudio")) {
|
||||
char **preset = NULL;
|
||||
ffserver_get_arg(arg, sizeof(arg), p);
|
||||
if (!av_strcasecmp(cmd, "AVPresetVideo")) {
|
||||
preset = &config->video_preset;
|
||||
if (!av_strcasecmp(cmd, "AVPresetVideo"))
|
||||
ffserver_opt_preset(arg, config->dummy_vctx, config, line_num);
|
||||
} else {
|
||||
preset = &config->audio_preset;
|
||||
else
|
||||
ffserver_opt_preset(arg, config->dummy_actx, config, line_num);
|
||||
}
|
||||
*preset = av_strdup(arg);
|
||||
if (!preset)
|
||||
return AVERROR(ENOMEM);
|
||||
} else if (!av_strcasecmp(cmd, "VideoTag")) {
|
||||
ffserver_get_arg(arg, sizeof(arg), p);
|
||||
if (strlen(arg) == 4) {
|
||||
@ -1130,8 +1123,6 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
|
||||
av_dict_free(&config->video_conf);
|
||||
av_dict_free(&config->audio_opts);
|
||||
av_dict_free(&config->audio_conf);
|
||||
av_freep(&config->video_preset);
|
||||
av_freep(&config->audio_preset);
|
||||
avcodec_free_context(&config->dummy_vctx);
|
||||
avcodec_free_context(&config->dummy_actx);
|
||||
*pstream = NULL;
|
||||
@ -1148,8 +1139,6 @@ static int ffserver_parse_config_stream(FFServerConfig *config, const char *cmd,
|
||||
av_dict_free(&config->video_conf);
|
||||
av_dict_free(&config->audio_opts);
|
||||
av_dict_free(&config->audio_conf);
|
||||
av_freep(&config->video_preset);
|
||||
av_freep(&config->audio_preset);
|
||||
avcodec_free_context(&config->dummy_vctx);
|
||||
avcodec_free_context(&config->dummy_actx);
|
||||
return AVERROR(ENOMEM);
|
||||
|
@ -113,8 +113,6 @@ typedef struct FFServerConfig {
|
||||
AVDictionary *video_conf; /* Values stored in video AVCodecContext.fields */
|
||||
AVDictionary *audio_opts; /* AVOptions for audio encoder */
|
||||
AVDictionary *audio_conf; /* Values stored in audio AVCodecContext.fields */
|
||||
char *video_preset;
|
||||
char *audio_preset;
|
||||
AVCodecContext *dummy_actx; /* Used internally to test audio AVOptions. */
|
||||
AVCodecContext *dummy_vctx; /* Used internally to test video AVOptions. */
|
||||
int no_audio;
|
||||
|
Loading…
Reference in New Issue
Block a user