Commit Graph

192 Commits

Author SHA1 Message Date
Dr. Chat 6c83b35003 Partial frame support. 2015-08-29 21:42:06 -05:00
Dr. Chat d8ed66c336 More improvements to the XMA decoder (and included some forgotten files) 2015-08-29 21:18:04 -05:00
Dr. Chat 0f9cd8cfb3 New WIP audio decoder 2015-08-29 21:16:57 -05:00
Dr. Chat f2b2a22687 Add gflags to projects that need it only 2015-08-29 21:16:57 -05:00
Ben Vanik b7203c2989 Logging to with a ringbuffer. Much faster. 2015-08-29 18:06:30 -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 5e08889d93 More style cleanup. 2015-08-06 20:17:01 -07:00
Ben Vanik ec326119cf Replacing beaengine in mmio handler with custom decoder.
Fixes #358.
2015-08-04 08:25:42 -07:00
Dr. Chat 766788be7b XMAContext abort instantly if libav failed mid-packet. 2015-07-27 18:24:04 -05:00
Ben Vanik e0eb85bbbc Switching to premake. Probably with disasterous consequences. 2015-07-18 16:00:01 -07:00
Ben Vanik 756d414386 Prep for split libraries. 2015-07-16 22:26:34 -07:00
Ben Vanik ecd4af10c9 Fixing some clang warnings/errors. 2015-07-15 23:26:58 -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 72ad899e9e Starting to remove windows.h includes from things. 2015-07-13 20:49:29 -07:00
Dr. Chat da5868945e We aren't supposed to do this. 2015-07-10 23:26:01 -05:00
Dr. Chat f6eb23d86f Don't select buffer 1 if it's NULL/unavailable 2015-07-10 23:15:15 -05:00
Ben Vanik dec0d12cc9 Replacing includes of windows headers with base/platform.h. 2015-07-01 09:02:04 -07:00
Ben Vanik d7a5c74bf3 Formatting: force pointers to the left side. 2015-06-30 16:16:33 -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 75ef95b1b8 More XMA decoder cleanup. 2015-06-22 19:31:02 -05:00
gibbed 2c319db116 More shuffling of XMA decoder code. 2015-06-21 06:31:24 -05:00
gibbed 06a3bfc3be More XmaDecoder cleanup. 2015-06-21 03:24:42 -05: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 736dba5aca Fixed bit size of input_buffer_read_offset in XMAContextData. 2015-06-21 00:24:02 -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
Drew DeVault a064ba053e Add missing includes for cstring 2015-06-16 23:16:18 -06:00
Ben Vanik 8dc20eb5cd Scaling audio playback frequency with clock time scaling. 2015-06-09 20:14:33 -07: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
Ben Vanik 40a6a12800 Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly. 2015-06-02 20:15:43 -07:00
Dr. Chat 50d8017ac5 Whoops - fix overflowing on output audio samples 2015-06-02 13:17:15 -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 c780d5528d Remove unused bits_per_frame_ field. 2015-06-02 00:44:59 -05:00
Dr. Chat 93763c166f input_buffer_*_block_count -> input_buffer_*_packet_count 2015-06-02 00:44:59 -05:00
Dr. Chat 128bf76205 Fixed up multi-channel audio, works better now. 2015-05-30 22:47:41 -05:00
Dr. Chat dfd689e22b Whoops, we should be converting samples from more than one channel! 2015-05-30 21:27: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 40f98f195f Whoops - PCM samples are signed, not unsigned 2015-05-29 18:52:43 -05:00
Dr. Chat 8c1b36d102 Don't need this. 2015-05-28 22:34:59 -05:00
Dr. Chat d303f4a5ce Fix raw sample clamping 2015-05-28 22:31:55 -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
Dr. Chat 4675a1e17a Audio decoder now takes a "sequence" offset to feed to the WMAPro decoder. 2015-05-28 21:57:57 -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
gibbed a2ed902980 Removed a debug line in XAudio2 audio driver. 2015-05-25 14:29:13 -05: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 4f8d8e62b3 Use av_frame_free / Log when couldn't reopen context. 2015-05-23 00:09:58 -05:00
Dr. Chat 866a5af427 Initialize pointers to nullptr 2015-05-23 00:07:35 -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 a6175dba48 Remove more accidentally committed files; rename .cpp to .cc 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
Dr. Chat 38918c86a8 Cleanup some audio system code 2015-05-19 21:52:21 -05:00
Dr. Chat b1920f4a87 Move audio system onto XHostThread 2015-05-18 22:25:02 -05:00
Ben Vanik b44a7a7730 Allocating stacks in the right place. 2015-05-17 13:10:02 -07:00
Ben Vanik 147a70b9c1 Rewriting memory manager. 2015-05-17 00:16:56 +01:00
Ben Vanik 986534d448 Adding --mute. 2015-05-15 23:34:00 -07:00
Dr. Chat 420d4e43b6 Increase audio worker thread and cpu interrupt thread stack size 2015-05-15 18:12:44 -05:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik 78921c1a7e Merging Runtime into Processor. 2015-05-03 22:28:25 -07:00
Ben Vanik d1ee1512b9 Fixing most clang-format errors. 2015-05-03 10:27:50 -07:00
Ben Vanik e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik 99816056be Code cleanup: removing poly.h 2015-05-02 02:29:26 -07:00
Ben Vanik 30f7effa73 Code cleanup: removing common.h 2015-05-02 01:25:59 -07:00
Ben Vanik 6d8a226d7f Code cleanup. 2015-03-29 11:27:33 -07:00
Ben Vanik 45b2d2ceea Fixing xaudio2 memory type. 2015-03-29 11:26:16 -07:00
Ben Vanik ec84a688e9 Starting to properly attribute virtual vs. physical memory accesses. 2015-03-29 11:11:35 -07:00
Ben Vanik 3a197705bb Special memory functions for system allocs. 2015-03-28 15:54:44 -07:00
Ben Vanik 9281d62106 Moving cpu/runtime/ to cpu/. 2015-03-24 08:25:58 -07:00
Ben Vanik 17bc561045 Implement XMA* methods.
Fixes #156.
2015-02-16 22:22:42 -08:00
Ben Vanik 50b0746a26 XMA hardware spoofing when using direct register access.
This works for recent games that don't use the XMA* methods.
Upcoming CLs will add the XMA* method shims forthcoming.
2015-02-16 17:18:28 -08:00
Ben Vanik 00e4a4fe1b Fix #include format. 2015-01-31 22:49:47 -08:00
Ben Vanik 76c41edfd6 Thread names. 2015-01-03 03:42:27 -08:00
Ben Vanik a0eebf8898 Removing old run loop/ref/core/etc. 2014-12-31 19:26:51 -08:00
Ben Vanik a4141e84ce Sigh. 2014-11-08 11:38:07 -08:00
Ben Vanik 08b0226a16 Finishing unique_ptr'ing and fixing file memory management (for now). 2014-08-21 07:54:19 -07:00
Ben Vanik c59d053404 unique_ptr'ing things and removing some XECLEANUP. 2014-08-20 23:26:46 -07:00
Ben Vanik 244e8a8745 Removing the last of XEDECLARECLASS. 2014-08-20 22:50:10 -07:00
Ben Vanik 48a0e5c601 Shrinking alloy memory interface so that alloy-sandbox doesn't need xe. 2014-08-19 21:02:15 -07:00