static void ao_command_wait(struct audio_output *ao) { while (ao->command != AO_COMMAND_NONE) { g_mutex_unlock(ao->mutex); notify_wait(&audio_output_client_notify); g_mutex_lock(ao->mutex); } }
static void player_command(enum player_command cmd) { assert(pc.command == PLAYER_COMMAND_NONE); pc.command = cmd; while (pc.command != PLAYER_COMMAND_NONE) { notify_signal(&pc.notify); notify_wait(&main_notify); } }