Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-07-26 | Update googletest to current masteraaudio-reinit | Paul Adenot | |
This is what is recommended by upstream. | |||
2023-07-26 | Run clang-format | Paul Adenot | |
2023-07-26 | Compile in C++17, like Gecko | Paul Adenot | |
2023-07-26 | AAudio: Fix log level when stopping a stream | Paul Adenot | |
2023-07-26 | AAudio: When a device is disconnected, reinitialize the stream with the same ↵ | Paul Adenot | |
parameters | |||
2023-07-26 | AAudio: 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-26 | AAudio: switch to using cubeb logging facilities | Paul Adenot | |
2023-07-26 | Fix clang-tidy warnings in cubeb_log.cpp | Paul Adenot | |
2023-07-26 | AAudio: fix clang-tidy issues | Paul Adenot | |
2023-05-17 | Remove incorrect code to adjust output queue capacity | Paul Adenot | |
2023-05-17 | Run clang-format-15 on the codebase -- fix a single difference | Paul Adenot | |
2023-05-17 | Allow specifying a particular clang-format binary (version), and pin the CI ↵ | Paul Adenot | |
to version 15 | |||
2023-05-17 | wasapi: make render thread exist for the lifetime of the stream object | Michael 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-26 | Skip a couple more tests when a backend can't use audio input | Paul Adenot | |
2023-04-26 | Only run test_overload.cpp when using the WASAPI backend | Paul Adenot | |
2023-04-26 | Don't run test_loopback and test_duplex on backends that can't open audio input | Paul Adenot | |
2023-04-26 | Don't wait in winmm_stream_destroy when the return value of the data ↵ | Paul Adenot | |
callback is an error. | |||
2023-04-26 | Don't continue calling the data callback in the winmm backend if the user ↵ | Paul Adenot | |
has returned a negative value | |||
2023-04-26 | Prevent running test that make use of audio input streams on backends that ↵ | Paul Adenot | |
don't implement it | |||
2023-04-26 | Install virtual audio devices on Windows runners, enable microphone ↵ | Paul Adenot | |
permission globally | |||
2023-04-26 | clang-format cubeb_winmm.c | Paul Adenot | |
2023-04-26 | Attempt enabling test on gh action windows, also run the winmm backend | Paul Adenot | |
2023-04-26 | Add some logging messages to winmm to ease debugging and make the logging ↵ | Paul Adenot | |
test pass | |||
2023-04-26 | Handle a negative return value from the user callback | Paul Adenot | |
2023-04-26 | Change the WinMM backend so that it doesn't call the user callback during ↵ | Paul Adenot | |
initialization | |||
2023-04-23 | Re-enable the test job on macOS CI | aeiouaeiouaeiouaeiouaeiouaeiou | |
2023-04-20 | Sync back BMO#1825328 | Paul Adenot | |
https://bugzilla.mozilla.org/show_bug.cgi?id=1825328 landed in Firefox without going through upstream. It's necessary to build in an environment where gtests are all compiled in the same executable. Original patch by serge-sans-paille <[email protected]>. | |||
2023-04-19 | Don't spin when waiting for streams to be stopped. | Paul Adenot | |
2023-04-19 | When an error happens, wait for the streams to be stopped before dispatching ↵ | Paul Adenot | |
the error callback | |||
2023-04-19 | Add a way to know if the data callback is running | Paul Adenot | |
2023-04-19 | Fix formatting warning | Paul Adenot | |
2023-04-19 | Rename shutdown to shutdown_with_error got better convey the meaning | Paul Adenot | |
2023-03-22 | opensl: 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-21 | On NetBSD, define _NETBSD_SOURCE for timersub() | Ryo ONODERA | |
2023-02-01 | format cubeb_sndio.c | Paul Adenot | |
2023-02-01 | sndio: switch audio to 24-bit precision | Alexandre Ratchov | |
2023-01-27 | cmake: Make undefined symbols weak on Android | Macdu | |
2023-01-23 | cmake: quote CXX_FLAGS substitution for MSVC | Liam | |
2023-01-09 | Prefer the AAudio backend over the OpenSL ES backend | Paul Adenot | |
The last issues have been fixed, and it's now better (and also uses an API that isn't deprecated). | |||
2023-01-09 | Enable strdup(3) for NetBSD | Ryo ONODERA | |
2023-01-05 | wasapi: Drop context lock before deleting context. | Matthew Gregan | |
2022-12-14 | Fix warnings | Paul Adenot | |
2022-12-14 | Generalize latency reporting to make it work in input-only and duplex modes | Paul Adenot | |
2022-12-14 | Rewrite aaudio_stream_get_position with the accurate timing info provided by ↵ | Paul Adenot | |
AAudio A/V sync is now perfect regardless of the output device (bluetooth, wired, speaker), and client side interpolation provides high accuracy regardless of the buffer-size that the users decides on. | |||
2022-12-14 | Compute and publish timing info, including position and latency, from the ↵ | Paul Adenot | |
real-time audio callback (output-only) This is essentially the same technique we're using on macOS in cubeb-coreaudio-rs, ported for AAudio, and extended to input. | |||
2022-12-14 | Store the sample-rate on the stream struct | Paul Adenot | |
2022-12-14 | Allow directly logging from cubeb_aaudio.cpp to logcat | Paul Adenot | |
2022-12-14 | Add a triple_buffer class that allows publishing data in a wait-free manner ↵ | Paul Adenot | |
from a real-time thread to another thread. It's largely inspired from the crate cubeb-coreaudio-rs uses, but ported to C++. | |||
2022-12-13 | Don't include timeapi.h because it doesn't exist in MinGW, include ↵ | Paul Adenot | |
mmsystem.h that declares timeGetTime instead. | |||
2022-12-13 | Fix warnings in cubeb_wasapi.cpp. | Paul Adenot | |
This fixes #733. |