mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	impl-client: add workaround for old pipewire-media-session compatibility
pipewire-media-session purposefully makes one of its cores to lag the other, and then uses it to bind ids it obtained from the faster core. This no longer works with the registry generation number checks. It's possible to fix in p-m-s, but we can also add a specific workaround for it. This workaround is supposed to be eventually removed. Workarounds for other apps should not be added.
This commit is contained in:
		
							parent
							
								
									d71cf24183
								
							
						
					
					
						commit
						09d005aa3e
					
				
					 2 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -228,6 +228,18 @@ static int finish_register(struct pw_impl_client *client)
 | 
			
		|||
	pw_global_update_keys(client->global, client->info.props, keys);
 | 
			
		||||
	pw_global_register(client->global);
 | 
			
		||||
 | 
			
		||||
#ifdef OLD_MEDIA_SESSION_WORKAROUND
 | 
			
		||||
	/*
 | 
			
		||||
	 * XXX: temporary workaround for pipewire-media-session, see #2159
 | 
			
		||||
	 */
 | 
			
		||||
	if (spa_streq(spa_dict_lookup(client->info.props, PW_KEY_APP_NAME),
 | 
			
		||||
					"pipewire-media-session")) {
 | 
			
		||||
		client->recv_generation = UINT64_MAX;
 | 
			
		||||
		pw_log_info("impl-client %p: enable old pipewire-media-session workaround",
 | 
			
		||||
				client);
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,6 +91,7 @@ configure_file(input : 'version.h.in',
 | 
			
		|||
install_headers(pipewire_headers, subdir : pipewire_headers_dir)
 | 
			
		||||
 | 
			
		||||
libpipewire_c_args = [
 | 
			
		||||
  '-DOLD_MEDIA_SESSION_WORKAROUND=1'
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
if build_machine.system() != 'freebsd'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue