static int vlc_FromHR(audio_output_t *aout, HRESULT hr) { /* Restart on unplug */ if (unlikely(hr == AUDCLNT_E_DEVICE_INVALIDATED)) aout_RestartRequest(aout, AOUT_RESTART_OUTPUT); return SUCCEEDED(hr) ? 0 : -1; }
static void stream_event_cb(pa_stream *s, const char *name, pa_proplist *pl, void *userdata) { audio_output_t *aout = userdata; if (!strcmp(name, PA_STREAM_EVENT_REQUEST_CORK)) aout_PolicyReport(aout, true); else if (!strcmp(name, PA_STREAM_EVENT_REQUEST_UNCORK)) aout_PolicyReport(aout, false); else /* FIXME: expose aout_Restart() directly */ if (!strcmp(name, PA_STREAM_EVENT_FORMAT_LOST)) { msg_Dbg (aout, "format lost"); aout_RestartRequest (aout, AOUT_RESTART_OUTPUT); } else msg_Warn (aout, "unhandled stream event \"%s\"", name); (void) s; (void) pl; }