Age | Commit message (Collapse) | Author |
|
It's useful to be able to enable logging dynamically while the program
is running, and this can now be done on any thread.
Various threads are logging (directly or asynchronously via the ring
buffer), it's better to have those atomic.
Both values are always checked before logging, and both must be non-null
to log.
|
|
|
|
|
|
* don't install cmake test binaries
* fix variable names in Doxyfile.in
* install doc files
|
|
|
|
argument.
|
|
|
|
The purpose of this header is to be swapped by cubeb users to use any
number of frame profiler (tracy/Gecko Profiler/trace_event.h, etc.).
|
|
Not the prettiest but it does the job. Thanks to @ashleyz we don't really care about checking the log level here, it's checked ahead of time, which is nice because we don't want to carry it in the async log payload.
|
|
Added `ALOG` macro and updated `ALOGV` for use with asynchronous logging. Both macros should now verify log level.
|
|
|
|
Clarify `cubeb_async_log_reset_threads` declaration.
|
|
|
|
rearrange the cross-thread load to be the second load; being a little late may cause it to be lucky! (this probably doesn't matter)
|
|
|
|
correct typo
|
|
Follow up to https://github.com/mozilla/cubeb/pull/695. Before that PR,
we would fail setup when GetDevicePeriod failed. This restores that
behaviour.
|
|
|
|
Potentially significantly shrinks the list of devices to search when
matching BT output device with specified BT input device. On my local
machine, this shrinks the list from 25 to 7, and reduces the initial
enumerate time from ~67ms to ~32ms (and a subsequent call from ~14ms to
~12ms).
|
|
Devices in this state are not visible in the Sound Control Panel or
other typical places in the OS audio UI, so there's little point in
including them in cubeb's device list.
On my test machine, this reduces the number of devices enumerated from
118 to 25 - reducing the cost of an initial cubeb_enumerate_devices from
~215ms to ~67ms (and a subsequent call from ~22ms to ~14ms).
|
|
- Rather than "leak" an atomic bool to the stuck render thread, we
instead "leak" the entire stream and leave the render thread to clean
up.
- render thread now checks `handle_emergency_bailout()`, which frees the
stream and exits the render thread in bailout condititions.
- Removed `thread_ready_event`, since it's no longer needed.
|
|
Fix wiki link.
|
|
state_callback.
|
|
|
|
* Don't change `output_device_id` once it's set
* Fallback to use default device only when not specifying a device
We should only fallback to use default device if the user doesn't
ask to use a particular device.
* Follow default device changes only when using default device explicitly
We should get the default device change notifications only when users
ask to follow the default devices.
* Don't reinit stream when user-selected device is unplugged
If the user specifies a device explicitly, don't switch device for
the stream when the selected device is gone. We should fire an error
callback instead.
* Rename `picked_output_device_id` to `selected_output_device_id`
* Rename fallbackable to allow_fallback
* Correct the comments
* Fix double free problem
unique_ptr can not be initialized from another unique_ptr's raw pointer,
otherwise we will free the pointee twice!
* Add an util to copy wide-char string
* Prefer move
This might be overkilled, but it expresses the intention clearly
|
|
We should not always reset the device when the current device is unplugged.
The device reset or not should follow the
CUBEB_STREAM_PREF_DISABLE_DEVICE_SWITCHING pref.
|
|
|
|
|
|
Instead of changing `stm->output_device_id` in the `wasapi_find_bt_handsfree_output_device`,
setting it in `setup_wasapi_stream` makes all `stm->output_device_id` updates in the same place
|
|
|
|
|
|
The value returned from `GetDevicePeriod` is the same as `latency_hi` from `wasapi_create_device`
|
|
`wasapi_create_device` is called in `setup_wasapi_stream_one_side` to customize input settings. We should call it only when setting up input side.
|
|
The duplex stream's `input_bluetooth_handsfree` shouldn't be reset during setting output side
|
|
|
|
`default_period` is used to calculate the input latency. We can avoid calling for output.
|
|
It's a lot easier to develop/debug device-related features/issues if we
can select input or/and output device for the audio stream in cubeb-test
|
|
The repo is moved from kinetiknz/cubeb.git to mozilla/cubeb.git
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Possible fix for test_loopback assertion failure.
|
|
called.
|
|
Some systems offer OSS v4 but do not have BSD-only functions like
strlcpy, used in cubeb_oss.c. An example is Debian GNU/kFreeBSD, that
uses a FreeBSD kernel with GNU userspace utilities, like glibc.
With this patch cubeb will be able to build on these systems thanks to
the help of libbsd, that privides most libc functions that you would
expect on BSD.
|
|
Also when the latency is specified to be very big.
This might be a bug in some upper layer, although I see
other cubeb audio drivers doing the same.
This "fixes" audio sync with youtube videos.
|
|
|