aboutsummaryrefslogtreecommitdiffstats
path: root/ffserver.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2013-11-27 13:55:11 +0100
committerStefano Sabatini <stefasab@gmail.com>2013-11-27 15:48:19 +0100
commit8adaee56c414fe924de4f94b5f7c5d3e3ecf89f9 (patch)
tree8ccd00e4566a5cc958edb31462a5e089014245d0 /ffserver.c
parentf13f139febf4de6ffc2bd9d302ba6e72d824606e (diff)
downloadffmpeg-8adaee56c414fe924de4f94b5f7c5d3e3ecf89f9.tar.gz
ffserver: factorize opt_audio/video_codec
Simplify.
Diffstat (limited to 'ffserver.c')
-rw-r--r--ffserver.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/ffserver.c b/ffserver.c
index 5ecdb08d38..d9add4a8ff 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3942,24 +3942,13 @@ static void add_codec(FFStream *stream, AVCodecContext *av)
memcpy(st->codec, av, sizeof(AVCodecContext));
}
-static enum AVCodecID opt_audio_codec(const char *arg)
+static enum AVCodecID opt_codec(const char *name, enum AVMediaType type)
{
- AVCodec *p= avcodec_find_encoder_by_name(arg);
+ AVCodec *codec = avcodec_find_encoder_by_name(name);
- if (p == NULL || p->type != AVMEDIA_TYPE_AUDIO)
+ if (!codec || codec->type != type)
return AV_CODEC_ID_NONE;
-
- return p->id;
-}
-
-static enum AVCodecID opt_video_codec(const char *arg)
-{
- AVCodec *p= avcodec_find_encoder_by_name(arg);
-
- if (p == NULL || p->type != AVMEDIA_TYPE_VIDEO)
- return AV_CODEC_ID_NONE;
-
- return p->id;
+ return codec->id;
}
static int ffserver_opt_default(const char *opt, const char *arg,
@@ -3998,9 +3987,9 @@ static int ffserver_opt_preset(const char *arg,
break;
}
if(!strcmp(tmp, "acodec")){
- *audio_id = opt_audio_codec(tmp2);
+ *audio_id = opt_codec(tmp2, AVMEDIA_TYPE_AUDIO);
}else if(!strcmp(tmp, "vcodec")){
- *video_id = opt_video_codec(tmp2);
+ *video_id = opt_codec(tmp2, AVMEDIA_TYPE_VIDEO);
}else if(!strcmp(tmp, "scodec")){
/* opt_subtitle_codec(tmp2); */
}else if(ffserver_opt_default(tmp, tmp2, avctx, type) < 0){
@@ -4346,13 +4335,13 @@ static int parse_ffconfig(const char *filename)
stream->send_on_key = 1;
} else if (!av_strcasecmp(cmd, "AudioCodec")) {
get_arg(arg, sizeof(arg), &p);
- audio_id = opt_audio_codec(arg);
+ audio_id = opt_codec(arg, AVMEDIA_TYPE_AUDIO);
if (audio_id == AV_CODEC_ID_NONE) {
ERROR("Unknown AudioCodec: %s\n", arg);
}
} else if (!av_strcasecmp(cmd, "VideoCodec")) {
get_arg(arg, sizeof(arg), &p);
- video_id = opt_video_codec(arg);
+ video_id = opt_codec(arg, AVMEDIA_TYPE_VIDEO);
if (video_id == AV_CODEC_ID_NONE) {
ERROR("Unknown VideoCodec: %s\n", arg);
}