avformat/ffmdec: remove last use of st->codec

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2016-12-03 00:52:58 +01:00
parent 5a237c33b8
commit c143e7939f
1 changed files with 21 additions and 11 deletions

View File

@ -271,7 +271,7 @@ static int ffm_append_recommended_configuration(AVStream *st, char **conf)
#define VALIDATE_PARAMETER(parameter, name, check) { \
if (check) { \
av_log(codec, AV_LOG_ERROR, "Invalid " name " %d\n", codecpar->parameter); \
av_log(s, AV_LOG_ERROR, "Invalid " name " %d\n", codecpar->parameter); \
ret = AVERROR_INVALIDDATA; \
goto fail; \
} \
@ -282,7 +282,7 @@ static int ffm2_read_header(AVFormatContext *s)
FFMContext *ffm = s->priv_data;
AVStream *st;
AVIOContext *pb = s->pb;
AVCodecContext *codec, *dummy_codec = NULL;
AVCodecContext *dummy_codec = NULL;
AVCodecParameters *codecpar;
const AVCodecDescriptor *codec_desc;
int ret;
@ -314,6 +314,7 @@ static int ffm2_read_header(AVFormatContext *s)
unsigned size = avio_rb32(pb);
int64_t next = avio_tell(pb) + size;
char rc_eq_buf[128];
int flags;
if(!id)
break;
@ -337,7 +338,6 @@ static int ffm2_read_header(AVFormatContext *s)
avpriv_set_pts_info(st, 64, 1, 1000000);
codec = st->codec;
codecpar = st->codecpar;
/* generic info */
codecpar->codec_id = avio_rb32(pb);
@ -359,14 +359,19 @@ static int ffm2_read_header(AVFormatContext *s)
}
codecpar->bit_rate = avio_rb32(pb);
if (codecpar->bit_rate < 0) {
av_log(codec, AV_LOG_ERROR, "Invalid bit rate %"PRId64"\n", codecpar->bit_rate);
av_log(s, AV_LOG_ERROR, "Invalid bit rate %"PRId64"\n", codecpar->bit_rate);
ret = AVERROR_INVALIDDATA;
goto fail;
}
codec->flags = avio_rb32(pb);
flags = avio_rb32(pb);
#if FF_API_LAVF_AVCTX
FF_DISABLE_DEPRECATION_WARNINGS
st->codec->flags = flags;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
avio_rb32(pb); // flags2
avio_rb32(pb); // debug
if (codec->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
if (flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
int size = avio_rb32(pb);
if (size < 0 || size >= FF_MAX_EXTRADATA_SIZE) {
av_log(s, AV_LOG_ERROR, "Invalid extradata size %d\n", size);
@ -530,7 +535,7 @@ static int ffm_read_header(AVFormatContext *s)
FFMContext *ffm = s->priv_data;
AVStream *st;
AVIOContext *pb = s->pb;
AVCodecContext *codec, *dummy_codec = NULL;
AVCodecContext *dummy_codec = NULL;
AVCodecParameters *codecpar;
const AVCodecDescriptor *codec_desc;
int i, nb_streams, ret;
@ -561,6 +566,7 @@ static int ffm_read_header(AVFormatContext *s)
/* read each stream */
for(i=0;i<nb_streams;i++) {
char rc_eq_buf[128];
int flags;
st = avformat_new_stream(s, NULL);
if (!st)
@ -568,7 +574,6 @@ static int ffm_read_header(AVFormatContext *s)
avpriv_set_pts_info(st, 64, 1, 1000000);
codec = st->codec;
codecpar = st->codecpar;
/* generic info */
codecpar->codec_id = avio_rb32(pb);
@ -588,10 +593,15 @@ static int ffm_read_header(AVFormatContext *s)
}
codecpar->bit_rate = avio_rb32(pb);
if (codecpar->bit_rate < 0) {
av_log(codec, AV_LOG_WARNING, "Invalid bit rate %"PRId64"\n", codecpar->bit_rate);
av_log(s, AV_LOG_WARNING, "Invalid bit rate %"PRId64"\n", codecpar->bit_rate);
goto fail;
}
codec->flags = avio_rb32(pb);
flags = avio_rb32(pb);
#if FF_API_LAVF_AVCTX
FF_DISABLE_DEPRECATION_WARNINGS
st->codec->flags = flags;
FF_ENABLE_DEPRECATION_WARNINGS
#endif
avio_rb32(pb); // flags2
avio_rb32(pb); // debug
/* specific info */
@ -660,7 +670,7 @@ static int ffm_read_header(AVFormatContext *s)
default:
goto fail;
}
if (codec->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
if (flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
int size = avio_rb32(pb);
if (size < 0 || size >= FF_MAX_EXTRADATA_SIZE) {
av_log(s, AV_LOG_ERROR, "Invalid extradata size %d\n", size);