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
Rohit Nirmal
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
Lioncash
cc036ca86c
Common: Remove other Common prefixed headers from Common.h
2015-09-26 18:51:58 -04:00
Lioncash
1d42db2439
Common: Move NonCopyable to its own header
2015-09-26 18:50:35 -04:00
Ryan Houdek
f121d7a8cd
Merge pull request #3026 from lioncash/constexpr
...
MathUtil: Make Clamp and IsPow2 constexpr functions.
2015-09-12 02:28:38 -04:00
Lioncash
b9e360df7b
MathUtil: Convert Clamp into a constexpr function
2015-09-12 01:18:28 -04:00
LAGonauta
b98b55c7be
Added X-Fi check and convert surround FLOAT to SHORT when it is detected
...
Fixed braces, first try fixing mac compilation and removed useless NULL
comparison.
2015-09-11 13:22:04 -03:00
Shawn Hoffman
aa7208e270
[windows] Update projects to vs2015.
2015-09-03 04:23:01 -07:00
Markus Wick
e60018abd4
Merge pull request #2854 from Tilka/valgrind
...
Fix some small stuff found with Valgrind
2015-08-15 20:52:12 +02:00
Markus Wick
3469694b46
Merge pull request #2676 from Stevoisiak/SpellingCorrections
...
Minor spelling corrections
2015-08-15 18:36:56 +02:00
Tillmann Karras
0b73a9ed25
PulseAudio: fix small memleak
2015-08-15 12:51:11 +02:00
Moncef Mechri
333f998123
Don't busy wait in the audio thread (ALSA)
...
When the emulation is paused and the ALSA backend is used, make the audio
thread wait on a condition variable instead of busy-waiting. This commit
fixes bug #7729
Since the ALSA API is not thread-safe, calls to snd_pcm_drop() and snd_pcm_prepare()
in AlsaSound::Clear() are protected by the same mutex as the condition variable in AlsaSound::SoundLoop()
to make sure that we do not call these functions while a call to
snd_pcm_writei() is ongoing.
2015-08-11 03:54:54 +02:00
Moncef Mechri
a0c5247743
Initialize ALSA before starting the audio thread
...
This fixes a race condition:
Before this commit, there was a race condition when starting a game:
Core::EmuThread(), after having started (but not necessarily completed)
the initialization of the audio thread, calls Core::SetState() which calls
CCPU::EnableStepping(), which in turns calls AudioCommon::ClearAudioBuffer().
This means that SoundStream::Clear() can be called before
AlsaSound::AlsaInit() has completed.
2015-08-11 03:54:54 +02:00
Markus Wick
e297e3e666
Merge pull request #2825 from lioncash/log
...
AudioCommon: Log to AUDIO, not DSPHLE
2015-08-10 10:25:51 +02:00
Moncef Mechri
8b767a1189
Use dummy audio backend if the selected backend fails to start
...
If the selected audio backend fails to Start() (which could happen for
example if there is no audio device), we currently still use the backend
anyway. This can lead to crashes on some platforms (such as Windows) and
is outright wrong anyway.
This commit fallbacks to the Null audio backend if the selected backend
couldn't be started.
This fixes bug #6001
2015-08-10 03:46:45 +02:00
Lioncash
4c6930d36c
AudioCommon: Remove unused code from XAudio streams
2015-08-09 21:37:34 -04:00
Lioncash
3f78d74fc1
AudioCommon: Log to AUDIO, not DSPHLE
...
This code is not related to DSPHLE.
2015-08-09 21:36:03 -04:00
Lioncash
7ee0e75633
Remove unnecessary virtual keywords
2015-07-30 10:33:08 -04:00
Stevoisiak
7248f9b524
Minor spelling corrections
2015-06-29 14:51:21 -04:00
Jules Blok
a71e81a143
Merge pull request #2659 from Armada651/openal-conv
...
OpenALStream: Fix sample conversion.
2015-06-27 00:13:02 +02:00
Jules Blok
86dd81cf6b
OpenALStream: Fix sample conversion.
...
Looks like it wasn't symmetric anymore.
2015-06-25 12:42:41 +02:00
Lioncash
9dd607b923
Mixer: Fix erroneous global prefixes on class variables
2015-06-20 21:48:50 -04:00
Lioncash
d81dffd4f0
Mixer: Devirtualize DTK and DSP audio logging functions
...
Their functionality is already complete in the base class; there's no need to allow overriding.
2015-06-20 21:46:20 -04:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
JosJuice
030d467d62
Use PanicAlert instead of PanicAlertT when appropriate
...
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00
degasus
9a96e3c416
AudioCommon: Remove lock on Pause state
...
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
Lioncash
6b30c9710c
SoundStream: Devirtualize StartLogAudio and StopLogAudio
...
These don't rely on anything that might need to be implemented in other SoundStream classes.
2015-05-24 06:10:11 -04:00
Lioncash
07d4dbe657
AudioCommon: Add missing override specifiers
...
Also removes unnecessary virtual keywords.
2015-05-24 06:10:03 -04:00
Lioncash
4695233c98
SoundStream: Devirtualize GetMixer
...
Since it's handled by the base class, there's no need to allow overriding.
2015-05-24 05:49:51 -04:00
Lioncash
35ee8a1362
SoundStream: Internally construct the mixer
...
Instead of creating the mixer externally and then passing it in, it can just be made within the class.
2015-05-24 05:49:41 -04:00
Lioncash
f907e5cace
AlsaSoundStream: Use an enum class for signifying ALSA thread state
2015-05-11 01:56:01 -04:00
Lioncash
353205132c
AlsaSoundStream: Convert volatile variables to atomics
2015-05-11 01:55:59 -04:00
Lioncash
7b376abd3b
Mixer: Convert volatile variables to atomics.
2015-05-11 01:55:50 -04:00
Lioncash
4920dbed13
AudioCommon: Migrate threadData to OpenALStream and AOSoundStream
...
This is only ever used in these two sound streams. Seems silly to have it as a class member. Converted it to an atomic as well.
2015-05-10 01:02:25 -04:00
Stevoisiak
78971b0840
(Visual Studio) Categorize SoundStream.h with other SoundStream files
2015-04-03 14:37:03 -04:00