X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Felectronicarts.c;h=bfd3fed3a2a537a1f8e585d65f83baa7d5938fed;hb=4ec07e943144ec0b7b89bff49bd54e6f6d6db4e8;hp=80ce4c6e37834c515c456090c427e8cbc7146262;hpb=5e78126bbdd58ae4dd97e2b604cbbec336f8bc32;p=ffmpeg diff --git a/libavformat/electronicarts.c b/libavformat/electronicarts.c index 80ce4c6e378..bfd3fed3a2a 100644 --- a/libavformat/electronicarts.c +++ b/libavformat/electronicarts.c @@ -539,7 +539,7 @@ static int ea_read_header(AVFormatContext *s) ea->audio_codec = 0; return 1; } - if (ea->bytes <= 0) { + if (ea->bytes <= 0 || ea->bytes > 2) { av_log(s, AV_LOG_ERROR, "Invalid number of bytes per sample: %d\n", ea->bytes); ea->audio_codec = AV_CODEC_ID_NONE; @@ -557,7 +557,7 @@ static int ea_read_header(AVFormatContext *s) st->codecpar->channels = ea->num_channels; st->codecpar->sample_rate = ea->sample_rate; st->codecpar->bits_per_coded_sample = ea->bytes * 8; - st->codecpar->bit_rate = st->codecpar->channels * + st->codecpar->bit_rate = (int64_t)st->codecpar->channels * st->codecpar->sample_rate * st->codecpar->bits_per_coded_sample / 4; st->codecpar->block_align = st->codecpar->channels *