]> git.proxmox.com Git - mirror_qemu.git/blobdiff - audio/audio_template.h
audio: fix sw->buf size for audio recording
[mirror_qemu.git] / audio / audio_template.h
index 98ab557684d83dd6638e995a958d021507101df9..720a32e57e7dd98e29d6f3d0cb529464f6a27a8f 100644 (file)
@@ -110,7 +110,11 @@ static int glue (audio_pcm_sw_alloc_resources_, TYPE) (SW *sw)
         return 0;
     }
 
+#ifdef DAC
     samples = ((int64_t) sw->HWBUF->size << 32) / sw->ratio;
+#else
+    samples = (int64_t)sw->HWBUF->size * sw->ratio >> 32;
+#endif
 
     sw->buf = audio_calloc(__func__, samples, sizeof(struct st_sample));
     if (!sw->buf) {