Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								f99eefeb4f 
								
							 
						 
						
							
							
								
								bluez5: a2dp-source: release transport if it went idle  
							
							 
							
							... 
							
							
							
							Release the transport if it went idle, ensuring that the fd is closed,
and add safeguards we won't double-acquire/release it.
This can occur if the device pauses the playback. The transport may also
activate again later on, and in this case we need to reacquire a new fd.
Not closing the old fd causes problems in this case.
However, apparently the BlueZ Release() call fails if the transport is
idle. We just ignore the error and downgrade the error message; it might
not be safe to not call Release() because the idle property update is
async. 
							
						 
						
							2021-02-07 18:32:44 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								d3d31c4317 
								
							 
						 
						
							
							
								
								bluez5: don't force a2dp-source as driver  
							
							 
							
							... 
							
							
							
							Don't force a2dp-source to be driver, because it won't advance clock if
the device is not sending data, and possibly blocks other streams. 
							
						 
						
							2021-02-07 18:32:44 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								d68bad4673 
								
							 
						 
						
							
							
								
								bluez5: fix a2dp-source clock rate + stuttering  
							
							 
							
							... 
							
							
							
							Make a2dp clock advance at the correct rate.
Revert back to accumulating to a single buffer before sending it out.
What it did previously seemed hard to get to work properly with e.g.
aptx which produces block of varying sizes on decoding. 
							
						 
						
							2021-02-07 18:32:44 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								febe8054e4 
								
							 
						 
						
							
							
								
								json: revert strippinf code, this needs more work  
							
							 
							
							
							
						 
						
							2021-02-06 21:08:29 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								78e2e2c27b 
								
							 
						 
						
							
							
								
								json: handle comments when stripping  
							
							 
							
							... 
							
							
							
							Or else everything becomes part of the first comment. 
							
						 
						
							2021-02-06 20:45:48 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								0be2959f11 
								
							 
						 
						
							
							
								
								json: strip spaces and special chars when copying objects  
							
							 
							
							... 
							
							
							
							When turning an object into a string, strip out all special chars
and duplicate spaces. 
							
						 
						
							2021-02-06 20:20:26 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								f1e56b2317 
								
							 
						 
						
							
							
								
								bluez5: provide media.name for a2dp source streams  
							
							 
							
							... 
							
							
							
							A2DP source acts as Stream/Output/Audio, so provide media.name for it
indicating the device it comes from (e.g. shown in pulseaudio apps). 
							
						 
						
							2021-02-06 20:24:04 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								e0557e0ca8 
								
							 
						 
						
							
							
								
								bluez5: disable codec switching when in A2DP sink role  
							
							 
							
							... 
							
							
							
							Devices that expect pipewire to function as a sink don't seem to like it
switching codecs. Disable codec switching when device is a source. 
							
						 
						
							2021-02-06 18:12:19 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								6c02fd663a 
								
							 
						 
						
							
							
								
								merger: handle monitor mute as well  
							
							 
							
							
							
						 
						
							2021-02-05 17:41:56 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								11900bbd67 
								
							 
						 
						
							
							
								
								audioconvert: add missing file  
							
							 
							
							
							
						 
						
							2021-02-05 17:29:43 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								1511f19f70 
								
							 
						 
						
							
							
								
								audioconvert: handle monitor volumes  
							
							 
							
							... 
							
							
							
							Implement monitor volumes in the merger. There are two volumes,
the channel volume and the monitor volume. The monitor volume
is always applied.
By default the monitor volume will now follow the main volume of
the node. This can be disabled with a monitor.channel-volumes
property.
See #674  
							
						 
						
							2021-02-05 17:12:51 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								cf6d7b5dee 
								
							 
						 
						
							
							
								
								spa: add properties for monitor volume/mute  
							
							 
							
							
							
						 
						
							2021-02-05 17:11:58 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								6249b00b9a 
								
							 
						 
						
							
							
								
								audioconvert: add volume ops  
							
							 
							
							... 
							
							
							
							Add volume helpers and use this for the monitor output ports so
that we can add volumes to the monitor output signal as well. 
							
						 
						
							2021-02-05 15:08:26 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								972e740519 
								
							 
						 
						
							
							
								
								Don't advertize formats we don't yet support  
							
							 
							
							... 
							
							
							
							We don't handle the reverse endian formats yet so make sure we
don't advertize them. 
							
						 
						
							2021-02-05 12:12:44 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								da5f17f653 
								
							 
						 
						
							
							
								
								bluez5: enable A2DP delay reporting  
							
							 
							
							... 
							
							
							
							Inform BlueZ we'd like delay reporting from remote devices. 
							
						 
						
							2021-02-05 05:00:06 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								3659d70aef 
								
							 
						 
						
							
							
								
								acp: complain louder when profile files are missing  
							
							 
							
							
							
						 
						
							2021-02-04 10:31:55 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								4cf0826b4f 
								
							 
						 
						
							
							
								
								bluez5: connect to SBC endpoints in order of preference  
							
							 
							
							... 
							
							
							
							High sampling frequencies should be preferred.  SBC-XQ should also
prefer dual channel. 
							
						 
						
							2021-02-04 00:05:34 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								fdbcaeb20f 
								
							 
						 
						
							
							
								
								bluez5: fix bug in endpoint sort function  
							
							 
							
							
							
						 
						
							2021-02-03 23:00:33 +02:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Raghavendra 
								
							 
						 
						
							
							
							
							
								
							
							
								ec1861c5d9 
								
							 
						 
						
							
							
								
								libcamera: fix the build and capture issues with latest libcamera version.  
							
							 
							
							
							
						 
						
							2021-02-03 16:57:09 +05:30  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								0346b477ad 
								
							 
						 
						
							
							
								
								bluez5: make routes compatible with default-route  
							
							 
							
							... 
							
							
							
							default-route wants to have SPA_PARAM_ROUTE_devices and
card.profile.devices before it will restore routes. Add these
also for bluez5-devices.
Fixes restoring volumes on Bluetooth profile change. 
							
						 
						
							2021-02-03 10:49:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Huang-Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ab4223601f 
								
							 
						 
						
							
							
								
								bluez5: fix type of 'Codec' on remote endpoint  
							
							 
							
							... 
							
							
							
							Vendor codec(LDAC, aptX) uses codec ID 0xff, use uint8 to fill it. 
							
						 
						
							2021-02-03 00:01:29 +08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								2b44f42845 
								
							 
						 
						
							
							
								
								pass the complete buffer size to snprintf  
							
							 
							
							... 
							
							
							
							There is no reason to pass size-1, snprintf will always put a \0
at the end. 
							
						 
						
							2021-02-02 12:09:29 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								41063578a5 
								
							 
						 
						
							
							
								
								bluez5: use for_each_safe when items can be removed  
							
							 
							
							... 
							
							
							
							Removing items when iterating a list of only allowed when using the
_safe versions of for_each 
							
						 
						
							2021-02-02 11:48:47 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								47b6ce84b2 
								
							 
						 
						
							
							
								
								channelmix: initialize with float  
							
							 
							
							
							
						 
						
							2021-02-02 11:01:01 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								9d74bd61a7 
								
							 
						 
						
							
							
								
								bluez5: fix debug line  
							
							 
							
							
							
						 
						
							2021-02-02 11:00:16 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								f841bc0b5b 
								
							 
						 
						
							
							
								
								bluez5: remove pipewire device when bluez device disappears  
							
							 
							
							... 
							
							
							
							The pipewire device holds a pointer to the device, and should be removed
when BlueZ removes the underlying device. 
							
						 
						
							2021-02-02 09:56:30 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								4d9e9fcc33 
								
							 
						 
						
							
							
								
								bluez5: emit events on profile change and handle them  
							
							 
							
							... 
							
							
							
							BlueZ may connect transports long after DEVICE_PROFILE_TRANSPORT_SEC has
passed on already existing devices.  When this occurs, the bluez5
pipewire device should notify that the profile enumeration has changed.
Ignore these events during A2DP codec switch, and handle any changes
when the switch completes. 
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								8ffde47080 
								
							 
						 
						
							
							
								
								bluez5: deal with device removal while we're switching the codec  
							
							 
							
							... 
							
							
							
							Don't remove devices when there's a codec switch active, but check if
they should be removed once it completes. 
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								5d97351970 
								
							 
						 
						
							
							
								
								bluez5: expose different A2DP codecs as separate profiles  
							
							 
							
							... 
							
							
							
							The codecs probably should become a separate param later on, but this
workaround at least makes existing UIs work. 
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								0c74b90f0e 
								
							 
						 
						
							
							
								
								bluez5: helper functions for querying codecs on device  
							
							 
							
							
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								b642c7f209 
								
							 
						 
						
							
							
								
								bluez5: support device capability checks beyond A2DP caps + split sbc-xq to separate codec  
							
							 
							
							... 
							
							
							
							We would like to have BT device codec capability checks beyond what's
possible based on A2DP caps.
Split SBC-XQ to a separate codec, and enable it in the device-dependent
check (although currently it just uses the config option). 
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								e860f2bb4e 
								
							 
						 
						
							
							
								
								bluez5: basic codec-switching framework  
							
							 
							
							
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								0908588d0c 
								
							 
						 
						
							
							
								
								bluez5: add codec check_caps + check vendor codec id for ldac & aptx  
							
							 
							
							
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								ce335b6d88 
								
							 
						 
						
							
							
								
								bluez5: keep track of remote endpoints  
							
							 
							
							
							
						 
						
							2021-02-02 09:56:29 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								be6410909f 
								
							 
						 
						
							
							
								
								audioadapter: remove some unused code  
							
							 
							
							
							
						 
						
							2021-02-01 15:16:39 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Huang-Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b9f2e6a8c4 
								
							 
						 
						
							
							
								
								bluez5: disable HSP AG by default in native backend  
							
							 
							
							
							
						 
						
							2021-02-01 03:39:49 +08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Huang-Huang 
								
							 
						 
						
							
							
							
							
								
							
							
								f6cc45f736 
								
							 
						 
						
							
							
								
								bluez5: allow headset roles selecting  
							
							 
							
							
							
						 
						
							2021-01-31 18:12:07 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Huang-Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b66e67db14 
								
							 
						 
						
							
							
								
								bluez5: unregister HSP dbus object paths when current HSP/HFP registration fails  
							
							 
							
							
							
						 
						
							2021-02-01 00:01:23 +08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Huang-Huang 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								c778bd734c 
								
							 
						 
						
							
							
								
								a2dp: improve codec specific transport socket send buffer size setting  
							
							 
							
							
							
						 
						
							2021-01-31 09:01:40 +08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								28376d1db2 
								
							 
						 
						
							
							
								
								bluez: avoid warning  
							
							 
							
							
							
						 
						
							2021-01-30 19:31:52 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Pauli Virtanen 
								
							 
						 
						
							
							
							
							
								
							
							
								494194c4bf 
								
							 
						 
						
							
							
								
								bluez5: allow selecting codecs to use in config file  
							
							 
							
							... 
							
							
							
							For debugging, it may be useful to disable some of the codecs.  Enable
configuring this in config file, to make it more convenient for users,
who may not know how to recompile/install pipewire. 
							
						 
						
							2021-01-30 17:23:07 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								f43bcca35e 
								
							 
						 
						
							
							
								
								media-session: implement route selection and restore  
							
							 
							
							... 
							
							
							
							Disable automatic port configuration in acp and move the logic
to the session manager.
Implement initial port selection and restore on profile activation.
Implement route switch when unavailable
Implement port settings save. 
							
						 
						
							2021-01-29 16:59:17 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								2a1875fc35 
								
							 
						 
						
							
							
								
								bluez: disable pause on idle by default  
							
							 
							
							
							
						 
						
							2021-01-29 15:37:32 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								ab5059cd07 
								
							 
						 
						
							
							
								
								alsa: add array of devices in EnumProfile  
							
							 
							
							... 
							
							
							
							So that we can enumerate the possible Routes per device for
this profile as well. 
							
						 
						
							2021-01-29 15:27:25 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								6370d75efd 
								
							 
						 
						
							
							
								
								json: init value to ->cur instead of NULL  
							
							 
							
							... 
							
							
							
							Or else we end up with a return value of ->cur - NULL, which might look
lik a positive result and cause a crash later on.
Fixes  #641  
							
						 
						
							2021-01-29 09:18:59 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								0b69b92dc8 
								
							 
						 
						
							
							
								
								json: init value with NULL  
							
							 
							
							... 
							
							
							
							Fixes  #641  
							
						 
						
							2021-01-28 19:19:59 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas Holmberg 
								
							 
						 
						
							
							
							
							
								
							
							
								0ccad38df1 
								
							 
						 
						
							
							
								
								alsa-pcm: Fix target calculation  
							
							 
							
							... 
							
							
							
							Use threshold instead of last_threshold so that early wakeup is detected
in handle_capture() when duration changes. 
							
						 
						
							2021-01-28 16:18:35 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								b2e4f1358d 
								
							 
						 
						
							
							
								
								bluez5: clean up some profile names  
							
							 
							
							
							
						 
						
							2021-01-27 20:50:23 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								7fa1833310 
								
							 
						 
						
							
							
								
								bluez5: use function to get profile name  
							
							 
							
							
							
						 
						
							2021-01-27 20:39:02 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Wim Taymans 
								
							 
						 
						
							
							
							
							
								
							
							
								3312757706 
								
							 
						 
						
							
							
								
								acp: use auto-profile and auto-port properties  
							
							 
							
							... 
							
							
							
							Also disable initial automatic profile selection when auto-profile
is set to false 
							
						 
						
							2021-01-27 13:48:10 +01:00