summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/AudioCommon.cpp
AgeCommit message (Collapse)Author
2021-03-24AudioCommon: Initialize before HWBonta-kun
2020-10-21AudioCommon: Migrate logging over to fmtLioncash
printf specifiers, begone!
2020-09-06AudioCommon: Get initial sample rates from AudioInterfaceJosJuice
2019-10-22Allow user to change DPLII decoding qualityLAGonauta
2019-10-10AudioCommon: Don't forget to call Init() on fallbackStenzek
2019-09-14AudioCommon: if backend is unknown, use default backendMichael M
2019-09-14Remove XAudio2Michael M
Audio on Windows is provided by the cubeb (shared mode) and WASAPI (exclusive mode) backends, both of which exhibit lower latency.
2019-05-31AudioCommon: Move static locals into the AudioCommon namespaceLioncash
Given these are locals, they can be moved out of the global namespace. While we're at it, turn the constants below it into constexpr variables.
2019-05-31AudioCommon: Use emplace_back instead of push_back in GetSoundBackends()Lioncash
Constructs the strings directly within the container instead of performing a construction, then a copy. The reasoning is that the BACKEND_* strings are const char arrays, so the push_back code is equivalent to: push_back(std::string(BACKEND_WHATEVER)) instead of forwarding the arguments to a constructed instance directly in the container.
2019-05-31AudioCommon: Use std::string_view with feature querying functionsLioncash
Provides the same behavior, but allows passed in strings to be non-allocating in calling code.
2019-05-11Set Cubeb as default on WindowsMiksel12
Cubeb and Xaudio2 are identical in features while Cubeb has lower latency and is still actively being worked on.
2019-03-18Allow XAudio2 to be selected as a surround backend.LAGonauta
2018-05-26AudioCommon: Implement WASAPIspycrab
2017-11-19AudioCommon: make SetSoundStreamRunning idempotentMichael M
2017-11-19SoundStream: change Start/Stop to Init/SetRunning/destructMichael M
2017-10-21SoundStream: rename Clear(mute) to SetRunning(running)Michael M
2017-10-21AudioCommon: rename ClearAudioBuffer(mute) to SetSoundStreamRunning(running)Michael M
2017-06-29Remove CoreAudio audio backendMichael Maltese
Cubeb handles everything the CoreAudio backend can, plus supports DPL2.
2017-06-26Rename CMixer to MixerMichael Maltese
2017-05-27AudioCommon: add Cubeb backendMichael Maltese
2017-04-20AudioCommon: set volume _after_ starting streamMichael Maltese
Fixes an error with the CoreAudio backend, which apparently doesn't allow you to set the volume before starting the stream: ``` 59:31:087 AudioCommon/CoreAudioSoundStream.cpp:97 E[Audio]: error setting volume ``` This shouldn't cause any problems with other backends, since the mixer starts with silence anyways.
2017-03-31Remove libao sound backendMichael Maltese
A single person uses it[0], and it sometimes messes up the Linux buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing and no known rule to make it"). [0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-02-08Fix default audio backend on Android being "No audio output"JosJuice
People who already have encountered the problem will need to manually change the audio backend (or delete the config INI).
2017-02-05AudioCommon: Move logic for default sound backend there from ConfigManagerFlorent Castelli
This way, we don't have to leak the HAVE_ALSA define there.
2017-02-05AudioCommon: Remove checks against NullSound::isValid()Florent Castelli
The NullAudio backend is guaranteed to be compiled in, so no reason to check it. In addition to that, if it wasn't valid, it wouldn't work as a fallback in InitSoundStream as there are uses to g_sound_stream later.
2016-12-11AudioCommon: Remove unnecessary headersLioncash
Now AudioCommon code won't need to be recompiled if the TAS movie header is ever modified.
2016-10-09AudioCommon: SupportsDPL2Decoder, SupportsLatencyControl, SupportsVolumeChangesMichael Maltese
2016-07-31AudioCommon: const correctnessLioncash
2016-07-31AudioCommon: Make the SoundStream global a unique_ptrLioncash
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-09-28Fix building with PCH disabled.Rohit Nirmal
2015-09-26Common: Remove other Common prefixed headers from Common.hLioncash
2015-08-10Merge pull request #2825 from lioncash/logMarkus Wick
AudioCommon: Log to AUDIO, not DSPHLE
2015-08-10Use dummy audio backend if the selected backend fails to startMoncef Mechri
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-09AudioCommon: Log to AUDIO, not DSPHLELioncash
This code is not related to DSPHLE.
2015-05-28AudioCommon: Remove lock on Pause statedegasus
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-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-24SoundStream: Internally construct the mixerLioncash
Instead of creating the mixer externally and then passing it in, it can just be made within the class.
2014-12-28Issue 7968: Added keybinds for increasing, decreasing, and muting audio.FL.dolphinemu
2014-10-15Start/Stop Audio Dump During EmulationFog
2014-10-09Proper Audio/Video DumpingFog
2014-09-30AudioCommon: Prefix soundStream global with g_Lioncash
2014-08-30AudioCommon: Get rid of now unused handle param for InitSoundStream()Lioncash
2014-08-23Remove dsound audio backend.Shawn Hoffman
There isn't any reason to use dsound over xaudio.
2014-07-25Remove audio frame limit.Rachel Bryk
It serves no purpose and causes bugs and confusion for users.
2014-06-14Rewrite handling of DTK (streaming) audio.magumagu
The primary motivation here is to make sure we submit samples from the CPU thread. This makes sure the timing of related interrupts accurate, and generally keeps the different kinds of audio synchronized. This will also allow improvements to audio dumping functionality. The new code is also more concise because it gets rid of some duplicated audio mixing code.
2014-03-30Merge pull request #220 from magumagu/audio-handling-cleanup-v2Pierre Bourdon
Audio handling cleanup v2
2014-03-29Move audio handling out of DSP emulation.magumagu
This is good for a couple of reasons: one, it gets rid of duplicated code, and two, DSP emulation shouldn't need to interact with audio in the first place.
2014-03-29Delete AudioCommon::UseJIT().magumagu