summaryrefslogtreecommitdiffstats
path: root/src/audio_core/cubeb_sink.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* audio_core: Make g_sink_details internally linkedLioncash2018-12-131-1/+1
| | | | | | | | | | | | | | | | 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.
* cubeb_sink: ignore null-name device when selectingWeiyi Wang2018-10-271-1/+2
| | | | 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
* Merge pull request #1321 from lioncash/audio-shadowbunnei2018-09-171-4/+4
|\ | | | | cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
| * cubeb_sink: Get rid of variable shadowing within CubebSink's constructorLioncash2018-09-141-4/+4
| | | | | | | | | | The parameter of the lambda was shadowing the variable that was being assigned to.
* | Merge pull request #1320 from lioncash/namebunnei2018-09-171-1/+1
|\ \ | | | | | | cubeb_sink: Correct context name in ListCubebSinkDevices()
| * | cubeb_sink: Correct context name in ListCubebSinkDevices()Lioncash2018-09-141-1/+1
| |/ | | | | | | This ain't Citra.
* / Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-10/+11
|/
* audio_core: Flush stream when not playing anythingMerryMage2018-09-121-0/+11
|
* cubeb_sink: Downsample arbitrary number of channelsMerryMage2018-09-091-10/+9
|
* cubeb_sink: Perform audio stretchingMerryMage2018-09-081-17/+20
|
* cubeb_sink: Hold last available value instead of writing zerosMerryMage2018-09-081-5/+15
| | | | This reduces clicking in output audio should we underrun.
* cubeb_sink: Use RingBufferMerryMage2018-09-081-40/+26
|
* Add audio stretching supportfearlessTobi2018-09-081-0/+7
|
* cubeb_sink: Protect queue with a mutexMerryMage2018-08-121-0/+6
|
* audio_core: Use s16 where possible for audio samples.bunnei2018-08-051-6/+5
|
* cubeb_sink: Support variable sample_rate and num_channels.bunnei2018-08-041-15/+25
|
* audio_core: Sinks need unique names as well.bunnei2018-08-041-5/+6
|
* audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei2018-07-311-0/+190