David Marcec
1b4319c85c
EffectOutStatus padding is now in hex
2018-10-09 11:20:54 +11:00
David Marcec
5f33966902
Fixups for softlock
2018-10-07 14:25:39 +11:00
David Marcec
a097860593
Fixed missing return
...
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.
2018-10-07 14:19:55 +11:00
David Marcec
f572064010
Fixed smo softlock
2018-10-07 14:14:09 +11:00
Lioncash
9254ec6fde
stream: Preserve enum class type in GetState()
...
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.
2018-09-23 20:03:38 -04:00
David Marcec
5d1edf66c1
Added audren:u#GetAudioRendererState
2018-09-23 22:32:01 +10:00
Subv
747e579d97
Logging: Change the TimeStretch::Process log from debug to trace level.
...
This function is called too many times and makes the debug logging basically unusable due to the spam.
2018-09-20 22:33:54 -05:00
Lioncash
e27a1af5f7
time_stretch: Remove unused <array> include
...
This isn't used within this header and isn't necessary.
2018-09-17 15:08:34 -04:00
Lioncash
184f8e72b0
stream: Replace includes with forward declarations where applicable
...
Avoids propagating includes in headers where it's not necessary to do
so.
2018-09-17 15:08:34 -04:00
Lioncash
01a14e4bdf
audio_renderer: Replace includes with forward declarations where applicable
...
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.
2018-09-17 15:08:30 -04:00
bunnei
d6c188f19d
Merge pull request #1314 from lioncash/cast
...
audio_core/time_stretch: Silence truncation warnings in Process()
2018-09-17 12:28:19 -04:00
bunnei
5647c5bb75
Merge pull request #1321 from lioncash/audio-shadow
...
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
2018-09-17 12:26:29 -04:00
bunnei
9b4cc24f0f
Merge pull request #1320 from lioncash/name
...
cubeb_sink: Correct context name in ListCubebSinkDevices()
2018-09-17 10:10:33 -04:00
fearlessTobi
1190ea6ddb
Port #4182 from Citra: "Prefix all size_t with std::"
2018-09-15 15:21:06 +02:00
Lioncash
7c7c12f664
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
...
The parameter of the lambda was shadowing the variable that was being
assigned to.
2018-09-14 12:20:51 -04:00
Lioncash
514f8f036c
cubeb_sink: Correct context name in ListCubebSinkDevices()
...
This ain't Citra.
2018-09-14 12:18:09 -04:00
Lioncash
a51b67f163
audio_core/time_stretch: Silence truncation warnings in Process()
...
The SoundTouch API only accepts uint amount of samples.
2018-09-13 19:50:01 -04:00
bunnei
e228fcd133
Merge pull request #1298 from lioncash/view
...
audio_core/sink_details: Change std::string parameter into std::string_view
2018-09-12 18:24:57 -04:00
bunnei
f5b02a99e7
Merge pull request #1163 from FearlessTobi/add-audio-stretching
...
audio_core: Add audio stretching support
2018-09-12 18:23:54 -04:00
MerryMage
9ffbfeee26
audio_core: Flush stream when not playing anything
2018-09-12 18:09:14 +01:00
Lioncash
93e3030d0c
audio_core/sink_details: Change std::string parameter into std::string_view
...
The given string is only ever used for lookup and comparison, so we can
just utilize a non-owning view to string data here
2018-09-11 21:36:12 -04:00
MerryMage
84b7a67ef1
cubeb_sink: Downsample arbitrary number of channels
2018-09-09 09:51:46 +01:00
MerryMage
d7d7fec6c7
cubeb_sink: Perform audio stretching
2018-09-08 18:56:38 +01:00
MerryMage
4e439efbf6
audio_core: Add audio stretcher
2018-09-08 18:56:38 +01:00
MerryMage
722441ef0b
cubeb_sink: Hold last available value instead of writing zeros
...
This reduces clicking in output audio should we underrun.
2018-09-08 18:56:38 +01:00
MerryMage
d99dceeb7a
cubeb_sink: Use RingBuffer
2018-09-08 18:56:38 +01:00
fearlessTobi
7377afca3a
Add audio stretching support
2018-09-08 18:26:23 +01:00
MerryMage
ed0dc20280
audio_renderer: Rename AudioOut instance to audio_out
2018-09-08 16:50:12 +01:00
Markus Wick
71250d28d6
Update microprofile scopes.
...
Blame the subsystems which deserve the blame :)
The updated list is not complete, just the ones I've spotted on random sampling the stack trace.
2018-09-04 11:04:26 +02:00
Lioncash
a6c2e1e95c
audio_core/filter: Add explicit cast to assignment in Process()
...
Previously this would cause warnings about implicit conversions to s16
from a double
2018-08-21 12:32:37 -04:00
bunnei
4f12aba993
Merge pull request #1033 from MerryMage/interp
...
audio_core: Interpolate
2018-08-13 12:19:59 -04:00
MerryMage
26aa4ae7a8
audio_renderer: samples_remaining counts frames, not samples
2018-08-13 11:26:50 +01:00
MerryMage
0525998743
audio_core: Interpolate
2018-08-13 11:26:50 +01:00
MerryMage
fea4df74c2
audio_core: Implement low-pass filter
2018-08-13 11:26:50 +01:00
MerryMage
c9923e03bb
cubeb_sink: Protect queue with a mutex
2018-08-12 20:41:46 +01:00
David Marcec
7d49bcdb1b
Pushed the requested sample rate instead of our fixed sample rate
2018-08-12 14:58:36 +10:00
David Marcec
f3ef58207e
Added GetAudioRendererSampleRate, GetAudioRendererSampleCount & GetAudioRendererMixBufferCount
...
GetAudioRendererSampleRate is set as a "STUB" as a game could check if the sample rate it sent and the sample rate it wants don't match. Just a thought of something which could happen so keeping it as stub for the mean time
2018-08-12 14:46:12 +10:00
KAMiKAZOW
fef6c33e77
Make building cubeb optional
2018-08-07 13:21:56 +02:00
bunnei
5904aa20ce
audio_core: Implement audren_u audio playback.
2018-08-04 21:54:30 -04:00
bunnei
600e4bbeac
audio_core: Use s16 where possible for audio samples.
2018-08-04 18:22:58 -04:00
bunnei
7688b83a1c
audio_core: Port codec code from Citra for ADPCM decoding.
2018-08-04 18:22:58 -04:00
bunnei
950de5fd73
cubeb_sink: Support variable sample_rate and num_channels.
2018-08-04 15:30:10 -04:00
bunnei
97647e60f2
audio_core: Sinks need unique names as well.
2018-08-04 14:34:12 -04:00
bunnei
7186882bfe
audio_core: Streams need unique names for CoreTiming.
2018-08-04 14:34:12 -04:00
bunnei
1028560b4c
Merge pull request #895 from lioncash/sink
...
sink_details: std::move std::function instances
2018-08-03 11:00:56 -04:00
Lioncash
07a3c8a2a5
audio_out: Use Buffer::Tag alias in GetTagsAndReleaseBuffers()'s prototype
...
This makes the Buffer::Tag usage consistent with the Stream class's
prototype of GetTagsAndReleaseBuffers().
2018-08-02 05:18:32 -04:00
Lioncash
881380bc97
sink_details: Deduplicate long std::function repetition
...
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-01 23:56:02 -04:00
Lioncash
5061e89fd1
sink_details: std::move std::function instances
...
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-01 23:50:48 -04:00
bunnei
14d9b2d6d3
audio_core: Add configuration settings.
2018-07-31 22:38:42 -04:00
bunnei
0ba0cdbed9
audio_core: Implement Sink and SinkStream interfaces with cubeb.
2018-07-30 21:45:24 -04:00