aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2023-11-10Non functional change: fix unified compilation issue -- make callbacks staticPaul Adenot
2023-11-10clang-formatPaul Adenot
2023-11-10Reset logging thread ID when starting a new stream to allow debugging ↵Paul Adenot
comfortably
2023-11-10AAudio: set the callback size to the latency passed in, increase internal ↵Paul Adenot
buffer size to be 3 times the burst size
2023-11-10Add and modify a few logging statementsPaul Adenot
2023-11-10AAudio: when finding that an input device has been disconnected, ↵Paul Adenot
reinitialize the duplex stream
2023-11-10AAudio: remove unused headerPaul Adenot
2023-11-10Reset thread id when a new stream is created, in OpenSL backendPaul Adenot
This is not 100% correct, but prevents crashing on an assert in the very common case of opening multiple streams back to back with logging enabled.
2023-11-10Fix output buffer conversion: handle differing channel count between input ↵Paul Adenot
and output
2023-11-10CI: update actions/checkout to v4aeiouaeiouaeiouaeiouaeiouaeiou
2023-11-08Fix mistake break audio input on OpenSL ESPaul Adenot
2023-11-07In test_duplex loop back all input framesAndreas Pehrson
The break removed here makes sense for input-only, where breaking has no side effects. In a loopback duplex case like here it makes the callback exit early, before having written all frames. This can be caused by clipping on the input side (as observed on MacOS) and creates a distortion that sounds terrible.
2023-10-26AAudio: ensure input buffer is large enough when reading input dataPaul Adenot
2023-10-24Return an error if failing to open a recorder and it's not a sample-rate not ↵Paul Adenot
supported issue
2023-09-26Actually use the return value in initialize_with_format callback call.Paul Adenot
2023-09-15Use uint64_t for the samplerate in opensl_stream_get_position to avoid overflowPaul Adenot
2023-08-25 Generate compile_commands.json while buildingPaul Adenot
2023-08-25Handle input sidePaul Adenot
2023-08-25Refactor conversion and format setting logicPaul Adenot
2023-08-25OpenSLES and related file: clang-formatPaul Adenot
2023-08-25OpenSLES: clang-formatPaul Adenot
2023-08-25OpenSLES: Fix most clang-tidy warningsPaul Adenot
2023-08-25OpenSLES: when floats IO aren't supported, perform a conversionPaul Adenot
2023-08-25OpenSLES: use cubeb logging facilitiesPaul Adenot
2023-08-25OpenSLES: compile as C++Paul Adenot
2023-08-03AAudio: Don't unlock a mutex owned by a lock_guardPaul Adenot
2023-07-31Don't attempt to use an unavailable cubeb_stream in aaudio_stream_init.Paul Adenot
2023-07-26Update googletest to current masterPaul Adenot
This is what is recommended by upstream.
2023-07-26Run clang-formatPaul Adenot
2023-07-26Compile in C++17, like GeckoPaul Adenot
2023-07-26AAudio: Fix log level when stopping a streamPaul Adenot
2023-07-26AAudio: When a device is disconnected, reinitialize the stream with the same ↵Paul Adenot
parameters
2023-07-26AAudio: Split init/destroy/start functions into an internal and external ↵Paul Adenot
interface This will allow calling those functions properly from an internal thread, and simplify lock management. This will happen in a subsequent patch. The initial parameter passed to cubeb_stream_init are now stored on the cubeb_stream struct to be able to reinitialized properly (again in a subsequent patch). Since all those calls need have a lock held, the lock is passed as argument to ensure thread safety. This ensures the caller of the internal functions has taken the lock, and at the same time allows not unlocking/relocking the mutex if a series of call is performed (that will be the case in a subsequent patch, during reinitialization). The boolean that marks that a stream is in use is modified in the external interface, called by the user. A stream is marked as being in use when the user initialize it, and is marked as not being in use when the user destroys it.
2023-07-26AAudio: switch to using cubeb logging facilitiesPaul Adenot
2023-07-26Fix clang-tidy warnings in cubeb_log.cppPaul Adenot
2023-07-26AAudio: fix clang-tidy issuesPaul Adenot
2023-07-26wasapi: Flag cubeb_stream as inactive when stopped, avoid reconfiguring ↵Matthew Gregan
inactive streams from render thread.
2023-07-26wasapi: Take stream_reset_lock earlier in render thread reconfig path.Matthew Gregan
2023-05-17Remove incorrect code to adjust output queue capacityPaul Adenot
2023-05-17Run clang-format-15 on the codebase -- fix a single differencePaul Adenot
2023-05-17Allow specifying a particular clang-format binary (version), and pin the CI ↵Paul Adenot
to version 15
2023-05-17wasapi: make render thread exist for the lifetime of the stream objectMichael M
- Converts cubeb_stream into a reference-counted object, and gets rid of emergency_bailout logic - When reconfiguring, only restart a stream if it was already started - Removes timeout inside the render thread, as we can't guarantee events while a stream is stopped Subsequently rebased by Paul Adenot <[email protected]>
2023-04-26Skip a couple more tests when a backend can't use audio inputPaul Adenot
2023-04-26Only run test_overload.cpp when using the WASAPI backendPaul Adenot
2023-04-26Don't run test_loopback and test_duplex on backends that can't open audio inputPaul Adenot
2023-04-26Don't wait in winmm_stream_destroy when the return value of the data ↵Paul Adenot
callback is an error.
2023-04-26Don't continue calling the data callback in the winmm backend if the user ↵Paul Adenot
has returned a negative value
2023-04-26Prevent running test that make use of audio input streams on backends that ↵Paul Adenot
don't implement it
2023-04-26Install virtual audio devices on Windows runners, enable microphone ↵Paul Adenot
permission globally
2023-04-26clang-format cubeb_winmm.cPaul Adenot