summaryrefslogtreecommitdiffstats
path: root/src/audio_core/cubeb_sink.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* audio_core/cubeb_sink: Convert _MSC_VER ifdefs to _WIN32Lioncash2019-03-101-3/+3
| | | | This behavior also needs to be visible for MinGW builds as well.
* audio_core/cubeb_sink: Ensure COM is initialized on Windows prior to calling cubeb_initLioncash2019-02-271-0/+15
| | | | | cubeb now requires that COM explicitly be initialized on the thread prior to calling cubeb_init.
* audio_core/cubeb_sink: Initialize CubebSinkStream's last_frame data memberLioncash2019-02-251-1/+1
| | | | | Ensures that all member variables are initialized in a deterministic manner across the board.
* audio_core/cubeb_sink: Add override specifier to destructorLioncash2019-02-251-1/+1
| | | | | CubebSinkStream inherits from a base class with a virtual destructor, so override can be appended to CubebSinkStream's destructor.
* audio_core/cubeb_sink: Resolve variable shadowing warnings in SamplesInQueueLioncash2019-02-251-2/+2
| | | | | | 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.
* 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