diff --git a/libaegisub/audio/provider_pcm.cpp b/libaegisub/audio/provider_pcm.cpp index d52696180..13d4538b0 100644 --- a/libaegisub/audio/provider_pcm.cpp +++ b/libaegisub/audio/provider_pcm.cpp @@ -167,7 +167,7 @@ public: auto chunk_fcc = Read(&data_left); auto chunk_size = Impl::chunk_size(Read(&data_left)); - data_left -= chunk_size; + data_left -= std::min(chunk_size, data_left); if (chunk_fcc == Impl::fmt_id()) { if (channels || sample_rate || bytes_per_sample)