summaryrefslogtreecommitdiff
path: root/pipewire-alsa
AgeCommit message (Collapse)AuthorFilesLines
2020-09-07alsa: avoid loading the plugin when linked against 0.2Wim Taymans1-1/+3
chromium is linked against 0.2, avoid trying to load the alsa plugin that is linked against 0.3 See #275
2020-09-07alsa: protect against SIGPFEWim Taymans1-0/+2
Make sure we don't try to divide by 0 when the app calls the status before we are PREPARED. Fixes #283
2020-09-04alsa: use PIPEWIRE_PROPS for extra stream propertiesWim Taymans1-7/+21
2020-09-04alsa: rework process function to support planar formatsWim Taymans1-142/+77
2020-09-04alsa: implement planar formats some moreWim Taymans1-18/+17
2020-09-04alsa: support planar typesWim Taymans1-11/+29
We can support 2 buffers.
2020-09-03alsa: put mixer entry in alsa conf filesWim Taymans2-0/+16
2020-08-18metadata: improve default sink/sourceWim Taymans1-5/+6
Only check defaults when subject is PW_ID_CORE Handle NULL keys: remove the defaults
2020-08-06Improve namingWim Taymans1-3/+1
master -> driving priority_master -> priority_driver segment_master -> segment_owner
2020-08-04alsa: use PIPEWIRE_REMOTE env variableWim Taymans2-0/+11
2020-07-24alsa: add mixer pluginWim Taymans2-3/+1349
Add plugin to manage the volume of default source and sink
2020-07-23alsa: use server name to connectWim Taymans1-1/+5
2020-07-02alsa: don't leak properties on errorWim Taymans1-2/+5
2020-07-02alsa: don't leak structure on errorWim Taymans1-2/+4
2020-07-01increase amount of datas in a bufferWim Taymans1-1/+1
2020-05-13alsa: compare the scaled value to decide on xrunWim Taymans1-1/+1
2020-05-13alsa: report xrunWim Taymans1-1/+17
When we record but there is not enough space in the ringbuffer, report xrun.
2020-05-02alsa: install conf filesWim Taymans1-0/+5
2020-04-07alsa: implement drain functionWim Taymans1-7/+19
Implement a drain function that blocks and waits for the drain to complete.
2020-04-07alsa: report error from server when we canWim Taymans1-9/+9
2020-04-06alsa: improve drainWim Taymans1-35/+77
2020-03-12pipewire-alsa: Get period_bytes from configJonas Holmberg1-14/+34
Use period_bytes constraint from config if present.
2020-03-12pipewire-alsa: Correct the max channels valueJonas Holmberg1-1/+1
2020-03-11pipewire-alsa: Support hw constraints in configJonas Holmberg1-11/+83
Use rate, format and channels constraints from config if present.
2020-02-07plugins: fix the licence of alsa and jack librariesWim Taymans1-15/+18
It's all MIT
2020-02-07alsa: split up conf filesWim Taymans2-11/+9
2020-02-07Remove old LICENSE files and READMEWim Taymans2-506/+0
2020-01-27spa: add spa_aprintf helperWim Taymans1-1/+4
Add a asprintf helper function that handles errors correctly. Use this in places where we use asprintf to avoid warnings when we don't check the return value.
2020-01-15add some more useful definesWim Taymans1-3/+3
Add define to match all ids for nodes and params. Add define for invalid permissions
2019-12-13loop: pass spa_dict to *_loop_newWim Taymans1-11/+11
Make the thread_loop alloc its own loop by default to simplify some core. Add extra new_full method to pass a custom pw_loop. Make other loop implementations ready to support custom loops if we want that later.
2019-12-11rename core_proxy -> coreWim Taymans1-7/+7
Rename core_proxy to core and move the introspect and interface contents to core.h In an effort to promote the proxy API.
2019-12-10pw_core -> pw_contextWim Taymans1-5/+5
The proxy API is the one that we would like to expose for applications and the other API is used internally when implementing modules or factories. The current pw_core object is really a context for all objects so name it that way. It also makes it possible to rename pw_core_proxy to pw_proxy later.
2019-12-06core_proxy: prepare to rename pw_remote -> pw_core_proxyWim Taymans1-57/+21
The pw_remote object is really a wrapper around the pw_core_proxy. The events it emits are also available in the core proxy and are generally awkward to use. With some clever new pw_core_proxy_* methods and a pw_core_connect to create the core_proxy, we can convert all code away from pw_remote. This is a first step in this conversion, using the pw_remote behind the scenes. It leaks into some places because it really needs to become its own struct in a next step.
2019-12-05alsa: improve debugWim Taymans1-10/+13
2019-12-04alsa: close fd before destroying the loopWim Taymans1-2/+2
2019-11-21stream: Align with pw_filterWim Taymans1-3/+6
Remove some of the unused states in pw_stream. The app can know the state by following the format and buffer events. Make it possible to be notified of io are updates. This should make it possible to follow the transport etc. Make it possible to be notified of any param changes. Rename finish_format to update_params because that is what it does. Make this work in the same was as the filter: updating the params removes all old params of the types and installs the new ones. Don't get the Props and PropInfo from the node proxy, instead get them directly from the adapter that we have locally. Update the controls directly on the adapter instead of going to the server first.
2019-11-19Don't include byteswap.h on FreeBSD.Gleb Popov1-0/+2
2019-11-19system: use spa_system functions for fdsWim Taymans1-6/+4
2019-11-03Merge pipewire-alsa subtreeArun Raghavan5-0/+1523
2019-11-03Drop git submodule structureArun Raghavan1-6/+0
The workflow is getting a little messy with these, so we're just going to merge those repositories in.
2019-10-25fix includesWim Taymans1-7/+5
2019-08-12channelmix: implement per channel volumeWim Taymans1-5/+7
Implement per channel volume on channelmix. Extend control on stream to take an array of values when possible. Remove name argument from pw_node_new and pw_device_new. We can pass this as a property instead. Improve properties on nodes to more closely match what pulseaudio does. Don't let the monitor do too much with the udev properties but let the session manager set the description and icon-names. Remove some change_mask flags for things that don't change in introspect. Use the flags to mark changes in -cli and -monitor.
2019-05-24keys: add keys.h with defines and docsWim Taymans1-5/+5
Add a keys.h file that lists and documents all keys available to be used in properties.
2019-02-06use SPA_EXPORT to export symbolsWim Taymans1-5/+5
2019-01-16pod: improve the vararg pod builder and parserWim Taymans1-5/+5
Automatically parse and build key/value when in objects without having to prefix the key with ":" Automatically build control/value when in sequence without the "." prefix. Remove the builder with key/pod, taking a reference to the stack built temporary pods is not allowed in c++. We can use the varargs version with the same convenient syntax. Remove the parser "*" option, it is unused. Improve spa_pod_builder_add_* and spa_pod_parser_get_* and make them look similar.
2019-01-08core: add user_data to coreWim Taymans1-5/+5
2019-01-07fix sign confusionWim Taymans1-5/+5
2018-11-02update submodulesWim Taymans1-15/+5
2018-10-16add uninstalled targetWim Taymans1-5/+15
Also update submodules
2018-10-10update submodulesWim Taymans1-5/+5