static void ShowDShowInput(void *data) { DShowInput *input = reinterpret_cast<DShowInput*>(data); if (input->deactivateWhenNotShowing && input->active) input->QueueAction(Action::Activate); }
static void UpdateDShowInput(void *data, obs_data_t *settings) { DShowInput *input = reinterpret_cast<DShowInput*>(data); if (input->active) input->QueueAction(Action::Activate); UNUSED_PARAMETER(settings); }
static DWORD CALLBACK DShowThread(LPVOID ptr) { DShowInput *dshowInput = (DShowInput*)ptr; CoInitialize(nullptr); dshowInput->DShowLoop(); CoUninitialize(); return 0; }
static bool CrossbarConfigClicked(obs_properties_t props, obs_property_t p, void *data) { DShowInput *input = reinterpret_cast<DShowInput*>(data); input->QueueAction(Action::ConfigCrossbar1); UNUSED_PARAMETER(props); UNUSED_PARAMETER(p); return false; }
static DWORD CALLBACK DShowThread(LPVOID ptr) { DShowInput *dshowInput = (DShowInput*)ptr; os_set_thread_name("win-dshow: DShowThread"); CoInitialize(nullptr); dshowInput->DShowLoop(); CoUninitialize(); return 0; }
static bool ActivateClicked(obs_properties_t *, obs_property_t *p, void *data) { DShowInput *input = reinterpret_cast<DShowInput*>(data); if (input->active) { input->SetActive(false); obs_property_set_description(p, TEXT_ACTIVATE); } else { input->SetActive(true); obs_property_set_description(p, TEXT_DEACTIVATE); } return true; }