c960070c | 11-Mar-2021 |
Akihiko Odaki <akihiko.odaki@gmail.com> |
coreaudio: Drop support for macOS older than 10.6
Mac OS X 10.6 was released in 2009.
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Me
coreaudio: Drop support for macOS older than 10.6
Mac OS X 10.6 was released in 2009.
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210311151512.22096-1-akihiko.odaki@gmail.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
538f0497 | 11-Jan-2021 |
Philippe Mathieu-Daudé <philmd@redhat.com> |
sysemu: Let VMChangeStateHandler take boolean 'running' argument
The 'running' argument from VMChangeStateHandler does not require other value than 0 / 1. Make it a plain boolean.
Signed-off-by: Ph
sysemu: Let VMChangeStateHandler take boolean 'running' argument
The 'running' argument from VMChangeStateHandler does not require other value than 0 / 1. Make it a plain boolean.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: David Gibson <david@gibson.dropbear.id.au> Message-Id: <20210111152020.1422021-3-philmd@redhat.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
show more ...
|
8abf3feb | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: space prohibited between function name and parenthesis'('
Delete spaces between function name and open parenthesis'('
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012
audio: space prohibited between function name and parenthesis'('
Delete spaces between function name and open parenthesis'('
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-8-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
289db3c5 | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: Suspect code indent for conditional statements
Fix code indent.
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <2021011
audio: Suspect code indent for conditional statements
Fix code indent.
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-7-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
dea7d84f | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: Don't use '%#' in format strings
Use '0x' prefix instead of '%#'
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20210115
audio: Don't use '%#' in format strings
Use '0x' prefix instead of '%#'
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-6-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
c60840c7 | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: Fix lines over 90 characters
Fix the line width of code.
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431
audio: Fix lines over 90 characters
Fix the line width of code.
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-5-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
dcf10e40 | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: foo* bar" should be "foo *bar".
transfer "foo* " to "foo *"
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012
audio: foo* bar" should be "foo *bar".
transfer "foo* " to "foo *"
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-4-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
3c8de96c | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: Add spaces around operator/delete redundant spaces
Fix problems about spaces: -operator needs spaces around it, add them. -somespaces are redundant, remove them.
Signed-off-by: Zhang Han <zh
audio: Add spaces around operator/delete redundant spaces
Fix problems about spaces: -operator needs spaces around it, add them. -somespaces are redundant, remove them.
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-3-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
6c6886bd | 14-Jan-2021 |
Zhang Han <zhanghan64@huawei.com> |
audio: Add braces for statements/fix braces' position
Fix problems about braces: -braces are necessary for all arms of if/for/while statements -else should follow close brace '}'
Signed-off-by: Zha
audio: Add braces for statements/fix braces' position
Fix problems about braces: -braces are necessary for all arms of if/for/while statements -else should follow close brace '}'
Signed-off-by: Zhang Han <zhanghan64@huawei.com> Message-id: 20210115012431.79533-1-zhanghan64@huawei.com Message-Id: <20210115012431.79533-2-zhanghan64@huawei.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
2d96a005 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
dsoundaudio: fix log message
There is a mismatch between message and used argument. Change the argument from frequency to format.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 931
dsoundaudio: fix log message
There is a mismatch between message and used argument. Change the argument from frequency to format.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-23-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
11575061 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
dsoundaudio: enable f32 audio sample format
Enable the f32 audio sample format for the DirectSound backend.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-1
dsoundaudio: enable f32 audio sample format
Enable the f32 audio sample format for the DirectSound backend.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-22-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
3c18e431 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
dsoundaudio: rename dsound_open()
Rename dsound_open() to dsound_set_cooperative_level(). The only task of that function is to set the cooperative level for DirectSound.
Signed-off-by: Volker Rümel
dsoundaudio: rename dsound_open()
Rename dsound_open() to dsound_set_cooperative_level(). The only task of that function is to set the cooperative level for DirectSound.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-21-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
401dcf05 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
dsoundaudio: replace GetForegroundWindow()
GetForegroundWindow() doesn't necessarily return the own window handle. It just returns a handle to the currently active window and can even return NULL. A
dsoundaudio: replace GetForegroundWindow()
GetForegroundWindow() doesn't necessarily return the own window handle. It just returns a handle to the currently active window and can even return NULL. At the time dsound_open() gets called the active window is most likely the shell window and not the QEMU window.
Replace GetForegroundWindow() with GetDesktopWindow() which always returns a valid window handle, and at the same time replace the DirectSound buffer flag DSBCAPS_STICKYFOCUS with DSBCAPS_GLOBALFOCUS where Windows only expects a valid window handle for DirectSound function SetCooperativeLevel(). The Microsoft online docs for IDirectSound::SetCooperativeLevel recommend this in the remarks.
This fixes a bug where you can't hear sound from the guest.
To reproduce start qemu with -machine pcspk-audiodev=audio0 -device intel-hda -device hda-duplex,audiodev=audio0 -audiodev dsound,id=audio0,out.mixing-engine=off from a shell and start audio playback with the hda device in the guest. The guest will be silent. To hear guest audio you have to activate the shell window once.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-20-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
d9a8b27a | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: send recorded data in smaller chunks
Tell PulseAudio to send recorded audio data in smaller chunks than timer_period, so there's a good chance that qemu can read recorded audio data every t
paaudio: send recorded data in smaller chunks
Tell PulseAudio to send recorded audio data in smaller chunks than timer_period, so there's a good chance that qemu can read recorded audio data every time it looks for new data.
PulseAudio tries to send buffer updates at a fragsize / 2 rate. With fragsize = timer_period / 2 * 3 the update rate is 75% of timer_period. The lower limit for the recording buffer size maxlength is fragsize * 2.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-19-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
00413ed9 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: limit minreq to 75% of audio timer_rate
Currently with the playback buffer attribute minreq = -1 and flag PA_STREAM_EARLY_REQUESTS PulseAudio uses minreq = tlength / 4. To improve audio pla
paaudio: limit minreq to 75% of audio timer_rate
Currently with the playback buffer attribute minreq = -1 and flag PA_STREAM_EARLY_REQUESTS PulseAudio uses minreq = tlength / 4. To improve audio playback with larger PulseAudio server side buffers, limit minreq to a maximum of 75% of audio timer_rate. That way there is a good chance qemu receives a stream buffer size update before it tries to write data to the playback stream.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-18-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
cffd2fdf | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: comment bugs in functions qpa_init_*
The audio buffer size in audio/paaudio.c is typically larger than expected. Just comment the bugs in qpa_init_in() and qpa_init_out() for now. Fixing th
paaudio: comment bugs in functions qpa_init_*
The audio buffer size in audio/paaudio.c is typically larger than expected. Just comment the bugs in qpa_init_in() and qpa_init_out() for now. Fixing these bugs may break glitch free audio playback with fine tuned user audio settings.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-17-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
521ce714 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: remove unneeded code
Commit baea032ec7 "audio/paaudio: fix ignored buffer_length setting" added code to handle buffer_length defaults. This was unnecessary because the audio_buffer_* functi
paaudio: remove unneeded code
Commit baea032ec7 "audio/paaudio: fix ignored buffer_length setting" added code to handle buffer_length defaults. This was unnecessary because the audio_buffer_* functions in audio/audio.c already handle this. Remove the unneeded code.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-16-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
7007cd3f | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: wait until the playback stream is ready
Don't call pa_stream_writable_size() in qpa_get_buffer_out() before the playback stream is ready. This prevents a lot of the following pulseaudio err
paaudio: wait until the playback stream is ready
Don't call pa_stream_writable_size() in qpa_get_buffer_out() before the playback stream is ready. This prevents a lot of the following pulseaudio error messages.
pulseaudio: pa_stream_writable_size failed pulseaudio: Reason: Bad state
To reproduce start qemu with -parallel none -device gus,audiodev=audio0 -audiodev pa,id=audio0
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-15-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
e270c548 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: wait for PA_STREAM_READY in qpa_write()
Don't call pa_stream_writable_size() in qpa_write() before the playback stream is ready. This prevents a lot of the following pulseaudio error messag
paaudio: wait for PA_STREAM_READY in qpa_write()
Don't call pa_stream_writable_size() in qpa_write() before the playback stream is ready. This prevents a lot of the following pulseaudio error messages.
pulseaudio: pa_stream_writable_size failed pulseaudio: Reason: Bad state
To reproduce start qemu with -parallel none -device gus,audiodev=audio0 -audiodev pa,id=audio0,out.mixing-engine=off
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-14-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
bea29e9f | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
paaudio: avoid to clip samples multiple times
The pulseaudio backend currently converts, clips and copies audio playback samples in the mixing-engine sample buffer multiple times.
In qpa_get_buffer
paaudio: avoid to clip samples multiple times
The pulseaudio backend currently converts, clips and copies audio playback samples in the mixing-engine sample buffer multiple times.
In qpa_get_buffer_out() the function pa_stream_begin_write() returns a rather large buffer and this allows audio_pcm_hw_run_out() in audio/audio.c to copy all samples in the mixing-engine buffer to the pulse audio buffer. Immediately after copying, qpa_write() notices with a call to pa_stream_writable_size() that pulse audio only needs a smaller part of the copied samples and ignores the rest. This copy and ignore process happens several times for each audio sample.
To fix this behaviour, call pa_stream_writable_size() in qpa_get_buffer_out() to limit the number of samples audio_pcm_hw_run_out() will convert. With this change the pulseaudio pcm_ops functions put_buffer_out and write are no longer identical and a separate qpa_put_buffer_out is needed.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-13-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
6fb0cd50 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
audio: remove remaining unused plive code
Commit 73ad33ef7b "audio: remove plive" forgot to remove this code.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e
audio: remove remaining unused plive code
Commit 73ad33ef7b "audio: remove plive" forgot to remove this code.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-12-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
bd37ede4 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
sdlaudio: enable (in|out).mixing-engine=off
Enable the SDL2 backend options -audiodev sdl,out.mixing- engine=off,in.mixing-engine=off.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id
sdlaudio: enable (in|out).mixing-engine=off
Enable the SDL2 backend options -audiodev sdl,out.mixing- engine=off,in.mixing-engine=off.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-11-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
1d8549ad | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
audio: break generic buffer dependency on mixing-engine
Break the unnecessary dependency of the generic buffer management code on mixing-engine. This is required for the next patch.
Signed-off-by:
audio: break generic buffer dependency on mixing-engine
Break the unnecessary dependency of the generic buffer management code on mixing-engine. This is required for the next patch.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-10-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
c2031dea | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
sdlaudio: add recording functions
Add audio recording functions. SDL 2.0.5 or later is required to use the recording functions. Playback continues to work with earlier SDL 2.0 versions.
Signed-off-
sdlaudio: add recording functions
Add audio recording functions. SDL 2.0.5 or later is required to use the recording functions. Playback continues to work with earlier SDL 2.0 versions.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-9-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
a2893c83 | 10-Jan-2021 |
Volker Rümelin <vr_qemu@t-online.de> |
audio: split pcm_ops function get_buffer_in
Split off pcm_ops function run_buffer_in from get_buffer_in and call run_buffer_in before get_buffer_in.
The next patch only needs the generic buffer man
audio: split pcm_ops function get_buffer_in
Split off pcm_ops function run_buffer_in from get_buffer_in and call run_buffer_in before get_buffer_in.
The next patch only needs the generic buffer management part from audio_generic_get_buffer_in().
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Message-id: 9315afe5-5958-c0b4-ea1e-14769511a9d5@t-online.de Message-Id: <20210110100239.27588-8-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|