aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)Author
2023-11-10Consistently use double in the mixerPaul Adenot
This fixes a warning: INT32_MAX cannot be represented as a float.
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-08Fix mistake break audio input on OpenSL ESPaul Adenot
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-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-26Run clang-formatPaul 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-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-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-26clang-format cubeb_winmm.cPaul Adenot
2023-04-26Add some logging messages to winmm to ease debugging and make the logging ↵Paul Adenot
test pass
2023-04-26Handle a negative return value from the user callbackPaul Adenot
2023-04-26Change the WinMM backend so that it doesn't call the user callback during ↵Paul Adenot
initialization
2023-04-19Don't spin when waiting for streams to be stopped.Paul Adenot
2023-04-19When an error happens, wait for the streams to be stopped before dispatching ↵Paul Adenot
the error callback
2023-04-19Add a way to know if the data callback is runningPaul Adenot
2023-04-19Fix formatting warningPaul Adenot
2023-04-19Rename shutdown to shutdown_with_error got better convey the meaningPaul Adenot
2023-03-22opensl: Attempt to avoid a race with active callbacks during shutdown.Matthew Gregan
Based on examining crash dumps and investigating OpenSL workarounds in liboboe, there is a potential race between active buffer callbacks and stream shutdown, resulting in a buffer callback attempting to use a new buffer after stream destroy has freed the backing allocation. Ideally there would be a concrete event to watch for to ensure the last callbacks have completed before destroying the stream, but I'm not aware of one and the existing workaround in liboboe relies on an arbitrary ("long enough") sleep between stopping and destroying streams.
2023-03-21On NetBSD, define _NETBSD_SOURCE for timersub()Ryo ONODERA
2023-02-01format cubeb_sndio.cPaul Adenot