audio: Add winaudio as an alternative audio backend for Windows

QEMU's default audio backend for Windows, winwave, does not work well
with the goldfish audio device when audio input is enabled. The classic
Android emulator does not use winwave, but introduces its own Windows
audio backend called winaudio. This patch adapts winaudio for QEMU 2.x
and makes it available as an alternative audio backend for Windows.

Change-Id: I2da855957035b6d95bdf6e0044a3e807b769abf2
Signed-off-by: Yu Ning <yu.ning@intel.com>
4 files changed
tree: a0afe38f96d7ce93662c09f5b6e422be78318be2
  1. .exrc
  2. .gitignore
  3. .gitmodules
  4. .mailmap
  5. .travis.yml
  6. CODING_STYLE
  7. COPYING
  8. COPYING.LIB
  9. Changelog
  10. HACKING
  11. LICENSE
  12. MAINTAINERS
  13. Makefile
  14. Makefile.objs
  15. Makefile.target
  16. README
  17. VERSION
  18. accel.c
  19. aio-posix.c
  20. aio-win32.c
  21. android-commands.h
  22. android-console.c
  23. android-console.h
  24. arch_init.c
  25. async.c
  26. audio/
  27. backends/
  28. balloon.c
  29. block-migration.c
  30. block.c
  31. block/
  32. blockdev-nbd.c
  33. blockdev.c
  34. blockjob.c
  35. bootdevice.c
  36. bsd-user/
  37. bt-host.c
  38. bt-vhci.c
  39. configure
  40. coroutine-gthread.c
  41. coroutine-sigaltstack.c
  42. coroutine-ucontext.c
  43. coroutine-win32.c
  44. cpu-exec.c
  45. cpus.c
  46. cputlb.c
  47. default-configs/
  48. device-hotplug.c
  49. device_tree.c
  50. disas.c
  51. disas/
  52. dma-helpers.c
  53. docs/
  54. dump.c
  55. exec.c
  56. fpu/
  57. fsdev/
  58. gdb-xml/
  59. gdbstub.c
  60. hmp-commands.hx
  61. hmp.c
  62. hmp.h
  63. hw/
  64. include/
  65. iohandler.c
  66. ioport.c
  67. iothread.c
  68. kvm-all.c
  69. kvm-stub.c
  70. libcacard/
  71. libdecnumber/
  72. linux-headers/
  73. linux-user/
  74. main-loop.c
  75. memory.c
  76. memory_mapping.c
  77. migration-exec.c
  78. migration-fd.c
  79. migration-rdma.c
  80. migration-tcp.c
  81. migration-unix.c
  82. migration.c
  83. module-common.c
  84. monitor.c
  85. nbd.c
  86. net/
  87. numa.c
  88. os-posix.c
  89. os-win32.c
  90. page_cache.c
  91. pc-bios/
  92. po/
  93. qapi-schema.json
  94. qapi/
  95. qdev-monitor.c
  96. qdict-test-data.txt
  97. qemu-bridge-helper.c
  98. qemu-char.c
  99. qemu-coroutine-io.c
  100. qemu-coroutine-lock.c
  101. qemu-coroutine-sleep.c
  102. qemu-coroutine.c
  103. qemu-doc.texi
  104. qemu-file-stdio.c
  105. qemu-file-unix.c
  106. qemu-file.c
  107. qemu-img-cmds.hx
  108. qemu-img.c
  109. qemu-img.texi
  110. qemu-io-cmds.c
  111. qemu-io.c
  112. qemu-log.c
  113. qemu-nbd.c
  114. qemu-nbd.texi
  115. qemu-options-wrapper.h
  116. qemu-options.h
  117. qemu-options.hx
  118. qemu-seccomp.c
  119. qemu-tech.texi
  120. qemu-timer.c
  121. qemu.nsi
  122. qemu.sasl
  123. qga/
  124. qmp-commands.hx
  125. qmp.c
  126. qobject/
  127. qom/
  128. qtest.c
  129. roms/
  130. rules.mak
  131. savevm.c
  132. scripts/
  133. slirp/
  134. softmmu_template.h
  135. spice-qemu-char.c
  136. stubs/
  137. sysconfigs/
  138. target-alpha/
  139. target-arm/
  140. target-cris/
  141. target-i386/
  142. target-lm32/
  143. target-m68k/
  144. target-microblaze/
  145. target-mips/
  146. target-moxie/
  147. target-openrisc/
  148. target-ppc/
  149. target-s390x/
  150. target-sh4/
  151. target-sparc/
  152. target-tricore/
  153. target-unicore32/
  154. target-xtensa/
  155. tcg-runtime.c
  156. tcg/
  157. tci.c
  158. tests/
  159. thread-pool.c
  160. thunk.c
  161. tpm.c
  162. trace-events
  163. trace/
  164. translate-all.c
  165. translate-all.h
  166. ui/
  167. user-exec.c
  168. util/
  169. version.rc
  170. vl.c
  171. vmstate.c
  172. xbzrle.c
  173. xen-common-stub.c
  174. xen-common.c
  175. xen-hvm-stub.c
  176. xen-hvm.c
  177. xen-mapcache.c