]> Git Repo - qemu.git/blobdiff - audio/paaudio.c
Merge branch 'pci' into for_anthony
[qemu.git] / audio / paaudio.c
index dbc40813ee2243fbc0fc3b53c887d043c10a5f86..ff71dac2a59a044cd4223f70421bfeedd3b16f48 100644 (file)
@@ -110,8 +110,8 @@ static void *qpa_thread_out (void *arg)
             return NULL;
         }
 
+        pa->live = 0;
         pa->rpos = rpos;
-        pa->live -= decr;
         pa->decr += decr;
     }
 
@@ -120,16 +120,15 @@ static void *qpa_thread_out (void *arg)
     return NULL;
 }
 
-static int qpa_run_out (HWVoiceOut *hw)
+static int qpa_run_out (HWVoiceOut *hw, int live)
 {
-    int live, decr;
+    int decr;
     PAVoiceOut *pa = (PAVoiceOut *) hw;
 
     if (audio_pt_lock (&pa->pt, AUDIO_FUNC)) {
         return 0;
     }
 
-    live = audio_pcm_hw_get_live_out (hw);
     decr = audio_MIN (live, pa->decr);
     pa->decr -= decr;
     pa->live = live - decr;
@@ -466,26 +465,36 @@ static void qpa_audio_fini (void *opaque)
 }
 
 struct audio_option qpa_options[] = {
-    {.name  = "SAMPLES",
-     .tag   = AUD_OPT_INT,
-     .valp  = &conf.samples,
-     .descr = "buffer size in samples"},
-    {.name  = "DIVISOR",
-     .tag   = AUD_OPT_INT,
-     .valp  = &conf.divisor,
-     .descr = "threshold divisor"},
-    {.name  = "SERVER",
-     .tag   = AUD_OPT_STR,
-     .valp  = &conf.server,
-     .descr = "server address"},
-    {.name  = "SINK",
-     .tag   = AUD_OPT_STR,
-     .valp  = &conf.sink,
-     .descr = "sink device name"},
-    {.name  = "SOURCE",
-     .tag   = AUD_OPT_STR,
-     .valp  = &conf.source,
-     .descr = "source device name"},
+    {
+        .name  = "SAMPLES",
+        .tag   = AUD_OPT_INT,
+        .valp  = &conf.samples,
+        .descr = "buffer size in samples"
+    },
+    {
+        .name  = "DIVISOR",
+        .tag   = AUD_OPT_INT,
+        .valp  = &conf.divisor,
+        .descr = "threshold divisor"
+    },
+    {
+        .name  = "SERVER",
+        .tag   = AUD_OPT_STR,
+        .valp  = &conf.server,
+        .descr = "server address"
+    },
+    {
+        .name  = "SINK",
+        .tag   = AUD_OPT_STR,
+        .valp  = &conf.sink,
+        .descr = "sink device name"
+    },
+    {
+        .name  = "SOURCE",
+        .tag   = AUD_OPT_STR,
+        .valp  = &conf.source,
+        .descr = "source device name"
+    },
     { /* End of list */ }
 };
 
@@ -510,7 +519,7 @@ struct audio_driver pa_audio_driver = {
     .init           = qpa_audio_init,
     .fini           = qpa_audio_fini,
     .pcm_ops        = &qpa_pcm_ops,
-    .can_be_default = 0,
+    .can_be_default = 1,
     .max_voices_out = INT_MAX,
     .max_voices_in  = INT_MAX,
     .voice_size_out = sizeof (PAVoiceOut),
This page took 0.025376 seconds and 4 git commands to generate.