/** * Get plugin defaults */ static void pulse_defaults(obs_data_t *settings, bool input) { pulse_init(); pa_server_info_cb_t cb = (input) ? pulse_input_device : pulse_output_device; pulse_get_server_info(cb, (void *) settings); pulse_unref(); }
/** * Get plugin properties */ static obs_properties_t pulse_properties(const char *locale, bool input) { obs_properties_t props = obs_properties_create(locale); obs_property_t devices = obs_properties_add_list(props, "device_id", "Device", OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); pulse_init(); pa_source_info_cb_t cb = (input) ? pulse_input_info : pulse_output_info; pulse_get_source_info_list(cb, (void *) devices); pulse_unref(); return props; }
/** * Get plugin properties */ static obs_properties_t *pulse_properties(bool input) { obs_properties_t *props = obs_properties_create(); obs_property_t *devices = obs_properties_add_list(props, "device_id", obs_module_text("Device"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); pulse_init(); pa_source_info_cb_t cb = (input) ? pulse_input_info : pulse_output_info; pulse_get_source_info_list(cb, (void *) devices); pulse_unref(); return props; }
/** * Destroy the plugin object and free all memory */ static void pulse_destroy(void *vptr) { PULSE_DATA(vptr); if (!data) return; if (data->stream) pulse_stop_recording(data); pulse_unref(); if (data->device) bfree(data->device); bfree(data); }
/* * Destroy the plugin object and free all memory */ static void pulse_destroy(void *vptr) { PULSE_DATA(vptr); if (!data) return; pulse_stop_recording(data); pulse_unref(); if (data->device) bfree(data->device); bfree(data); blog(LOG_DEBUG, "pulse-input: Input destroyed"); }
/** * Get plugin properties */ static obs_properties_t *pulse_properties(bool input) { obs_properties_t *props = obs_properties_create(); obs_property_t *devices = obs_properties_add_list(props, "device_id", obs_module_text("Device"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); pulse_init(); if (input) pulse_get_source_info_list(pulse_input_info, (void *) devices); else pulse_get_sink_info_list(pulse_output_info, (void *) devices); pulse_unref(); size_t count = obs_property_list_item_count(devices); if (count > 0) obs_property_list_insert_string(devices, 0, obs_module_text("Default"), "default"); return props; }