mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	bluetooth: Introduce a can_be_supported API for A2DP codecs
This API internally checks if a requested codec can be supported on the system. This is especially required for codecs supported via GStreamer where the availability of a plugin decides if the said codec can be supported. This will be used to prevent registration of a codec which the remote endpoint device might be able to support, but, PulseAudio can't as the codec is not available on the system due to the absence of a plugin. We can also prevent listing or switching to an unavailable codec. Note that the codec negotiation happens with the bluez stack even before a device is connected. Because of this, we need to make sure that gst_init is called before checking for the availability of a plugin. Since module-bluez5-device gets loaded only after a connection to the device has been established, doing the gst_init in that or one of the bluetooth modules is not feasible. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/440>
This commit is contained in:
		
							parent
							
								
									6044169763
								
							
						
					
					
						commit
						d61493640e
					
				
					 8 changed files with 69 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -2150,6 +2150,7 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *c, int headset_backe
 | 
			
		|||
    const pa_a2dp_codec *a2dp_codec;
 | 
			
		||||
    char *endpoint;
 | 
			
		||||
 | 
			
		||||
    pa_bluetooth_a2dp_codec_gst_init();
 | 
			
		||||
    y = pa_xnew0(pa_bluetooth_discovery, 1);
 | 
			
		||||
    PA_REFCNT_INIT(y);
 | 
			
		||||
    y->core = c;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue