Commit Graph

92 Commits

Author SHA1 Message Date
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
gibbed
c51cba080b Fix some bad string formats. 2020-04-08 13:05:37 -05:00
gibbed
38a6d110e7 [APU] Only wait on the worker thread if it actually exists. 2019-08-04 00:27:49 -05:00
Dr. Chat
f81a99e83a XMA: Use a threadsafe bitmap to acquire/release contexts
Support Pausing/Resuming
2016-07-28 21:11:12 -05:00
Dr. Chat
ee0a41aa2c Fix AudioSystem Restore and cleanup some code 2015-12-29 13:09:43 -08:00
Dr. Chat
b94ab4acbc AudioSystem Save/Restore 2015-12-29 13:09:42 -08:00
Dr. Chat
4eff2d8420 AudioSystem - switch to a free flag for free clients rather than a queue. 2015-12-29 13:09:41 -08:00
Ben Vanik
5834a42ef3 Dependency injection for apu/gpu/hid. 2015-11-08 15:02:24 -08:00
Ben Vanik
4af6c41740 Moving profiling.h to base - UI could be separated for cleanliness. 2015-11-07 12:31:07 -08:00
Ben Vanik
3fc1d02a09 Suspend some host threads that make guest callbacks. 2015-09-21 21:24:26 -07:00
Ben Vanik
3c96b6fa0a DANGER DANGER. Switching to global critical region.
This changes almost all locks held by guest threads to use a single global
critical region. This emulates the behavior on the PPC of disabling
interrupts (by calls like KeRaiseIrqlToDpcLevel or masking interrupts),
and prevents deadlocks from occuring when threads are suspended or
otherwise blocked.
This has performance implications and a pass is needed to ensure the
locking is as granular as possible. It could also break everything
because it's fundamentally unsound. We'll see.
2015-09-06 09:30:54 -07:00
Ben Vanik
19299fad4b Removing apu/ deps on Emulator. 2015-08-18 10:54:56 -07:00
Ben Vanik
ad090a40eb Fixing misuse of std::chrono. 2015-08-18 10:18:30 -07:00
Ben Vanik
fefaa31cd8 Switching a few types to their platform-agnostic versions. 2015-07-15 22:09:19 -07:00
Ben Vanik
a6012b73f4 Switching audio system to platform-agnostic primitives. 2015-07-14 23:13:56 -07:00
Ben Vanik
d89bad7380 Removing uses of Sleep/SwitchToThread/etc. 2015-07-13 21:54:24 -07:00
Ben Vanik
8c69a4df09 Cleaning up apu/ and renaming -private files to _flags.
Part of #296.
2015-06-27 11:25:56 -07:00
Ben Vanik
fb1f4906d9 xb format --all (we are now format clean). Buildbot will yell at you. 2015-06-22 22:26:51 -07:00
gibbed
021b5a3d17 Moved the XMA decoder out of AudioSystem and into its own world (plus minor code cleanup in the process). 2015-06-21 02:25:24 -05:00
gibbed
7e582c14fb Removed some unused code. 2015-06-21 00:23:29 -05:00
Dr. Chat
0bbaedae22 Fix release-mode audio 2015-06-20 19:50:24 -05:00
gibbed
641a4a5e47 Rejiggered ProcessXmaContext. Sound working again in Super Meat Boy. 2015-06-19 22:39:41 -05:00
gibbed
edbd724370 - Fixed a few bugs with ringbuffer, and some cleanup.
- Reworked audio system to use semaphores instead of events for waiting.
  Should fix rare issues where the XAudio2 driver would run out of buffers
  even though it was supposed to be guarded against that.
2015-06-19 21:48:51 -05:00
gibbed
f3547a832f Removed XMAContextData::kSize constant, moved kXmaContextCount, changes to use newer ringbuffer, cleaned up XMAInitializeContext a bit (with fixes for loop_data handling). 2015-06-19 09:54:21 -05:00
Ben Vanik
573f190a43 Adding modules/functions to the debugger. 2015-06-08 23:22:25 -07:00
Ben Vanik
ba88955be4 vsnprintf return is dumb. 2015-06-07 16:13:05 -07:00
Dr. Chat
23ae1b6297 Hookup libav logging 2015-06-04 02:10:56 -05:00
Dr. Chat
826609cd60 Cleanup some audio system code. 2015-06-03 11:14:10 -05:00
Dr. Chat
e20aa16b59 Cleanup audio system code 2015-06-02 10:12:13 -05:00
Dr. Chat
77e245dc51 Fix audio decoding. 2015-06-02 00:45:00 -05:00
Dr. Chat
93763c166f input_buffer_*_block_count -> input_buffer_*_packet_count 2015-06-02 00:44:59 -05:00
Dr. Chat
fedf7357a5 Remove variable bits per sample - it's always 16. 2015-05-30 21:01:55 -05:00
Ben Vanik
0a83b49744 Speeding up inner loop. 2015-05-29 17:05:43 -07:00
Dr. Chat
8c1b36d102 Don't need this. 2015-05-28 22:34:59 -05:00
Dr. Chat
fb787d4737 XMA context.kicked flag 2015-05-28 22:09:04 -05:00
Dr. Chat
73daf9cedc Select input buffer 1 if needed, and hookup sequence offset. 2015-05-28 21:58:39 -05:00
gibbed
d1dbee2052 Consistency in memset calls. 2015-05-28 05:28:59 -05:00
Ben Vanik
e419d314b3 Audio now works a bit better, but is still broken :/ 2015-05-28 02:15:30 -07:00
Ben Vanik
a93325434a Minor audio tweeks + profiling. 2015-05-28 00:19:17 -07:00
Ben Vanik
e3ddcd44e7 Minor fixes and fixing thread names. 2015-05-25 21:10:28 -07:00
Ben Vanik
273b9939e1 Fixing some misc thread/audio stuff. 2015-05-25 00:58:43 -07:00
Ben Vanik
f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik
fff1a7c132 Switching std::thread to XThread and hosting in object_refs. 2015-05-25 00:51:26 -07:00
gibbed
8a5d3526e5 Pump audio faster, up to XAUDIO2_MAX_QUEUED_BUFFERS (64) frames, then wait. 2015-05-25 02:49:49 -05:00
Dr. Chat
65df257ede Fix audio decoder - mono sounds are working now! 2015-05-24 22:26:46 -05:00
Dr. Chat
3389b9e421 AudioDecoder destructor 2015-05-23 00:07:34 -05:00
Dr. Chat
a69d1b7f04 Discard the current packet when XMA context is released
Some more cleanup
2015-05-23 00:07:33 -05:00
Dr. Chat
f31b34256b WIP Audio decoder
Remove some old comments
2015-05-23 00:07:20 -05:00
Ben Vanik
9e685a1453 Merge pull request #216 from DrChat/audio
Cleanup some audio code
2015-05-19 22:24:00 -07:00
Ben Vanik
f88bf33b4f Moving threads to XHostThread and making shutdown not crash. 2015-05-19 22:20:49 -07:00