diff --git a/dlls/quartz/mpegsplit.c b/dlls/quartz/mpegsplit.c index 585851b2647..a45f40124fb 100644 --- a/dlls/quartz/mpegsplit.c +++ b/dlls/quartz/mpegsplit.c @@ -154,11 +154,17 @@ static HRESULT parse_header(BYTE *header, LONGLONG *plen, LONGLONG *pduration) return E_INVALIDARG; } - - if (layer == 3 || layer == 2) - length = 144 * bitrate / freqs[freq_index] + padding; - else + if (layer == 1) length = 4 * (12 * bitrate / freqs[freq_index] + padding); + else if (layer == 2) + length = 144 * bitrate / freqs[freq_index] + padding; + else if (layer == 3) + length = 144 * bitrate / (freqs[freq_index]<