Browse Source

avidec: Use sample size in case incorrect timestamps for aac in AVI (Ticket #1755)

In some case for aac in AVI, avidec extracts wrong PTS value.
(www.ffmpeg.org/trac/ffmpeg/ticket/1755)

I found additional case(ss=4096) and add condition.

Problematic file link : https://docs.google.com/open?id=0B6r7ZfWFIypCOTdZQUtGVEdJUUE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Heesuk Jung Michael Niedermayer 13 years ago
parent
commit
e3301459f6
1 changed files with 1 additions and 0 deletions
  1. +1
    -0
      libavformat/avidec.c

+ 1
- 0
libavformat/avidec.c View File

@@ -682,6 +682,7 @@ static int avi_read_header(AVFormatContext *s)
ast->dshow_block_align = 0; ast->dshow_block_align = 0;
} }
if(st->codec->codec_id == AV_CODEC_ID_AAC && ast->dshow_block_align == 1024 && ast->sample_size == 1024 || if(st->codec->codec_id == AV_CODEC_ID_AAC && ast->dshow_block_align == 1024 && ast->sample_size == 1024 ||
st->codec->codec_id == AV_CODEC_ID_AAC && ast->dshow_block_align == 4096 && ast->sample_size == 4096 ||
st->codec->codec_id == AV_CODEC_ID_MP3 && ast->dshow_block_align == 1152 && ast->sample_size == 1152) { st->codec->codec_id == AV_CODEC_ID_MP3 && ast->dshow_block_align == 1152 && ast->sample_size == 1152) {
av_log(s, AV_LOG_DEBUG, "overriding sample_size\n"); av_log(s, AV_LOG_DEBUG, "overriding sample_size\n");
ast->sample_size = 0; ast->sample_size = 0;


Loading…
Cancel
Save