static int tc_x11_stop(TCModuleInstance *self) { TCX11PrivateData *priv = NULL; int ret = 0; TC_MODULE_SELF_CHECK(self, "stop"); priv = self->userdata; ret = tc_x11source_close(&priv->src); if (ret != 0) { tc_log_error(MOD_NAME, "stop: failed to close X11 connection"); return TC_ERROR; } ret = tc_timer_fini(&priv->timer); if (ret != 0) { tc_log_error(MOD_NAME, "stop: failed to stop timer"); return TC_ERROR; } if (verbose >= TC_DEBUG) { tc_log_info(MOD_NAME, "expired frames count: %lu", (unsigned long)priv->expired); } return TC_OK; }
void probe_x11(info_t *ipipe) { #ifdef HAVE_X11 TCX11Source xsrc; int err = tc_x11source_open(&xsrc, ipipe->name, TC_X11_MODE_PLAIN, TC_CODEC_RGB); /* performances and colorspaces doesn't really matters here */ if (err == 0) { tc_x11source_probe(&xsrc, ipipe->probe_info); tc_x11source_close(&xsrc); } #else /* HAVE_x11 */ tc_log_error(__FILE__, "No support for X11 compiled in"); ipipe->probe_info->codec = TC_CODEC_UNKNOWN; ipipe->probe_info->magic = TC_MAGIC_UNKNOWN; #endif /* HAVE_X11 */ return; }