History

demux_mkv: set number of samples correctly for The True Audio

14-17 Data length in samples (binary, Little Endian) This has been validated with sample generated with: ffmpeg -i $(ffmpeg_fate)/lossless-audio/luckynight-partial.tak -c:a tta lucky.mka The length is correctly calculated to be 418950 for that sample. Basically this is a port of https://github.com/FFmpeg/FFmpeg/commit/af248fa1174200acb537a6ab1198bb2fed38e884

Kacper Michajłow committed 1 year ago

Commit de52c621 parent a0d164c1 file · +2 −2Browse files

Unified · Split

demux/demux_mkv.c+2−2
@@ -2092,8 +2092,8 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track) · 2091 unmodified lines
20922092 AV_WL16(data + 6, sh_a->channels.num);
20932093 AV_WL16(data + 8, sh_a->bits_per_coded_sample);
20942094 AV_WL32(data + 10, track->a_osfreq);
2095− // Bogus: last frame won't be played.
2096− AV_WL32(data + 14, 0);
2095+ mkv_demuxer_t *mkv_d = demuxer->priv;
2096+ AV_WL32(data + 14, mkv_d->duration * track->a_osfreq);
20972097 } else if (!strcmp(codec, "opus")) {
20982098 // Hardcode the rate libavcodec's opus decoder outputs, so that
20992099 // AV_PKT_DATA_SKIP_SAMPLES actually works. The Matroska header only

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t