Commit Graph
462 Commits
Author SHA1 Message Date
Chris Burgener 76abf1f727 Remove AddStereoSample function 2016-07-01 00:59:25 -04:00
Chris Burgener ca2eaac704 Split Audio Dumps on Sample Rate Changes 2016-06-24 21:12:15 -04:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
EmptyChaos c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
Mathew Maidment 08c9e3b7a4 Merge pull request #3602 from OatmealDome/coreaudio
CoreAudioSound: Minor clean up
2016-02-07 22:25:15 -05:00
OatmealDome 36a20c3535 CoreAudioSound: Replace deprecated parameters
The kAudioUnitParameterFlag_* parameters don't exist on iOS.
2016-02-06 16:48:03 -05:00
OatmealDome 2e24996a9c CoreAudioSound: Only include AudioUnit 2016-02-06 16:47:49 -05:00
Ryan Houdek 2f7e3ae58e CMakeLists cleanup and enable Android headless building. 2016-02-05 11:24:11 -06:00
Lioncash c70487163f Mixer: Convert defines into concrete variables
Gets defines out of global scope.
2016-01-15 23:41:53 -05:00
Lioncash fc6a2f490f Mixer: Directly initialize class members 2016-01-14 01:32:31 -05:00
Lioncash 531a3ed09a Mixer: Devirtualize
Nothing in the codebase inherits from this class
2016-01-14 01:32:24 -05:00
degasus 3ff4ec275a Throttler: Rename "framelimiter" to "emulation speed".
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek 1db01a8c56 [OpenSLES] Fix a delay in audio processing.
A failure on my part. I was updating the two buffers in the wrong order, so we were always a buffer behind in sending audio out to OpenSLES.
2016-01-03 11:33:38 -06:00
skidau cfa925fbbe Updated SoundTouch library to 1.9.2 2015-12-28 23:08:55 +11:00
Markus Wick 164e045123 Merge pull request #3317 from lioncash/null
NullSound: Minor changes
2015-12-15 17:38:37 +01:00
Ryan Houdek cb5be45f72 Merge pull request #3200 from degasus/master
Throttler + Mixer: Configureable variance
2015-12-11 07:04:56 -05:00
Lioncash 0917db7fc0 NullSound: Use std::array for the buffer 2015-12-05 18:13:55 -05:00
Lioncash 0d4baa0744 NullSound: Replace header define with private constant 2015-12-05 18:13:49 -05:00
Lioncash e0eef7bef4 WaveFile: Get rid of an explicit delete 2015-12-02 20:05:18 -05:00
degasus 888c377b57 Throttler + Mixer: Configureable variance 2015-11-03 08:22:36 +01:00
shuffle2 9878004871 Merge pull request #3105 from phire/dont_block
ALSA: Don't block on Clear() call.
2015-10-03 17:55:26 -07:00
Lioncash 5464e698fc Merge pull request #3102 from rohit-n/build-pch
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
Scott Mansell a10a3ecbac ALSA: Don't block on Clear() call.
snd_pcm_writei() is meant to block block until all samples are written,
but apparently in some situations it can block for much longer, prehaps
even a infinite time, in the case of virtual machine FifoCI runs in.

Because it grabed a mutex before blocking, it could also block the
Clear() call for an infinite length of time, blocking dolphin's emu
thread.

snd_pcm_writei() also takes 10-15 seconds if you run dolphin under GDB
and can randomly take 5 or so seconds during normal usage.

By moving all the pause code to the ALSA thread, Clear() no-longer
blocks and everyone keeps their sanity.
2015-10-03 16:31:55 +13:00
Rohit Nirmal 6001366aac Alsa: Silence -Wsign-compare warning. 2015-10-02 21:10:06 -05:00
booto 6c28ea58ab AlsaSound: fix buffer type, clean up macros 2015-09-30 19:14:03 +08:00