| Age | Commit message (Collapse) | Author |
|
This behavior also needs to be visible for MinGW builds as well.
|
|
cubeb_init
cubeb now requires that COM explicitly be initialized on the thread
prior to calling cubeb_init.
|
|
AudioRendererParameter
Provides names for previously unknown entries (aside from the two u8
that appear to be padding bytes, and a single word that also appears
to be reserved or padding).
This will be useful in subsequent changes when unstubbing behavior related
to the audio renderer services.
|
|
Ensures that all member variables are initialized in a deterministic
manner across the board.
|
|
CubebSinkStream inherits from a base class with a virtual destructor, so
override can be appended to CubebSinkStream's destructor.
|
|
The name of the parameter was shadowing the member variable of the same
name. Instead, alter the name of the parameter to prevent said
shadowing.
|
|
The assignments here were performing an implicit truncation from int to
s16. Make it explicit that this is desired behavior.
|
|
This way proper const/non-const selection can occur.
|
|
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
|
|
Places all of the timing-related functionality under the existing Core
namespace to keep things consistent, rather than having the timing
utilities sitting in its own completely separate namespace.
|
|
According to documentation, if the argument of std::exp is zero, one is returned.
However we want the return value to be also zero in this case so no audio is played.
|
|
|
|
UNIMPLEMENTED/UNIMPLEMENTED_MSG
These two macros being used in tandem were used prior to the
introduction of UNIMPLEMENTED and UNIMPLEMENTED_MSG. This provides
equivalent behavior, just with less typing/reading involved.
|
|
audio_core: Make g_sink_details internally linked
|
|
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
|
|
|
|
|
|
|
|
This was created with the unfinished resampling PR in mind.
As the resampling is now on the audio thread, we don't need to care about this here any more.
|
|
|
|
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
|
|
This is only stored to, but never read from.
|
|
|
|
|
|
Softlock explanation:
after effects are initialized in smo, nothing actually changes the state. It expects the state to always be initialized. With the previous testing, updating the states much like how we handle the memory pools continue to have the softlock(which is why I said it probably wasn't effects) after further examination it seems like effects need to be initialized but the state remains unchanged until further notice. For now, assertions are added for the aux buffers to see if they update, unable to check as I haven't gotten smo to actually update them yet.
|
|
|
|
Preserves the meaning/type-safetiness of the stream state instead of
making it an opaque u32. This makes it usable for other things outside
of the service HLE context.
|
|
|
|
This function is called too many times and makes the debug logging basically unusable due to the spam.
|
|
This isn't used within this header and isn't necessary.
|
|
Avoids propagating includes in headers where it's not necessary to do
so.
|
|
Avoids including unnecessary headers within the audio_renderer.h header,
lessening the likelihood of needing to rebuild source files including
this header if they ever change.
Given std::vector allows forward declaring contained types, we can move
VoiceState to the cpp file and hide the implementation entirely.
|
|
audio_core/time_stretch: Silence truncation warnings in Process()
|
|
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
|
|
cubeb_sink: Correct context name in ListCubebSinkDevices()
|
|
|
|
The parameter of the lambda was shadowing the variable that was being
assigned to.
|
|
This ain't Citra.
|
|
The SoundTouch API only accepts uint amount of samples.
|
|
audio_core/sink_details: Change std::string parameter into std::string_view
|
|
audio_core: Add audio stretching support
|
|
|
|
The given string is only ever used for lookup and comparison, so we can
just utilize a non-owning view to string data here
|
|
|
|
|
|
|
|
This reduces clicking in output audio should we underrun.
|
|
|
|
|
|
|