ffserver_config: handle codec private options

This commit allows to set codec's private option.
As side effect, it also improves preset support.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
This commit is contained in:
Lukasz Marek
2014-11-10 23:21:34 +01:00
parent 2657f00d3f
commit a38e06c1aa
4 changed files with 160 additions and 87 deletions

View File

@@ -107,15 +107,18 @@ typedef struct FFServerConfig {
int errors;
int warnings;
// Following variables MUST NOT be used outside configuration parsing code.
enum AVCodecID audio_id;
enum AVCodecID video_id;
enum AVCodecID guessed_audio_codec_id;
enum AVCodecID guessed_video_codec_id;
AVDictionary *video_opts; /* AVOptions for video encoder */
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_ctx; /* Used internally to test AVOptions. Not to be used anywhere else */
AVCodecContext *dummy_actx; /* Used internally to test audio AVOptions. */
AVCodecContext *dummy_vctx; /* Used internally to test video AVOptions. */
int no_audio;
int no_video;
} FFServerConfig;
void ffserver_get_arg(char *buf, int buf_size, const char **pp);