EXPORT_C #endif GstElement * gst_parse_launch (const gchar * pipeline_description, GError ** error) { #ifndef GST_DISABLE_PARSE GstElement *element; g_return_val_if_fail (pipeline_description != NULL, NULL); GST_CAT_INFO (GST_CAT_PIPELINE, "parsing pipeline description %s", pipeline_description); element = _gst_parse_launch (pipeline_description, error); return element; #else gchar *msg; GST_WARNING ("Disabled API called: gst_parse_launch()"); msg = gst_error_get_message (GST_CORE_ERROR, GST_CORE_ERROR_DISABLED); g_set_error (error, GST_CORE_ERROR, GST_CORE_ERROR_DISABLED, "%s", msg); g_free (msg); return NULL; #endif }
EXPORT_C #endif GstElement * gst_parse_launchv (const gchar ** argv, GError ** error) { #ifndef GST_DISABLE_PARSE GstElement *element; GString *str; const gchar **argvp, *arg; gchar *tmp; g_return_val_if_fail (argv != NULL, NULL); /* let's give it a nice size. */ str = g_string_sized_new (1024); argvp = argv; while (*argvp) { arg = *argvp; tmp = _gst_parse_escape (arg); g_string_append (str, tmp); g_free (tmp); g_string_append_c (str, ' '); argvp++; } element = gst_parse_launch (str->str, error); g_string_free (str, TRUE); return element; #else gchar *msg; GST_WARNING ("Disabled API called: gst_parse_launchv()"); msg = gst_error_get_message (GST_CORE_ERROR, GST_CORE_ERROR_DISABLED); g_set_error (error, GST_CORE_ERROR, GST_CORE_ERROR_DISABLED, "%s", msg); g_free (msg); return NULL; #endif }
/** * gst_parse_launch_full: * @pipeline_description: the command line describing the pipeline * @context: (allow-none): a parse context allocated with * [gst_parse_context_new](), or [NULL]() * @flags: parsing options, or [GST_PARSE_FLAG_NONE]() * @error: the error message in case of an erroneous pipeline. * * Create a new pipeline based on command line syntax. * Please note that you might get a return value that is not [NULL]() even though * the _error_ is set. In this case there was a recoverable parsing error and you * can try to play the pipeline. * * Returns: (transfer floating): a new element on success, [NULL]() on failure. If * more than one toplevel element is specified by the _pipeline_description_, * all elements are put into a [GstPipeline](), which then is returned. */ GstElement * gst_parse_launch_full (const gchar * pipeline_description, GstParseContext * context, GstParseFlags flags, GError ** error) { #ifndef GST_DISABLE_PARSE GstElement *element; GError *myerror = NULL; g_return_val_if_fail (pipeline_description != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); GST_CAT_INFO (GST_CAT_PIPELINE, "parsing pipeline description '%s'", pipeline_description); element = priv_gst_parse_launch (pipeline_description, &myerror, context, flags); /* don't return partially constructed pipeline if FATAL_ERRORS was given */ if (G_UNLIKELY (myerror != NULL && element != NULL)) { if ((flags & GST_PARSE_FLAG_FATAL_ERRORS)) { gst_object_unref (element); element = NULL; } } if (myerror) g_propagate_error (error, myerror); return element; #else gchar *msg; GST_WARNING ("Disabled API called"); msg = gst_error_get_message (GST_CORE_ERROR, GST_CORE_ERROR_DISABLED); g_set_error (error, GST_CORE_ERROR, GST_CORE_ERROR_DISABLED, "%s", msg); g_free (msg); return NULL; #endif }