* ossaudio (FreeBSD currently) backend
The ossaudio backend was rewritten from the sunaudio
backend.
* Fix leaking of mixer_fd in oss_enumerate_devices
* Both input/output can be detected at the same DSP
* Update on device detection during enumeration
* Remove spurious calls to SNDCTL_CARDINFO
* Fix string allocation detection in oss_enumerate_devices
* On FreeBSD, try to open and probe the device's capability in oss_enumerate_devices
* Rewrite oss_io_routine() to implement correctly for all stream directions
* Add preferred device detection for FreeBSD
* Emits stable devid from oss_enumerate_devices on FreeBSD
* Fix SNDCTL_DSP_GETI/OSPACE calls in oss_stream_init
* Use /dev/sndstat instead on FreeBSD for oss_enumerate_devices
* Unify both play and record nfr and take the minimum value between them
* Fix allocating both input/output buffers to input/output-only streams
* Fix clipping issue
* Fix misuse of input_device and output_device in oss_stream_init
* Fix builds on Illumos
* Code refactoring on oss_enumerate_devices
* Improve oss_io_routine for the case when the stream is in both direction
* Use fragsize instead of total buffer size for number of frames
* Probe OSS audio availability in cubeb_init when backend is not specified
* Fix scan-build10 report on src/cubeb_oss.c:285
* Add __DragonFly__ pp macro testing along-side __FreeBSD__
* Move oss_init in default_init[] table right below alsa to respect POLA
* Fix use-after-free of s->mutex in oss_stream_destroy
* Fix inconsistent indentation
* Remove blocks_written from cubeb_stream
* Add LL integer suffix to make 0x80000000 more clear
* Add parsing of /dev/sndstat for hw.snd.verbose > 0 in FreeBSD
* Do device setup in the order of channels, format and speed, according to developer/callorder.html of OSS v4.x API reference
* Add proper latency_frame support for oss_stream_init
* Mark close brackets and close braces NUL in oss_sndstat_line_parse
* Search close brackets and close braces from the end of line in oss_sndstat_line_parse
* Use 32 frames for each fragments in oss_calc_frag_params
* Drop unnecessary #include <sys/sysctl.h>
* Add support for cubeb_channel_layout
* Compilation and scan-build fixes:
* Fix warnings in oss_chn_from_cubeb
* Include cubeb_mixer.h to have cubeb_channel_layout_nb_channels
* Fix potential resource leakage in input_stream_layout->layout does not
match input_stream_params->channels. (The same for
output_stream_layout)
* Classify cubeb_stream_params::layout and cubeb_stream_params::channels
mismatch as CUBEB_ERROR_INVALID_PARAMETER
* AUDIODEVICE can now override /dev/dsp
AUDIODEVICE was chosen to match the sndio backend.
* Change environment variable AUDIODEVICE to AUDIO_DEVICE in oss backend
* Change the format of cubeb_device_info's friendly_name
This avoids name collision when setting media.cubeb.output_device in
about:config of Firefox. However, I think it makes more sense on
Firefox's side to use device_id instead.
* Fix warning of a missing %d in LOG() in oss_io_routine
* Do not enable OSS compilation when SOUND_VERSION < 0x040000
* Add mutex to serialize access to cubeb_strings in cubeb_oss's cubeb_context
* Change the calculation of fragsize/nfr to match stream latency, with 2 fragments available. By HPS
* Now reuse the same thread for audiostream
* Redo the duplex logic
* Restructure the use of buffers
* Fix problems dealing with draining
* Revert "Fix problems dealing with draining"
This reverts commit 30301ba101.
* Revert "Restructure the use of buffers"
This reverts commit 9823ca889c.
* Revert "Revert "Restructure the use of buffers""
This reverts commit 10dc869b85.
* Revert "Revert "Fix problems dealing with draining""
This reverts commit 9d19b10944.
* Make sure there are at least s->nfr available before calling data_cb
* Kill a signed/unsigned comparison
* Add The FreeBSD Foundation copyright line for recent commits
* Fix race condition when restarting a stream by HPS
Originally, when stopping a stream and immediately starting the stream
again, the start call might be lost.
* Do not signal the doorbell_cv again when a stream is already stopped
This is redundant.
* Revert "Do not signal the doorbell_cv again when a stream is already stopped"
This reverts commit fbdf753fc7.
* Make state changes look more similar to pulse backend
This also allows drained/short-input stream to be resumed without
stopping it first.
* Remove a spurious s->running = false
- Newer MinGW fails with std::threads as it defaults to Windows threads -
force POSIX threads via cmake/toolchain-cross-mingw.cmake.
- Android fails during CMake generation due to incompatible
cmake/toolchain-cross-android.cmake. Switch to maintained toolchain file
inside Android NDK.
- Android toolchain file in 13b NDK is broken. Upgrade to 19c NDK.
- Upgrade Android API level from 15 to 16 to match Gecko (and minimum
supported by 19c NDK).