pw-link: move output/input option checking before main event loop run

This commit is contained in:
Théo Lebrun 2024-01-30 22:25:45 +01:00 committed by Wim Taymans
parent 0b67c10a9c
commit e8d104f7bc

View file

@ -794,6 +794,12 @@ int main(int argc, char *argv[])
if (optind < argc) if (optind < argc)
data.opt_input = argv[optind++]; data.opt_input = argv[optind++];
if ((data.opt_mode & (MODE_LIST|MODE_DISCONNECT)) == 0 &&
(data.opt_output == NULL || data.opt_input == NULL)) {
fprintf(stderr, "missing output and input port names to connect\n");
return -1;
}
data.loop = pw_main_loop_new(NULL); data.loop = pw_main_loop_new(NULL);
if (data.loop == NULL) { if (data.loop == NULL) {
fprintf(stderr, "can't create mainloop: %m\n"); fprintf(stderr, "can't create mainloop: %m\n");
@ -861,11 +867,6 @@ int main(int argc, char *argv[])
return -1; return -1;
} }
} else { } else {
if (data.opt_output == NULL ||
data.opt_input == NULL) {
fprintf(stderr, "missing output and input port names to connect\n");
return -1;
}
if ((res = do_link_ports(&data)) < 0) { if ((res = do_link_ports(&data)) < 0) {
fprintf(stderr, "failed to link ports: %s\n", spa_strerror(res)); fprintf(stderr, "failed to link ports: %s\n", spa_strerror(res));
return -1; return -1;