summaryrefslogtreecommitdiff
path: root/libavformat/ffmenc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-12-01 16:00:44 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-12-02 19:37:00 +0100
commitb7d94c19cd0e9379b8c32c79fa0b73ae00de0f93 (patch)
treec74d438675b452e12e6c616caf4cd5d7c9a0adab /libavformat/ffmenc.c
parent7d1b1b660bb880983cfe0e4eab806c0baf82fff8 (diff)
avformat/ffmenc: Replace some st->codec use by codecpar
Note, this temporarly drops the ability to set ffmpeg encoder debug and flags2 via ffserver.conf Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/ffmenc.c')
-rw-r--r--libavformat/ffmenc.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/libavformat/ffmenc.c b/libavformat/ffmenc.c
index 0f23b796a0..c89b9b34bb 100644
--- a/libavformat/ffmenc.c
+++ b/libavformat/ffmenc.c
@@ -224,6 +224,7 @@ static int ffm_write_header(AVFormatContext *s)
AVStream *st;
AVIOContext *pb = s->pb;
AVCodecContext *codec;
+ AVCodecParameters *codecpar;
int bit_rate, i, ret;
if ((ret = ff_parse_creation_time_metadata(s, &ffm->start_time, 0)) < 0)
@@ -243,7 +244,7 @@ static int ffm_write_header(AVFormatContext *s)
bit_rate = 0;
for(i=0;i<s->nb_streams;i++) {
st = s->streams[i];
- bit_rate += st->codec->bit_rate;
+ bit_rate += st->codecpar->bit_rate;
}
avio_wb32(pb, bit_rate);
@@ -257,20 +258,21 @@ static int ffm_write_header(AVFormatContext *s)
return AVERROR(ENOMEM);
codec = st->codec;
+ codecpar = st->codecpar;
/* generic info */
- avio_wb32(pb, codec->codec_id);
- avio_w8(pb, codec->codec_type);
- avio_wb32(pb, codec->bit_rate);
- avio_wb32(pb, codec->flags);
- avio_wb32(pb, codec->flags2);
- avio_wb32(pb, codec->debug);
- if (codec->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
- avio_wb32(pb, codec->extradata_size);
- avio_write(pb, codec->extradata, codec->extradata_size);
+ avio_wb32(pb, codecpar->codec_id);
+ avio_w8(pb, codecpar->codec_type);
+ avio_wb32(pb, codecpar->bit_rate);
+ avio_wb32(pb, codecpar->extradata_size ? AV_CODEC_FLAG_GLOBAL_HEADER : 0);
+ avio_wb32(pb, 0); // flags2
+ avio_wb32(pb, 0); // debug
+ if (codecpar->extradata_size) {
+ avio_wb32(pb, codecpar->extradata_size);
+ avio_write(pb, codecpar->extradata, codecpar->extradata_size);
}
write_header_chunk(s->pb, pb, MKBETAG('C', 'O', 'M', 'M'));
/* specific info */
- switch(codec->codec_type) {
+ switch(codecpar->codec_type) {
case AVMEDIA_TYPE_VIDEO:
if (st->recommended_encoder_configuration) {
av_log(NULL, AV_LOG_DEBUG, "writing recommended configuration: %s\n",