X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/67895023d60fc492720d2f575045ed0173948947..287ad384814351a195696f91e83388c12b265f90:/lib/uaudio-command.c diff --git a/lib/uaudio-command.c b/lib/uaudio-command.c index 5e4531e..812a3f2 100644 --- a/lib/uaudio-command.c +++ b/lib/uaudio-command.c @@ -44,6 +44,7 @@ static pid_t command_pid; static const char *const command_options[] = { "command", + "pause-mode", NULL }; @@ -115,13 +116,23 @@ static size_t command_play(void *buffer, size_t nsamples) { static void command_start(uaudio_callback *callback, void *userdata) { + const char *pausemode = uaudio_get("pause-mode", "silence"); + unsigned flags = 0; + + if(!strcmp(pausemode, "silence")) + flags |= UAUDIO_THREAD_FAKE_PAUSE; + else if(!strcmp(pausemode, "suspend")) + ; + else + fatal(0, "unknown pause mode '%s'", pausemode); command_open(); uaudio_schedule_init(); uaudio_thread_start(callback, userdata, command_play, uaudio_channels, - 4096 / uaudio_sample_size); + 4096 / uaudio_sample_size, + flags); } static void command_stop(void) {