// Package pipewire provides a partial implementation of the PipeWire protocol native. // // This implementation is created based on black box analysis and very limited static // analysis. The PipeWire documentation is vague and mostly nonexistent, and source code // readability is not great due to frequent macro abuse, confusing and inconsistent naming // schemes, almost complete absence of comments and the multiple layers of abstractions // even internal to the library. The convoluted build system and frequent (mis)use of // dlopen(3) further complicates static analysis efforts. // // Because of this, extreme care must be taken when reusing any code found in this package. // While it is extensively tested to be correct for its role within Hakurei, remember that // work is only done against PipeWire behaviour specific to this use case, and it is nearly // impossible to guarantee that this interpretation of its behaviour is intended, or correct // for any other uses of the protocol. package pipewire /* pipewire/device.h */ const ( PW_TYPE_INTERFACE_Device = PW_TYPE_INFO_INTERFACE_BASE + "Device" PW_DEVICE_PERM_MASK = PW_PERM_RWXM PW_VERSION_DEVICE = 3 ) const ( PW_DEVICE_CHANGE_MASK_PROPS = 1 << iota PW_DEVICE_CHANGE_MASK_PARAMS PW_DEVICE_CHANGE_MASK_ALL = 1<