[FFmpeg-devel] [PATCH] ffserver_config: do not store preset name
Lukasz Marek
lukasz.m.luki2 at gmail.com
Sun Nov 16 02:08:31 CET 2014
Preset are translated to AVOptions.
It is not required to reparse anymore.
Fixes CID #1254667
Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
---
ffserver_config.c | 15 ++-------------
ffserver_config.h | 2 --
2 files changed, 2 insertions(+), 15 deletions(-)
diff --git a/ffserver_config.c b/ffserver_config.c
index d7b49ff..bc2f4db 100644
--- a/ffserver_config.c
+++ b/ffserver_config.c
@@ -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);
diff --git a/ffserver_config.h b/ffserver_config.h
index 57deb5b..06981de 100644
--- a/ffserver_config.h
+++ b/ffserver_config.h
@@ -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;
--
1.9.1
More information about the ffmpeg-devel
mailing list