static gboolean start (GstBaseSink *base_sink) { GstCutterConsoleOutputPrivate *priv; CutVerboseLevel verbose_level; priv = GST_CUTTER_CONSOLE_OUTPUT_GET_PRIVATE(base_sink); verbose_level = cut_verbose_level_parse(priv->verbose_level_string, NULL); priv->ui = cut_ui_new("console", "use-color", priv->use_color, "verbose-level", verbose_level, NULL); priv->reader = cut_stream_reader_new(); cut_listener_attach_to_run_context(CUT_LISTENER(priv->ui), priv->reader); return TRUE; }
static gboolean parse_verbose_level_arg (const gchar *option_name, const gchar *value, gpointer data, GError **error) { CutConsoleUIFactory *console = data; CutVerboseLevel verbose_level; GError *verbose_level_error = NULL; verbose_level = cut_verbose_level_parse(value, &verbose_level_error); if (!verbose_level_error) { console->verbose_level = verbose_level; return TRUE; } g_set_error(error, G_OPTION_ERROR, G_OPTION_ERROR_BAD_VALUE, "%s", verbose_level_error->message); g_error_free(verbose_level_error); return FALSE; }