matroskadec: Improve TTA duration calculation
Calculate the duration as accurately as possible to improve decoding of samples where the last frame is smaller than the rest. Signed-off-by: James Almer <jamrial@gmail.com> Approved-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit af248fa1174200acb537a6ab1198bb2fed38e884) Conflicts: libavformat/matroskadec.c
This commit is contained in:
parent
11bc88eebd
commit
c447047117
@ -1615,7 +1615,7 @@ static int matroska_read_header(AVFormatContext *s)
|
||||
avio_wl16(&b, track->audio.channels);
|
||||
avio_wl16(&b, track->audio.bitdepth);
|
||||
avio_wl32(&b, track->audio.out_samplerate);
|
||||
avio_wl32(&b, matroska->ctx->duration * track->audio.out_samplerate);
|
||||
avio_wl32(&b, av_rescale((matroska->duration * matroska->time_scale), track->audio.out_samplerate, AV_TIME_BASE * 1000));
|
||||
} else if (codec_id == CODEC_ID_RV10 || codec_id == CODEC_ID_RV20 ||
|
||||
codec_id == CODEC_ID_RV30 || codec_id == CODEC_ID_RV40) {
|
||||
extradata_offset = 26;
|
||||
|
Loading…
x
Reference in New Issue
Block a user