mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/wavdec: Dont trust the fact chunk for PCM
Fixes Ticket3033 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
3aa576513b
commit
83fc6c822b
@ -403,11 +403,15 @@ break_loop:
|
|||||||
|
|
||||||
avio_seek(pb, data_ofs, SEEK_SET);
|
avio_seek(pb, data_ofs, SEEK_SET);
|
||||||
|
|
||||||
if (!sample_count && st->codec->channels &&
|
if (!sample_count || av_get_exact_bits_per_sample(st->codec->codec_id) > 0)
|
||||||
av_get_bits_per_sample(st->codec->codec_id) && wav->data_end <= avio_size(pb))
|
if ( st->codec->channels
|
||||||
sample_count = (data_size << 3) /
|
&& data_size
|
||||||
(st->codec->channels *
|
&& av_get_bits_per_sample(st->codec->codec_id)
|
||||||
(uint64_t)av_get_bits_per_sample(st->codec->codec_id));
|
&& wav->data_end <= avio_size(pb))
|
||||||
|
sample_count = (data_size << 3)
|
||||||
|
/
|
||||||
|
(st->codec->channels * (uint64_t)av_get_bits_per_sample(st->codec->codec_id));
|
||||||
|
|
||||||
if (sample_count)
|
if (sample_count)
|
||||||
st->duration = sample_count;
|
st->duration = sample_count;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user