mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	pw-cli: add -m option
To keep the mainloop running and keep the process (and objects) alive. Interesting when doing pw-cli load-module libpipewire-module-loopback.
This commit is contained in:
		
							parent
							
								
									4821c7ca2f
								
							
						
					
					
						commit
						9255cfbd7c
					
				
					 1 changed files with 13 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -3152,13 +3152,14 @@ int main(int argc, char *argv[])
 | 
			
		|||
	struct pw_loop *l;
 | 
			
		||||
	char *opt_remote = NULL;
 | 
			
		||||
	char *error;
 | 
			
		||||
	bool daemon = false;
 | 
			
		||||
	bool daemon = false, monitor = false;
 | 
			
		||||
	struct remote_data *rd;
 | 
			
		||||
	static const struct option long_options[] = {
 | 
			
		||||
		{ "help",	no_argument,		 NULL, 'h' },
 | 
			
		||||
		{ "version",	no_argument,		 NULL, 'V' },
 | 
			
		||||
		{ "daemon",	no_argument,		 NULL, 'd' },
 | 
			
		||||
		{ "remote",	required_argument,	 NULL, 'r' },
 | 
			
		||||
		{ "help",	no_argument,		NULL, 'h' },
 | 
			
		||||
		{ "version",	no_argument,		NULL, 'V' },
 | 
			
		||||
		{ "monitor",	no_argument,		NULL, 'm' },
 | 
			
		||||
		{ "daemon",	no_argument,		NULL, 'd' },
 | 
			
		||||
		{ "remote",	required_argument,	NULL, 'r' },
 | 
			
		||||
		{ NULL,	0, NULL, 0}
 | 
			
		||||
	};
 | 
			
		||||
	int c, i;
 | 
			
		||||
| 
						 | 
				
			
			@ -3168,7 +3169,7 @@ int main(int argc, char *argv[])
 | 
			
		|||
	setlocale(LC_ALL, "");
 | 
			
		||||
	pw_init(&argc, &argv);
 | 
			
		||||
 | 
			
		||||
	while ((c = getopt_long(argc, argv, "hVdr:", long_options, NULL)) != -1) {
 | 
			
		||||
	while ((c = getopt_long(argc, argv, "hVmdr:", long_options, NULL)) != -1) {
 | 
			
		||||
		switch (c) {
 | 
			
		||||
		case 'h':
 | 
			
		||||
			show_help(&data, argv[0], false);
 | 
			
		||||
| 
						 | 
				
			
			@ -3184,6 +3185,9 @@ int main(int argc, char *argv[])
 | 
			
		|||
		case 'd':
 | 
			
		||||
			daemon = true;
 | 
			
		||||
			break;
 | 
			
		||||
		case 'm':
 | 
			
		||||
			monitor = true;
 | 
			
		||||
			break;
 | 
			
		||||
		case 'r':
 | 
			
		||||
			opt_remote = optarg;
 | 
			
		||||
			break;
 | 
			
		||||
| 
						 | 
				
			
			@ -3250,9 +3254,11 @@ int main(int argc, char *argv[])
 | 
			
		|||
			fprintf(stderr, "Error: \"%s\"\n", error);
 | 
			
		||||
			free(error);
 | 
			
		||||
		}
 | 
			
		||||
		if (!data.quit && data.current) {
 | 
			
		||||
		while (!data.quit && data.current) {
 | 
			
		||||
			data.current->prompt_pending = pw_core_sync(data.current->core, 0, 0);
 | 
			
		||||
			pw_main_loop_run(data.loop);
 | 
			
		||||
			if (!monitor)
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	spa_list_consume(rd, &data.remotes, link)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue