mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-28 23:13:18 +08:00
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
Fixes: d53d75e080
This commit is contained in:
+2
-2
@@ -2092,8 +2092,8 @@ static int demux_mkv_open_audio(demuxer_t *demuxer, mkv_track_t *track)
|
||||
AV_WL16(data + 6, sh_a->channels.num);
|
||||
AV_WL16(data + 8, sh_a->bits_per_coded_sample);
|
||||
AV_WL32(data + 10, track->a_osfreq);
|
||||
// Bogus: last frame won't be played.
|
||||
AV_WL32(data + 14, 0);
|
||||
mkv_demuxer_t *mkv_d = demuxer->priv;
|
||||
AV_WL32(data + 14, mkv_d->duration * track->a_osfreq);
|
||||
} else if (!strcmp(codec, "opus")) {
|
||||
// Hardcode the rate libavcodec's opus decoder outputs, so that
|
||||
// AV_PKT_DATA_SKIP_SAMPLES actually works. The Matroska header only
|
||||
|
||||
Reference in New Issue
Block a user