make the number of buffers settable (malc)
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Nov 2005 18:53:42 +0000 (18:53 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Nov 2005 18:53:42 +0000 (18:53 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1638 c046a42c-6fe2-441c-8c8c-71466251a162

audio/coreaudio.c

index 6afc55c..534fb3e 100644 (file)
 
 struct {
     int buffer_frames;
+    int nbuffers;
     int isAtexit;
 } conf = {
     .buffer_frames = 512,
+    .nbuffers = 4,
     .isAtexit = 0
 };
 
@@ -393,7 +395,7 @@ static int coreaudio_init_out (HWVoiceOut *hw, audsettings_t *as)
                            "Could not get device buffer frame size\n");
         return -1;
     }
-    hw->samples = 4 * core->audioDevicePropertyBufferFrameSize;
+    hw->samples = conf.nbuffers * core->audioDevicePropertyBufferFrameSize;
 
     /* get StreamFormat */
     propertySize = sizeof(core->outputStreamBasicDescription);
@@ -527,6 +529,8 @@ static void coreaudio_audio_fini (void *opaque)
 static struct audio_option coreaudio_options[] = {
     {"BUFFER_SIZE", AUD_OPT_INT, &conf.buffer_frames,
      "Size of the buffer in frames", NULL, 0},
+    {"BUFFER_COUNT", AUD_OPT_INT, &conf.nbuffers,
+     "Number of buffers", NULL, 0},
     {NULL, 0, NULL, NULL, NULL, 0}
 };