wav finalization fix (malc)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Nov 2005 16:22:16 +0000 (16:22 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Nov 2005 16:22:16 +0000 (16:22 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1634 c046a42c-6fe2-441c-8c8c-71466251a162

audio/wavaudio.c

index 4cc9ca7..18d2bb0 100644 (file)
@@ -167,11 +167,10 @@ static int wav_init_out (HWVoiceOut *hw, audsettings_t *as)
 static void wav_fini_out (HWVoiceOut *hw)
 {
     WAVVoiceOut *wav = (WAVVoiceOut *) hw;
-    int stereo = hw->info.nchannels == 2;
     uint8_t rlen[4];
     uint8_t dlen[4];
-    uint32_t rifflen = (wav->total_samples << stereo) + 36;
-    uint32_t datalen = wav->total_samples << stereo;
+    uint32_t datalen = wav->total_samples << hw->info.shift;
+    uint32_t rifflen = datalen + 36;
 
     if (!wav->f) {
         return;