Commit Graph

564 Commits

Author SHA1 Message Date
Eric Warmenhoven 6506b65ce7 Fix #15316 - on iOS, stop/start audio on interruptions 2023-05-26 03:27:31 +02:00
sonninnos 07c371533f
WASAPI Frame Delay fix + cleanups (#15187) 2023-04-13 20:20:47 +02:00
zoltanvb 4350ec24be
Support device list for PulseAudio (#15174)
As mentioned in https://github.com/libretro/RetroArch/issues/14954,
audio device selection works only if respective functions are
implemented in audio driver.

Added sink listing and selection. Common menu code takes care of the rest.
2023-04-09 18:15:48 +01:00
libretroadmin dc6b6d5cdb (XAudio) Header cleanups 2023-03-13 04:23:25 +01:00
libretroadmin 88cd91c586 Cleanup some xaudio headers 2023-03-13 04:12:18 +01:00
libretroadmin 7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
libretroadmin 0c42e339e1 Silence some warnings that popup in Xcode 2023-01-04 18:42:35 +01:00
libretroadmin 85598f24ad defines/ headers are libretro-common headers, search for them in
system header includes - other cleanups/nits
2022-12-15 15:09:40 +01:00
libretroadmin 5e6d917417 (audio/roar) remove errno.h include 2022-12-15 14:49:11 +01:00
Ruben Nine db9d3d3507
Allow coreaudio3 driver to work with audio devices that have 2 or more output channels. (#14715) 2022-12-10 16:08:26 +01:00
LibretroAdmin d5a6c4f150 (content) use flags for content_state
(xaudio2) Use flags
2022-10-09 10:20:43 +02:00
LibretroAdmin ace21d28f7 Fix C++ comments 2022-10-01 17:56:16 +02:00
libretroadmin a14ccc2d4d (Orbis) Remove some logs 2022-05-22 19:59:20 +02:00
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02:00
twinaphex 4d112da58d Silence some MSVC code analysis warnings 2022-03-07 19:02:46 +01:00
Francisco Javier Trujillo Mata 86b47b4859
[PSP] Update Retroarch to latest PSPDev status (#13544)
* Added newlib changes

* Add action to launch PPSSPP simulator

* Remove legacy config for the stack and heap

* Add pthread

* Simplify kernel_functions and improve references to HAVE_KERNEL_PRX

* Add some flags

* Improve audio init/deinit

* Improve exit by clicking home

* Add CI for PSP1

* Update PSP.yml
2022-01-25 03:50:18 +01:00
Vladimir Serbinenko 4e24fb3d01
Add osx-ppc compilation for frontend (#13532)
* Fix old osx condition

Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not
true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat
binaries it includes osx x86 and compilation fails.

* Disable crtswitchres when no c++11 is available

Crtswitchres altually needs c++11. Since it's not that important to make
it compatible with lower c++, just disable if no c++11 is available

* Don't use firstObject on old Mac OS X.

It was introduced in 10.6, so on old ones just implement it ourselves

* Compile osx-ppc frontend

* osx-ppc: Build a fat binary

On 10.6 i386 xcode apparently refuses to build a pure ppc.
Settle for a fat binary.
2022-01-24 16:22:07 +01:00
Poligraf b4ef32cfce
add oss audio to retrofw (#13303)
Co-authored-by: Poligraf <>
2021-12-01 17:19:39 +01:00
mahoneyt944 df6b1c306f
Log 2021-10-19 09:46:40 -04:00
Autechre e7f182811a
Split up audio code into new file audio/audio_driver.c (#13097)
* Split up audio code into new file audio/audio_driver.c

* Fix build issues #1

* Small cleanup

* Fix typo
2021-10-11 18:01:37 +02:00
Mark W. Kidd 2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
twinaphex a736dd27d2 (platform_switch) arg_data/args don't seem used anywhere
(switch_thread_audio) Pass correct type to function
2021-08-12 18:22:09 +02:00
sonninnos c737947d74 (WASAPI) Stop deactivating audio on fast forward 2021-08-11 04:21:52 +03:00
twinaphex 406c8bee7b Silenc some warnings 2021-08-09 21:24:03 +02:00
p-sam 1bc588acbd Fix building with libnx 4.0.0 2021-06-28 17:38:17 +02:00
Tony 49bd8d2d27
(XAudio+DSound) Fail instead of crash (#12527) 2021-06-16 15:35:20 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
sonninnos 6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
twinaphex b70217b7fc (Mac) Add CoreAudio3 for Metal x64 and ARM64 builds on buildbot 2021-02-17 05:20:51 +01:00
Francisco Javier Trujillo Mata 082fa22b05 Clean all the warnings in PS2 2021-01-30 15:47:52 +01:00
IAmBoring 88a1379053
XAudio2 threaded creation
COM initialization
2021-01-05 16:10:11 +00:00
twinaphex 51f0d04569 Update 2020-12-20 16:41:44 +01:00
twinaphex 870707dbe8 Remove obsolete __CELLOS_LV2__ references - use PSL1GHT instead 2020-12-19 15:32:26 +01:00
Oschowa 78bb0de6e9 (Audio/JACK) Deinterleave in the process callback
This allows us to avoid the extra copy to the deinterleave buffer and
lets us use only a single jack ringbuffer.
2020-12-04 00:18:23 +01:00
Oschowa 604eb32c35 (Audio/JACK) Fix non-blocking write
Previously we would wait on the condition variable even in the non-blocking case.
This improves fast-forward performance massively and brings JACK in line
with other backends in that regard.
2020-12-04 00:09:40 +01:00
Oschowa 8058735cdb (Audio/ALSA) Fill hw_params configuration space before trying to detect
float format.
Otherwire detection will always fail.
2020-11-06 23:09:42 +01:00
twinaphex 6c067d149d (Xaudio) Cleanups 2020-10-03 20:35:50 +02:00
twinaphex 783bcb7a61 Avoid printf/puts 2020-09-28 03:17:21 +02:00
twinaphex 8811c555fe (OSS) Buildfix 2020-09-20 23:33:13 +02:00
twinaphex e50d5af2db (OSS) Get rid of static globals 2020-09-20 23:30:19 +02:00
twinaphex f8a71e8ea4 (Rwebaudio) Get rid of static global variables, put it in struct 2020-09-20 23:09:18 +02:00
twinaphex 45c257e0dd (Rwebaudio) Cleanups 2020-09-20 23:05:09 +02:00
Autechre 33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
Justin Weiss f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex 13604b047f (Audio) reorder structs/alignment (don't touch Switch audio drivers
for now)
2020-08-26 15:24:33 +02:00
twinaphex 4c0d9bc68d Struct reordering/alignment 2020-08-14 21:19:32 +02:00
twinaphex c522f97e0f Cleanups 2020-07-31 14:51:46 +02:00
twinaphex c19ea3e8ab Cleanup 2020-07-31 14:49:30 +02:00
twinaphex 1f1571425a (Switch) Cleanups 2020-07-31 14:47:14 +02:00
twinaphex 573f9e60c7 (libnx) Prevent some warnings 2020-07-31 10:54:57 +02:00
twinaphex a01380f847 (WiiU) Buildfixes 2020-07-23 18:01:15 +02:00
twinaphex 4f39c60bc0 (Switch) Silence some more warnings 2020-07-23 05:29:42 +02:00
twinaphex 0a1942f528 Turn fifo_read_avail and fifo_write_avail into macros 2020-07-07 08:13:32 +02:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
twinaphex e030986837 Replace fprintfs with RARCH_LOG/RARCH_ERR 2020-05-24 19:29:55 +02:00
twinaphex bcbad532e6 Rewrite fprintf into RARCH_ERR 2020-05-24 19:22:17 +02:00
twinaphex 4f2566ad50 (JACK) Query audio device from settings struct again 2020-05-21 04:21:00 +02:00
twinaphex 4a9e1e6c7e Revert "Backport"
This reverts commit 685db05032.
2020-05-11 03:49:27 +02:00
twinaphex 685db05032 Backport
66876fe858
- handles insertion/removal of audio devices for Xaudio2 - hopefully a
callback based approach can be done later
2020-05-11 03:29:01 +02:00
Mats A e3cbd2e62f add define to keep compat with previous libnx release 2020-04-11 18:07:59 +02:00
Mats A 6f5f600f47 rename U64_MAX to UINT64_MAX due to libnx changes 2020-04-07 13:23:06 +02:00
twinaphex d3bc82d2c3 Header cleanups 2020-03-05 14:12:20 +01:00
twinaphex 85c672a0f6 Settings pointer cleanups 2020-02-19 20:57:02 +01:00
twinaphex 7eb41e7057 (JACK) Get rid of configuration.h dependency 2020-02-12 17:13:47 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +01:00
Twinaphex eb58b8c0b5
Update opensl.c 2020-02-05 18:53:11 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
twinaphex a034909ae9 Cleanups 2020-01-30 16:35:59 +01:00
Yoshi Sugawara 72a6e71e72 tvOS: fix preprocessor flag; update version in Info.plist 2020-01-18 20:01:41 -10:00
twinaphex c1137ee3fa CoreAudio - Put g_interrupted behind IOS ifdefs 2020-01-14 20:22:06 +01:00
twinaphex 6cfe0ea77c (Audio) Update 2020-01-14 20:20:54 +01:00
hizzlekizzle 9b2752ff07
Merge pull request #9896 from m4tsa/update-libnx
fix breaking changes from the 3.0.0 libnx release
2020-01-14 08:32:47 -06:00
twinaphex a986b71947 Remove separate audio / video null driver files 2020-01-06 15:22:21 +01:00
Mats A ef2ddf6912 fix breaking changes from the 3.0.0 libnx release 2020-01-06 13:12:00 +01:00
twinaphex fa2a748631 (DSound) Create dsound_set_wavefmt 2020-01-05 17:16:55 +01:00
twinaphex bdc866d6d5 (DSound/WASAPI) Cleanups 2020-01-05 17:08:50 +01:00
twinaphex 96395f7d39 (Xenon) Update sound driver 2020-01-04 13:47:50 +01:00
twinaphex 1d6f547e7f (Audio) Cleanups 2020-01-04 10:39:33 +01:00
twinaphex ee7051891b (Audio) Update audio drivers to make them more uniform 2020-01-04 10:32:03 +01:00
twinaphex 22b789cca6 (OpenSL) Move nonblock conditional outside of loop 2020-01-04 09:52:10 +01:00
twinaphex 40a6c978ce (DSound) Optimize codepaths
(CoreAudio) Only iOS uses g_interrupted flag, put it behind ifdefs
2020-01-04 09:46:27 +01:00
twinaphex 688629d108 (WASAPI) Get rid of one unnecessary function 2020-01-04 09:09:04 +01:00
twinaphex 65e8b28d02 (WASAPI) Optimize -
- turn blocking variable into nonblocking in line with other audio drivers
- blocking codepath would do numerous conditional checks on
w->buffer, w->exclusive, w->blocking during a loop iteration - get rid
of this
2020-01-04 08:58:27 +01:00
twinaphex fa00cdba20 (Audio) Update 2020-01-03 21:54:09 +01:00
twinaphex 6e6fbc5ad3 (Dsound) Split up dsound_write
(XAudio) Optimize xa_write_nonblock
2020-01-03 14:19:31 +01:00
twinaphex d567b0ca25 (WASAPI) Split up write function - set up the write callback dynamically
based on whether exclusive and blocking is set to true or not
2020-01-03 13:56:45 +01:00
twinaphex 41e32ea949 (XAudio) If xa->nonblock is true - point write callback to
specialized version of the function
2020-01-02 20:33:21 +01:00
p-sam f04bf0e374 (Switch) no audio driver state change outside of thread 2019-08-15 14:51:01 +00:00
p-sam badda24c12 (Switch) audren based audio drivers (libnx only) 2019-08-02 17:01:36 +00:00
twinaphex de4f3dc6af (PS2 audio) Cleanups 2019-07-31 14:41:50 +02:00
twinaphex 8a4d3f7431 (XAudio 2.8) Audio device selection can now be set 2019-07-26 20:46:11 +02:00
twinaphex 6002c7e790 (Xaudio 2.7) Add missing macros for CXX_BUILD 2019-07-26 17:28:34 +02:00
twinaphex 19bdafc355 (DSound/Wasapi/XAudio2) CXX_BUILD fixes 2019-07-26 17:22:21 +02:00
twinaphex 86728ddbf2 (WASAPI) Cleanup for audio device selection 2019-07-26 17:19:49 +02:00
twinaphex b5d11db53b (XAudio2) Device index selection now works for old
pre-XAudio 2.8 codepath
2019-07-26 17:16:24 +02:00
twinaphex 6b73acee4e (UWP) Buildfix 2019-07-26 04:00:49 +02:00
twinaphex aa023729d0 (XAudio2) Start adding device list new/free 2019-07-26 03:39:46 +02:00