summaryrefslogtreecommitdiffstats
path: root/audio
Commit message (Collapse)AuthorAgeFilesLines
* audio: Replace non-portable asprintf in debug code by g_strdup_printfStefan Weil2013-01-161-2/+3
| | | | | | | sw->name already uses the correct g_free to free the allocated memory. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* softmmu: move include files to include/sysemu/Paolo Bonzini2012-12-192-2/+2
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* misc: move include files to include/qemu/Paolo Bonzini2012-12-197-8/+8
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* monitor: move include files to include/monitor/Paolo Bonzini2012-12-192-2/+2
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* janitor: do not include qemu-char everywherePaolo Bonzini2012-12-192-2/+0
| | | | | | | Touching char/char.h basically causes the whole of QEMU to be rebuilt. Avoid this, it is usually unnecessary. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* janitor: do not rely on indirect inclusions of or from qemu-char.hPaolo Bonzini2012-12-192-0/+2
| | | | | | | | | Various header files rely on qemu-char.h including qemu-config.h or main-loop.h, but they really do not need qemu-char.h at all (particularly interesting is the case of the block layer!). Clean this up, and also add missing inclusions of qemu-char.h itself. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: move rules from Makefile to */Makefile.objsPaolo Bonzini2012-12-191-0/+3
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Revert "audio/wavcapture: Clarify licensing"Anthony Liguori2012-11-301-1/+0
| | | | | | | | | This reverts commit 456a84d156a7c42f18b1da176dd6219e2dffd043. This patch wasn't submitted to the list and did not get Acked by other copyright holders in the file. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Revert "audio/audio_pt_int: Clarify licensing"Anthony Liguori2012-11-301-1/+0
| | | | | | | | | This reverts commit 72bc6f1bf710e205f175af9b1fc8bbd83e8da71f. This patch wasn't submitted to the list and did not get Acked by other copyright holders in the file. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* audio/audio_pt_int: Clarify licensingmalc2012-11-191-0/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* audio/wavcapture: Clarify licensingmalc2012-11-191-0/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* audio: Fix warning from static code analysisStefan Weil2012-09-231-3/+3
| | | | | | | | | | | | smatch report: audio/audio_template.h:416 AUD_open_out(18) warn: variable dereferenced before check 'as' (see line 414) Moving the ldebug statement after the statement which checks 'as' fixes that warning. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: malc <av1474@comtv.ru>
* audio/winwave: previous audio buffer should be flushedmunkyu.im2012-08-281-9/+3
| | | | | | | | | | | Winwave audio backend has problem with pausing and restart audio out. Unlike other backends, Winwave pausing API does not flush audio buffer. As a result, the previous audio data are played in front of user expected sound when user restart audio. So changes it to waveOutReset() Signed-off-by: Munkyu Im <munkyu.im@samsung.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: Unbreak capturing in mixemu casemalc2012-07-161-0/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* audio/winwave: Fix typomalc2012-06-151-1/+1
| | | | Signed-off-by: malc <av1474@comtv.ru>
* build: move audio/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-0/+14
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* audio: Always call fini on exitJan Kiszka2012-05-241-4/+8
| | | | | | | | | | | | Not only clean up enabled voices but any registered one. Backends like pulsaudio rely on unconditional fini handler invocations. This fixes "Memory pool destroyed but not all memory blocks freed!" warnings on VM shutdowns when pa is used and lockups of QEMU on shutdown as it got stuck on some pa-internal synchronization point. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: split IN_T into two separate constantsRoger Pau Monne2012-05-182-13/+27
| | | | | | | | | | | | | | Split IN_T into BSIZE and ITYPE, to avoid expansion if the OS has defined macros for the intX_t and uintX_t types. The IN_T constant is then defined in mixeng_template.h so it can be used by the functions/macros on this header file. This change has been tested successfully under Debian Linux and NetBSD 6.0BETA. Cc: Vassili Karpov (malc) <av1474@comtv.ru> Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Signed-off-by: malc <av1474@comtv.ru>
* fix build with pulseaudio versions older than 0.9.11Gerd Hoffmann2012-05-041-1/+29
| | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* fix paaudio.c warningsGerd Hoffmann2012-04-251-2/+1
| | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* Allow controlling volume with PulseAudio backendMarc-André Lureau2012-04-171-5/+94
| | | | | Signed-off-by: Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* Do not use pa_simple PulseAudio APIMarc-André Lureau2012-04-171-38/+339
| | | | | | | | | | | | Unfortunately, pa_simple is a limited API which doesn't let us retrieve the associated pa_stream. It is needed to control the volume of the stream. In v4: - add missing braces Signed-off-by: Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* audio/spice: add support for volume controlMarc-André Lureau2012-04-171-0/+41
| | | | | | | Use Spice server volume control API when available. Signed-off-by: Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: don't apply volume effect if backend has VOICE_VOLUME_CAPMarc-André Lureau2012-04-173-2/+14
| | | | | | | | | | If the audio backend is capable of volume control, don't apply software volume (mixeng_volume ()), but instead, rely on backend volume control. This will allow guest to have full range volume control. Signed-off-by: Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: add VOICE_VOLUME ctlMarc-André Lureau2012-04-172-0/+13
| | | | | | | | | | | | Add a new PCM control operation to update the stream volume on the audio backend. The argument given is a SWVoiceOut/SWVoiceIn. v4: - verified other backends didn't fail/assert on this new control they randomly return 0 or -1, but we ignore return value. Signed-off-by: Marc-Andr? Lureau <marcandre.lureau@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: Add some fall through commentsStefan Weil2012-02-252-1/+4
| | | | | | | | Static code analysers expect these comments for case statements without a break statement. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: malc <av1474@comtv.ru>
* Fix spelling in comments, documentation and messagesStefan Weil2011-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | accidently->accidentally annother->another choosen->chosen consideres->considers decriptor->descriptor developement->development paramter->parameter preceed->precede preceeding->preceding priviledge->privilege propogation->propagation substraction->subtraction throught->through upto->up to usefull->useful Fix also grammar in posix-aio-compat.c Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* fmodaudio: Remove unused variable 'bits16' (reported by cppcheck)Stefan Weil2011-11-181-4/+2
| | | | | | | | The variable is assigned a value which is never used, so remove variable and assignment. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: malc <av1474@comtv.ru>
* Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori2011-09-201-1/+1
|\
| * Replace the VMSTOP macros with a proper state typeLuiz Capitulino2011-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today, when notifying a VM state change with vm_state_notify(), we pass a VMSTOP macro as the 'reason' argument. This is not ideal because the VMSTOP macros tell why qemu stopped and not exactly what the current VM state is. One example to demonstrate this problem is that vm_start() calls vm_state_notify() with reason=0, which turns out to be VMSTOP_USER. This commit fixes that by replacing the VMSTOP macros with a proper state type called RunState. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
* | wavaudio: Use stdio instead of QEMUFileJuan Quintela2011-09-201-10/+36
| | | | | | | | | | | | | | | | | | | | QEMUFile * is only intended for migration nowadays. Using it for anything else just adds pain and a layer of buffers for no good reason. Signed-off-by: Juan Quintela <quintela@redhat.com> CC: malc <av1474@comtv.ru> Signed-off-by: malc <av1474@comtv.ru>
* | wavcapture: Use stdio instead of QEMUFileJuan Quintela2011-09-201-23/+56
|/ | | | | | | | | | QEMUFile * is only intended for migration nowadays. Using it for anything else just adds pain and a layer of buffers for no good reason. Signed-off-by: Juan Quintela <quintela@redhat.com> CC: malc <av1474@comtv.ru> Signed-off-by: malc <av1474@comtv.ru>
* Use glib memory allocation and free functionsAnthony Liguori2011-08-2010-57/+57
| | | | | | qemu_malloc/qemu_free no longer exist after this commit. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* coreaudio: Fix OSStatus format specifierAndreas Färber2011-06-231-1/+1
| | | | | | | | | | | OSStatus type is defined as SInt32. That's signed int on __LP64__ and signed long otherwise. Since it is an explicit 32-bit-width type, cast to corresponsing POSIX type and use PRId32 format specifier. This avoids a warning on ppc64. Cc: malc <av1474@comtv.ru> Signed-off-by: Andreas Faerber <andreas.faerber@web.de> Signed-off-by: malc <av1474@comtv.ru>
* coreaudio: Avoid formatting UInt32 typeAndreas Färber2011-06-231-2/+2
| | | | | | | | | | | | | coreaudioVoiceOut's audioDevicePropertyBufferFrameSize is defined as UInt32 and is being used by reference for AudioDevice{Get,Set}Property(). UInt32 is unsigned int on __LP64__ but unsigned long otherwise. Cast to POSIX type and use PRIu32 format specifier to hide the details. This avoids a warning on ppc64. Cc: malc <av1474@comtv.ru> Signed-off-by: Andreas Faerber <andreas.faerber@web.de> Signed-off-by: malc <av1474@comtv.ru>
* Fix compilation warning due to incorrectly specified typeAlexandre Raymond2011-06-141-1/+1
| | | | | | | | | | | | | | | | 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 audio/coreaudio.c:63: warning: assignment discards qualifiers from pointer target type (...) -----8<----- Signed-off-by: Alexandre Raymond <cerbere@gmail.com> Acked-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Andreas Färber <andreas.faerber@web.de>
* Fix compilation warning due to missing header for sigaction (followup)Alexandre Raymond2011-06-082-3/+0
| | | | | | | | This patch removes all references to signal.h when qemu-common.h is included as 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 expressionJuha Riihim?ki2011-06-011-2/+2
| | | | | | | | | | | Fix an integer overflow that can happen for signed 32 bit types when using FLOAT_MIXENG. (Note that at the moment this is only true when using the MacOSX coreaudio audio driver.) Signed-off-by: Juha Riihim?ki <juha.riihimaki@nokia.com> [Peter Maydell: Removed unnecessary casts] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: malc <av1474@comtv.ru>
* Fix trivial "endianness bugs"Stefan Weil2011-04-031-10/+10
| | | | | | | 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 accessorsPaolo Bonzini2011-03-214-7/+7
| | | | | | | | | | | | | | | | | | | | | | 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\>' ) after checking that get_clock and new_timer never occur twice on the same line. There were no missed occurrences; however, even if there had been, they would have been caught by the compiler. There was exactly one false positive in qemu_run_timers: - current_time = qemu_get_clock (clock); + current_time = qemu_get_clock_ns (clock); which is of course not in this patch. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* pulseaudio: tweak configGerd Hoffmann2011-01-251-9/+1
| | | | | | | | 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 attrsGerd Hoffmann2011-01-251-1/+11
| | | | | | | | | Request reasonable buffer sizes from pulseaudio. Without this pa_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> Signed-off-by: malc <av1474@comtv.ru>
* pulseaudio: process 1/4 buffer max at onceGerd Hoffmann2011-01-251-13/+9
| | | | | | | | | | | | | | | | | | | | | | | Limit the size of data pieces processed by the pulseaudio worker threads. Never ever process more than 1/4 of the buffer at once. Background: The buffer area currently processed by the pulseaudio thread is blocked, i.e. the main thread (or iothread) can't fill in more data there. The buffer processing time is roughly real-time due to the pa_simple_write() call blocking when the output queue to the pulse server is full. Thus processing big chunks at once means blocking a large part of the buffer for a long time. This brings high latency and can lead to dropouts. When processing the buffer in smaller chunks the rpos handling becomes a problem though. The thread reads hw->rpos without knowing whenever qpa_run_out has already seen the last (small) chunk processed and updated rpos accordingly. There is no point in reading hw->rpos though, pa->rpos can be used instead. We just need to take care to initialize pa->rpos before kicking the thread. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: malc <av1474@comtv.ru>
* audio: split sample conversion and volume mixingMichael Walle2011-01-1213-55/+52
| | | | | | | | | Refactor the volume mixing, so it can be reused for capturing devices. Additionally, it removes superfluous multiplications with the nominal volume within the hardware voice code path. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
* alsaaudio: add endianness support for VoiceInMichael Walle2011-01-091-7/+27
| | | | | Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
* ossaudio: add endianness support for VoiceInMichael Walle2011-01-091-5/+15
| | | | | Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
* noaudio: correctly account acquired samplesMichael Walle2011-01-041-0/+3
| | | | | | | | | This will fix the return value of the function which otherwise returns too many samples because sw->total_hw_samples_acquired isn't correctly accounted. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
* noaudio: fix return value for read()Michael Walle2010-12-101-1/+1
| | | | | | | Read should return bytes instead of samples. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
* audio: Use GCC_FMT_ATTR (format checking)Stefan Weil2010-12-041-1/+2
| | | | | | 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 necessarymalc2010-11-181-14/+10
| | | | | | | Originally proposed by Gerd Hoffmann. Signed-off-by: malc <av1474@comtv.ru> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
OpenPOWER on IntegriCloud