--- libavformat/brstm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libavformat/brstm.c b/libavformat/brstm.c index 62940f0..bf75d5b 100644 --- a/libavformat/brstm.c +++ b/libavformat/brstm.c @@ -369,6 +369,15 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt) size = b->last_block_used_bytes; samples = b->last_block_samples; skip = b->last_block_size - b->last_block_used_bytes; + + if (samples < size * 14 / 8) { + uint32_t adjusted_size = samples / 14 * 8; + if (samples % 14) + adjusted_size += (samples % 14 + 1) / 2 + 1; + + skip += size - adjusted_size; + size = adjusted_size; + } } else if (b->current_block < b->block_count) { size = b->block_size; samples = b->samples_per_block; -- 2.4.1
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel