|
|
|
@@ -1889,6 +1889,18 @@ static int matroska_parse_tracks(AVFormatContext *s) |
|
|
|
NULL, NULL, NULL, NULL); |
|
|
|
avio_write(&b, "TTA1", 4); |
|
|
|
avio_wl16(&b, 1); |
|
|
|
if (track->audio.channels > UINT16_MAX || |
|
|
|
track->audio.bitdepth > UINT16_MAX) { |
|
|
|
av_log(matroska->ctx, AV_LOG_WARNING, |
|
|
|
"Too large audio channel number %"PRIu64 |
|
|
|
" or bitdepth %"PRIu64". Skipping track.\n", |
|
|
|
track->audio.channels, track->audio.bitdepth); |
|
|
|
av_freep(&extradata); |
|
|
|
if (matroska->ctx->error_recognition & AV_EF_EXPLODE) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
else |
|
|
|
continue; |
|
|
|
} |
|
|
|
avio_wl16(&b, track->audio.channels); |
|
|
|
avio_wl16(&b, track->audio.bitdepth); |
|
|
|
if (track->audio.out_samplerate < 0 || track->audio.out_samplerate > INT_MAX) |
|
|
|
|