Gliniak
6c6c5ac14b
Merge remote-tracking branch 'GliniakRepo/experimentals' into canary_experimental
2022-05-19 10:51:44 +02:00
Philpax
e901567193
Fix crash from null sample channel
...
Certain games, such as Forza Motorsport 3, submit XMA data with the
stereo flag set with a null second channel. This falls back to mono
conversion when the second channel is null, preventing a crash.
2022-05-19 10:22:41 +02:00
Gliniak
de03165995
Merge remote-tracking branch 'GliniakRepo/audioSkipHeaderInputOffset' into canary_pr
2022-05-19 10:16:41 +02:00
Joel Linn
986dcf4f65
[Base] Check success of sync primitive creation
...
- Mainly use `assert`s, since failure is very rare
- Forward failure of `CreateSemaphore` to guests because it is more easy
to trigger with invalid initial parameters.
2022-03-08 12:17:57 -06:00
Gliniak
07a1e77218
Allow users to change max amount of queued frames
2022-01-31 20:12:39 +01:00
Gliniak
c483da91a4
Stop unnecessary spam of 0x601 opcode usage
2022-01-31 20:11:53 +01:00
Gliniak
8e35a3d649
Invalidate input buffers if decoding fails
...
Should output be invalidated too?
2022-01-31 20:11:44 +01:00
Gliniak
c80ea14d9d
Check if input_buffer exist
...
In some really specific cases there is a chance that
one of the buffers is valid, but its pointer is null
2022-01-31 20:10:14 +01:00
Pseudo-Kernel
372bdd3ec9
[APU] XMA: Fix audio loop handling.
...
Handles audio loop if loop_start < loop_end.
Need to handle additional cases like loop_start > loop_end.
2022-01-29 02:49:00 -06:00
Triang3l
0846cc026d
[APU] Manage XAudio 2.8 lifecycle in MTA thread + error handling cleanup
2021-12-12 17:05:01 +03:00
Gliniak
f40607041b
[APU] Skip audio header when there is no valid input
...
Thanks Cancerous1/Randprint for initial reseach in this topic
2021-10-18 08:50:51 +02:00
Triang3l
e720e0a540
[Code] Remove game names from code comments (most of at least)
2021-09-05 21:27:40 +03:00
Triang3l
6ce5330f5f
[UI] Loop thread to main thread WindowedAppContext
2021-08-28 19:38:24 +03:00
gibbed
8daef93207
[APU] XMA register table cleanup, documentation.
...
- [APU] Clean up XMA register table.
- [APU] Document observed register ranges in the XMA register table.
2021-06-28 20:32:52 -05:00
Joel Linn
f15e3d07e7
[APU] Use vectorized converter in xaudio2 backend
2021-06-12 18:57:39 +03:00
Joel Linn
0ad939b2f1
[APU] Add AVX intrinsic variants for conversion
2021-06-12 18:57:39 +03:00
Joel Linn
cd631fc447
[APU, SDL] Refactor sample submission
...
- Move sample conversion to SDL callback thread
- Add early channel down-conversion
2021-06-12 18:57:39 +03:00
Gliniak
313fb3e5a3
[XMA] GetFrameNumber: Return correct frame_idx at stream end
2021-06-05 08:54:22 -05:00
Triang3l
ca7036707b
[APU] XMA: Instruction name comment typo correction
2021-06-05 16:43:49 +03:00
Triang3l
add65318c2
[APU] XMA: ConvertFrame always returns true
2021-06-05 16:27:40 +03:00
Triang3l
60b24b2d3a
[APU] XMA: Vectorize 2-channel ConvertFrame
2021-06-05 16:10:41 +03:00
Triang3l
3c20a83972
[Base] Float clamping cleanup
2021-06-05 14:55:55 +03:00
Joel Linn
89a7c8f41f
[APU] Add vectorized audio frame conversion
2021-06-05 14:08:16 +03:00
Joel Linn
a86d7173e1
Refactor FourCC magic uses
...
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
Gliniak
57ce647bb3
[APU/XMA] Prevent crash with invalid packet number
2021-05-07 16:59:17 -05:00
illusion0001
b5fc1efad5
XMA: Set log level for unhandled register to warning
2021-05-01 12:47:36 -05:00
Joel Linn
b6e5719173
[APU] Fix compilation on Linux
2021-05-01 12:41:02 -05:00
Joel Linn
534e263b05
[APU] XMA: Cross-buffer split frames.
2021-05-01 12:41:02 -05:00
Joel Linn
6547fa1748
[APU] Rewrite XMA packet parser
...
Use new FFmpeg frame decoder
2021-05-01 12:41:02 -05:00
Joel Linn
3675c8eac8
[APU] Disable warnings in FFmpeg.
2021-05-01 12:41:02 -05:00
Joel Linn
d4cf474665
Replace references to libav.
2021-05-01 12:41:02 -05:00
Gliniak
d1f7ee3593
[Audio/XMA] Invalidate output buffer when there is no valid input buffer
2020-11-15 11:31:11 -06:00
Sandy Carter
382dd8860f
[threading] Change thread names to suit pthread
...
Shorten names to 16.
Rename Win32 to Windowing.
Shorten GraphicsSystem thread names due to 16 length limit of pthread.
Without this change, both show up as GraphicsSystem.
Remove redundant "Worker" and "Thread" from names.
Remove redundant thread handle from thread name.
2020-11-15 11:12:05 -06:00
Joel Linn
6267c73c4c
[SDL] Add global helper to setup the library.
...
Call to SDLHelper::Prepare() is needed before first SDL_InitSubSystem().
- Sets hints (SDL configuration vars).
- Configures logging.
2020-04-23 15:44:58 -05:00
gibbed
134067d25e
[XMA] Add default case in av_log_callback.
2020-04-13 12:57:14 -05:00
gibbed
ce955e5aaa
[XMA] Reorganize ReadRegister/WriteRegister a bit in XmaDecoder.
2020-04-13 12:57:14 -05:00
Joel Linn
05a62673f7
[SDL2] Redirect log messages into our system.
2020-04-08 21:55:56 -05:00
Joel Linn
11d79c6c1c
[SDL2] Remove delayed loading code.
2020-04-08 21:55:56 -05:00
Joel Linn
804384c19c
[SDL2] On Win, build and link statically.
...
Keep using system lib dynamically on Unix.
2020-04-08 21:55:56 -05:00
gibbed
c51cba080b
Fix some bad string formats.
2020-04-08 13:05:37 -05:00
gibbed
a48bb71c2f
Overhaul logging.
2020-04-07 16:09:41 -05:00
gibbed
5bf0b34445
C++17ification.
...
C++17ification!
- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Joel Linn
160f218210
[APU/Linux] Implement cross platform audio using SDL2 library.
2020-02-10 14:01:47 -06:00
Triang3l
1bb3cd45ca
[APU] Support XAudio 2.7
2019-11-02 22:27:38 +03:00
Triang3l
7e6bf8022f
[Memory] Refactor GetPhysicalAddress and use it for XMA, resolve #1448
2019-08-24 17:42:06 +03:00
Triang3l
b25c50164f
[APU] Physical address in XE_XMA_REG_CONTEXT_ARRAY_ADDRESS
2019-08-16 21:20:10 +03:00
Triang3l
e35c609224
Revert "[APU] Temp XMA context allocation region workaround"
...
This reverts commit 968c337d22 .
2019-08-16 21:11:55 +03:00
Triang3l
968c337d22
[APU] Temp XMA context allocation region workaround
2019-08-16 09:47:28 +03:00
gibbed
53b564c1a6
[APU] Only set the work event/wait on the worker thread when they actually exist.
2019-08-04 00:49:32 -05:00
gibbed
38a6d110e7
[APU] Only wait on the worker thread if it actually exists.
2019-08-04 00:27:49 -05:00