aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/cubeb_jack.cpp
AgeCommit message (Collapse)Author
2024-01-15Add an API for muting the input side of a streamAndreas Pehrson
2024-01-15Add APIs for input processingAndreas Pehrson
2024-01-08Checking buffer, buffer_in, buffer_out pointers for non NULL valuesNikolay Borodin
2023-01-09Enable strdup(3) for NetBSDRyo ONODERA
2022-09-06Remove comments after #endif to fix clang-format errors.ivan-matveev
2022-09-06Add #ifndef around dlclose() to allow build with "LAZY_LOAD_LIBS=OFF" cmake ↵ivan-matveev
argument.
2022-03-09jack: Fix formatting.Matthew Gregan
2022-03-09jack: Build fix for resampler API change.Matthew Gregan
2022-03-08Add a parameter to cubeb_resampler_create to enable reclockingPaul Adenot
2021-11-10Tidy up `WRAP` definition for dlopen.Matthew Gregan
2021-11-04jack: possibility to disable lazy load of libAndrea Pappacoda
2021-07-28Run .clang-formatChun-Min Chang
Format all the code under `include` and `src` except those files under `src/speex` with style setting in `.clang-format` file by the following script: ```sh FILE_LIST="$(find "include" "src" -not -path "src/speex/*" | grep -E ".*(\.cpp|\.c|\.h|\.hpp|\.hh)$")" echo "Files found to format:\n---\n$FILE_LIST\n---" clang-format --verbose -i $FILE_LIST ```
2021-02-17Remove cubeb_stream_reset_default_device API.Matthew Gregan
2021-01-22Fixed option to not automatically connect ports on jack.Nicola Orlando
2020-10-19Add an option to not automatically connect ports on jack. (#613)Richard Dodd (dodj)
2020-10-07Add stream_set_name = null to cubeb_ops structsBrendan Early
2020-09-28jack: Add functions to connect a cb+phys port pairZoë Sparks
Ameliorates code duplication in cbjack_connect_ports().
2020-09-28jack: Special case playing mono source in stereoZoë Sparks
2020-09-14Fix integer underflow/unsigned wrapping.Angelo Haller
The number of xrun fragments to skip is added once to ctx->jack_xruns but then subtracted multiple times (once for each stream) from the same variable. This causes the unsigned int to "underflow" and wrap around. - Use unsigned int in all calculations instead of mixing un/signed. - Remove erroneous and useless subtraction logic - Replace for loop by simple multiplication - Remove unneeded casts to float
2020-04-29Add a method to get audio input latency on a stream (#583)Paul Adenot
2019-10-22jack: Don't reject default {input,output}_device in cbjack_stream_init.Matthew Gregan
Since the JACK backend fakes the enumerate_devices API by returning two "default" devices, we should also accept those "default" devices in cbjack_stream_init if they're passed in via {input,output}_device.
2019-09-16Consistently try loading versioned library firstJan Beich
On Linux dependending on distribution `.so` symlink maybe missing. On OpenBSD `.so.X` symlink is missing unlike `.so` while `.so.X.Y` often changes downstream.
2019-08-22Remove panning API from cubebPaul Adenot
This is best done by the host application, and had very little implementation anyways.
2018-03-19Multi-channels support for windows/mac/linux (#426)Jean-Yves Avenard
* Add QUAD and QUAD_LFE layouts. * Remove dual mono layout. It makes no sense to have a case for those as the data structure used (a bitmask) do not allow to represent this channel layout (a channel can only be present once). As such it was a non-functional layout * Fix up cubeb_pulse compilation using C++ keyword. * Remove the concept of preferred layout. Channel layout is derived by the content being played. The concept of preferred layout is meaningless. Either we have a layout defined, or we don't. There's no in-between. So we remove it. * Remove CHANNEL_MONO concept. * Add cubeb_sample_size convenience method. * Rework cubeb_mixer. This completely replace the existing remixer which had serious limitations: 1- Had no memory bound checks 2- Could only downmix 5.1 and 7.1 to stereo. This mixer allows to convert from any sane layout to any other and work directly on interleaved samples. This cubeb_mixer doesn't have an API compatible with the previous one. This commit is non-fonctional, and was split for ease of review. * Fix remixing on mac, windows and pulse backend. * Make cubeb_mixer creation infallible. Rather than ignore nonsensical layouts, we attempt to play it according to the stream channels count instead. The audio data will be played as-is, dropping the extra channels or inserting silence where needed. * User proper sample size when calculating offsets. Should the user data be of a different type to what the AudioUnit output is set to, we would have written outside the end of our allocated buffer. * Fix input mixing and clarify frames vs samples terminology * If a layout is unknown or invalid, always treat it as plain stereo or mono.
2018-02-13Provide access to cubeb_stream's user ptr. (#407)Dan Glastonbury
Provide access to cubeb_stream's user ptr. cubeb_stream in every backend has a copy of the user data ptr passed in during `stream_init` but there is no way to access the value. (Besides from `data_callback`/`state_callback`). Add `cubeb_stream_user_ptr()` to retrieve the stored value.
2018-01-23Non-wasapi backends return errors if loopback is requested.Bryce Van Dyk
Loopback is not supported outside of WASAPI, so if it's requested an error is returned. This error is set to indicate loopback is not supported in most cases. Though in some cases a generic error is returned to avoid complicating existing code. The current API means requesting a loopback for an output stream doesn't make sense. However, to keep handling simplified both input and output params are handled in the same or similar fashion by this commit. Both kinds of request should fail, but no extra indication is given that requesting output loopback is aberrant (since it will fail anyway).
2018-01-05jack: expect null pointer from jack_get_ports (Bug 1422664)Alex Chronopoulos
2017-08-29jack: Implement stable device ids.Dan Glastonbury
2017-07-31Fix build on FreeBSD (#344)endrift
2017-07-07Add an API to reset audio stream to the default deviceChun-Min Chang
2017-05-25Rework device collection (#309)Dan Glastonbury
Rust compatiblity change to cubeb_device_collection. Replace the C dynamic allocation with magic header into a structure that hold pointer + count of entries. This is the same memory layout that rust uses for fat pointers for &[T], Box<[T]>, etc.
2017-05-22Push destroy fns to backend (#302)Dan Glastonbury
* Make cubeb_device_info_destroy private. * Move implementation of cubeb_device_collection_destroy to cubeb_utils. * Move cubeb_device_collection_destroy implementation into backend. Push the responsiblity for destroying device collections to the backends so they can make independent choices on how to handle allocation. * Unstage space changes
2016-12-20Support multiple channels on Windows (#171)Chun-Min Chang
* Multiple channel support on Windows * Move up/down mixing code from cubeb_wasapi.cpp to standalone cubeb_mixer.cpp
2016-11-30Delete double newlines.Matthew Gregan
2016-11-17jack: Remove unused includes (IWYU).Matthew Gregan
2016-11-09Avoid using cubeb_devid internally.Matthew Gregan
cubeb_devid is intended to be an opaque type for API users. Internally, a cubeb_devid should be converted to the original type at the earliest possible point.
2016-09-05jack: Disable useless console error spew.Matthew Gregan
2016-08-23jack: Fix various compiler warnings.Matthew Gregan
2016-07-12Update jack backend.Paul Adenot
2016-06-05Add duplex JACK backendDamien Zammit
Signed-off-by: Damien Zammit <[email protected]>
2016-01-22Device notification for PulseAudioAlex Chronopoulos
2016-01-21cubeb_stream_init should take a cubeb_devid rather than a char const *.Matthew Gregan
2016-01-21jack: Fix build after API changes for full-duplex streams.Matthew Gregan
2015-09-29Add both devid and device_id (str) in device_info.Haakon Sporsheim
The caller now doesn't need to use the id_to_str() intricacies and we don't have to bother with adding a symetric free() for the retrieved value.
2015-09-10Add enumerate_devices APIHaakon Sporsheim
No backends support this yet.
2014-11-28clarify and clean up handling of optional functions in the API. fixes #46.Matthew Gregan
2014-11-28alsa,jack: fix build warning with glibc 2.20.Matthew Gregan
2014-10-14jack backend: return CUBEB_ERROR_INVALID_PARAMETER when appropriateSebastien Alaiwan
2014-10-14extract method 'context_allocate_stream'Sebastien Alaiwan
2014-10-14jack backend: handle cubeb_stream_set_volume correctly. Add corresponding ↵Sebastien Alaiwan
test to test_audio.