Fix compilation warning due to incorrectly specified type
In audio/coreaudio.c, a variable named "str" was assigned "const char" values,which resulted in the following warnings:
-----8<-----audio/coreaudio.c: In function ‘coreaudio_logstatus’:audio/coreaudio.c:59: warning: initialization discards qualifiers from pointer target type...
Fix compilation warning due to missing header for sigaction (followup)
This patch removes all references to signal.h when qemu-common.h is includedas they become redundant.
Signed-off-by: Alexandre Raymond <cerbere@gmail.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
audio: fix integer overflow expression
Fix an integer overflow that can happen for signed 32 bit typeswhen using FLOAT_MIXENG. (Note that at the moment this is only truewhen using the MacOSX coreaudio audio driver.)
Signed-off-by: Juha Riihim?ki <juha.riihimaki@nokia.com>...
Fix trivial "endianness bugs"
Replace endianess -> endianness.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
change all other clock references to use nanosecond resolution accessors
This was done with:
sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \ $(git grep -l 'qemu_get_clock\>' ) sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \ $(git grep -l 'qemu_new_timer\>' )...
pulseaudio: tweak config
Zap unused divisor field.Raise the buffer size default.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: malc <av1474@comtv.ru>
pulseaudio: setup buffer attrs
Request reasonable buffer sizes from pulseaudio. Without thispa_simple_write() can block quite long and lead to dropouts,especially with guests which use small audio ring buffers.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
pulseaudio: process 1/4 buffer max at once
Limit the size of data pieces processed by the pulseaudio workerthreads. Never ever process more than 1/4 of the buffer at once.
Background: The buffer area currently processed by the pulseaudio threadis blocked, i.e. the main thread (or iothread) can't fill in more data...
audio: split sample conversion and volume mixing
Refactor the volume mixing, so it can be reused for capturing devices.Additionally, it removes superfluous multiplications with the nominalvolume within the hardware voice code path.
Signed-off-by: Michael Walle <michael@walle.cc>...
alsaaudio: add endianness support for VoiceIn
Signed-off-by: Michael Walle <michael@walle.cc>Signed-off-by: malc <av1474@comtv.ru>
ossaudio: add endianness support for VoiceIn
noaudio: correctly account acquired samples
This will fix the return value of the function which otherwise returns toomany samples because sw->total_hw_samples_acquired isn't correctlyaccounted.
noaudio: fix return value for read()
Read should return bytes instead of samples.
audio: Use GCC_FMT_ATTR (format checking)
Cc: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
audio: Only use audio timer when necessary
Originally proposed by Gerd Hoffmann.
Signed-off-by: malc <av1474@comtv.ru>Acked-by: Gerd Hoffmann <kraxel@redhat.com>
add copyright to spiceaudio
spice: add audio
Add support for the spice audio interface. With this patch appliedaudio can be forwarded over the network from/to the spice client. Bothrecording and playback is supported.
The driver is first in the driver list, but the can_be_default flag is...
issue snd_pcm_start() when capturing audio
snd_pcm_start() starts the capture process and ensures that the eventsare delivered to the poll handler. Without the call, capture can be startedonly when there is simultaneous playback running.
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>...
fix 100% CPU load when idle with ALSA
Playback control function did not disable polling when playback stops.Caused busy spinning of the main loop due to unprocessed events.
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>Signed-off-by: malc <av1474@comtv.ru>
Use GCC_FMT_ATTR (format checking)
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking)
Since version 4.4.x, gcc supports additional format attributes. attribute ((format (gnu_printf, 1, 2)))should be used instead of attribute ((format (printf, 1, 2))...
pulse-audio: fix bug on updating rpos
Fix a rpos coordination bug between qpa_run_out() and qpa_thread_out(),which shows up as playback noises.
qpa_run_out() qpa_thread_out loop N critical section 1 qpa_run_out() qpa_thread_out loop N doing pa_simple_write()...
audio: Fix memory size for resampling buffer in DAC case
Signed-off-by: malc <av1474@comtv.ru>
Move macros GCC_ATTR and GCC_FMT_ATTR to common header file
By moving the definition of GCC_ATTR and GCC_FMT_ATTRfrom audio_int.h to qemu-common.h these macros arenow generally available for further patches which addthe gcc format attribute.
Newer gcc versions support format gnu_printf which is...
audio/sdl: return on error
audio/sdl: be more anal about errors
audio: make audio_pt_init block all signals
savevm: Add DeviceState param
When available, we'd like to be able to access the DeviceStatewhen registering a savevm. For buses with a get_dev_path()function, this will allow us to create more unique savevmid strings.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>...
Fix %lld or %llx printf format use
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
audio/sdlaudio: remove unused variable
Remove unused 'shift' variable spotted by clang.Also clean up aud_to_sdlfmt which used to get the valueof shift.
Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com>Signed-off-by: malc <av1474@comtv.ru>
audio/alsa: Avoid snd_pcm_format_t vs audfmt_e mixup
Spotted by Serge Ziryukin and based on his patch, thanks.
monitor: Separate "default monitor" and "current monitor" cleanly
Commits 376253ec..731b0364 introduced global variable cur_mon, whichpoints to the "default monitor" (if any), except during execution ofmonitor_read() or monitor_control_read() it points to the monitor from...
audio: fix comment
audio/alsa: Handle SND_PCM_STATE_SETUP in alsa_poll_handler
audio/alsa: Spelling typo (paramters)
Trivial patch to fix the spelling of "parameters".
audio: include more information into audio_bug's output
Revert "sdlaudio: make it suck less"
This reverts commit 4839abe78fd466a3cf06faa7c362154afd5404f1.
The commit was badly broken, Gentoo has sdl as the default driver,consequently 5 gentoo users have hit the breakage and were kind enoughto report, so thank you:...
Workaround for broken OSS_GETVERSION on FreeBSD, part two
Turns out on those versions of FreeBSD (>= 7.x) that know OSS_GETVERSIONthe ioctl doesn't actually work yet (except in the Linuxolator), so ifbuilding on FreeBSD assume the sound drivers are new enough if the ioctl...
oss: fix fragment setting
Previous patch introduced subtle regression, in cases whenOSS_GETVERSION fails the code wasn't falling back toSNDCTL_DSP_SETFRAGMENT.
oss: issue OSS_GETVERSION ioctl only when needed
oss: refactor code around policy setting
This fixes a problem with a previous patch spotted by Juergen Lock,thanks to him again.
oss: workaround for cases when OSS_GETVERSION is not defined
Thanks to Juergen Lock.
audio: fix compilation of DEBUG_PLIVE
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
audio: port to vmstate
audio: Remove conditional around sw which can not be NULL
Noticed by Steve Grubb.
winwave: ADC support
audio: remove last remnants of _t
winwave: make error logging more consistent
winwave: follow the rules when closing the output device
a. call waveOutReset to drain the queueb. unprepare headers before freeing underlying memory
qemu: allow pulseaudio to be the default
We're seeing various issues with the SDL audio backend and want toswitch to the pulseaudio backend. See e.g.
https://bugzilla.redhat.com/495964 https://bugzilla.redhat.com/519540 https://bugzilla.redhat.com/496627...
winwave: pause/restore playing upon seeing VOICE_DISABLE/ENABLE
winwave: close event handle and delete wait object after closing HWAVEOUT
To avoid possibly being called back and thus racing.
winwave: remove wait object when finalizing DAC voice
winwave: poll mode
Windows Waveform Audio driver (no ADC support yet)
oss/alsa: Do not invoke UB described in 7.15.1.1 (this time for ADC)
alsa: Change default buffer/period size
Increase buffer size but do not rely on ALSA picking up default periodsize.
oss/alsa: Do not invoke UB described in 7.15.1.1
Additional argument (whether to try poll mode) is only passed withVOICE_ENABLE command.
Thanks to Markus Armbruster for noticing the potential breakage.
sdlaudio: make it suck less
coreaudio: fix sloppy "posixification" by 1ea879e5580f63414693655fcf0328559cdce138
audio: use muldiv64 where it makes sense
audio: introduce audio_pcm_hw_clip_out helper function
alsa: use audio_pcm_hw_clip_out
oss: use audio_pcm_hw_clip_out
sdlaudio: use correct function names in sdl_XXX calls
audio: internal API change
pcm_ops.run_out now takes number of live samples (which will be alwaysgreater than zero) as a second argument, every driver was callingaudio_pcm_hw_get_live_out anyway with exception of fmod which usedaudio_pcm_hw_get_live_out2 for no good reason....
audio: use correct email address
alsa/oss: Remove fd transfer handlers before closing oss/alsa fd/handle
alsa: Use proper value when testing returned events in alsa_poll_handler
audio: Fix typo that broke QEMU_AUDIO_ADC_TRY_POLL
Signed-off-by: Jan Kiszka <jan.kiszka@web.de>Signed-off-by: malc <av1474@comtv.ru>
oss: OSS v4 support
a. Use SNDCTL_DSP_POLICY instead of SNDCTL_DSP_SETFRAGMENTb. Add ability to open device in exclusive mode, thus bypassing vmix
oss: Simplify mmap code
Fix sys-queue.h conflict for good
Problem: Our file sys-queue.h is a copy of the BSD file, but there aresome additions and it's not entirely compatible. Because of that, there havebeen conflicts with system headers on BSD systems. Some hacks have beenintroduced in the commits 15cc9235840a22c289edbe064a9b3c19c5f49896,...
oss: Unbreak mmaping the ability to mmap oss fd on Linux
audio: poll mode infrastructure
oss: poll mode handling
alsa: poll mode handling
audio: remove lsbindex/popcount in favour of host-utils's ctz32
Unexport ticks_per_sec variable. Create get_ticks_per_sec() function
Remove bit-rotten threshold handling
Thanks to Toshiya Takeda for bringing up an unrelated issue which ledto this.
Fix warning on x86_64
audio/esdaudio.c: In function 'qesd_thread_out':audio/esdaudio.c:136: error: format '%d' expects type 'int', butargument 3 has type 'ssize_t'audio/esdaudio.c: In function 'qesd_thread_in':audio/esdaudio.c:366: error: format '%d' expects type 'int', but...
Fix dsound typos
Dsound currently does not compile due to the typos in the code. Thispatch makes it compile again.{PATCH}
Signed-off-by: Alex Ivanov <void@aleksoft.net>Signed-off-by: malc <av1474@comtv.ru>
Fix typo
use C99 initializers for audio_pcm_ops
Signed-off-by: Juan Quintela <quintela@redhat.com>
use C99 initializers for all audio/*
Aesthetics
Reformat to make item borders more visibleFix cases of stray tabs and vertical misalignments
Use proper struct initializers and remove INIT_FIELD() macro
Use C99 initializers for audio_option
Fix Sparse warnings: "Using plain integer as NULL pointer"
alsa: add host suspend/resume support
Both input and output streams may be in SND_PCM_STATE_SUSPENDEDafter the host is suspended and resumed, meaning "Hardware issuspended". snd_pcm_readi() and snd_pcm_writei() will return-ESTRPIPE if called while the stream is in this state....
Generate config-host.h from config-host.mak
Generate CONFIG_AUDIO_DRIVERS. Order is important here, because thefirst driver in the list is the one used by default.
rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN
Fix period initialization
use struct initializer for audio.c
Ignore -Waddress for alsaaudio.c
/usr/include/alsa/pcm.h contains:
#define snd_pcm_sw_params_alloca(ptr) do { assert(ptr); *ptr = (snd_pcm_sw_params_t *) alloca(snd_pcm_sw_params_sizeof()); memset(*ptr, 0, snd_pcm_sw_params_sizeof()); } while (0)
The assert generates: "error: the address of 'sw_params' will always...
fix qemu_alloc/qemu_free for audio subsystem
Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
alsa: fix warning
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Remove any pretense that there can be more than one AudioState
Make AUD_init failure fatal
Failure to initialize the audio subsystem is not handled consistently.Where it is handled it has guest visible effects, which is wrong.We already have a "nosound" audio driver as a last resort, so trying toproceed without an audio backend seems pointless....
Remove redundant #define
Suppress a warningaudio/dsoundaudio.c:35:1: warning: "WIN32_LEAN_AND_MEAN" redefined<command line>:4:1: warning: this is the location of the previous definition
Signed-off-by: Alex Ivanov <void@aleksoft.net>