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_launchv_full: * @argv: (in) (array zero-terminated=1): null-terminated array of arguments * @context: (allow-none): a parse context allocated with * [gst_parse_context_new](), or [NULL]() * @flags: parsing options, or [GST_PARSE_FLAG_NONE]() * @error: pointer to a [GError]() (which must be initialised to [NULL]()) * * Create a new element based on command line syntax. * _error_ will contain an error message if an erroneous pipeline is specified. * An error does not mean that the pipeline could not be constructed. * * Returns: (transfer floating): a new element on success; on failure, either [NULL]() * or a partially-constructed bin or element will be returned and _error_ will * be set (unless you passed [GST_PARSE_FLAG_FATAL_ERRORS]() in _flags_, then * [NULL]() will always be returned on failure) */ GstElement * gst_parse_launchv_full (const gchar ** argv, GstParseContext * context, GstParseFlags flags, GError ** error) { #ifndef GST_DISABLE_PARSE GstElement *element; GString *str; const gchar **argvp, *arg; gchar *tmp; g_return_val_if_fail (argv != NULL, NULL); g_return_val_if_fail (error == NULL || *error == NULL, NULL); /* let's give it a nice size. */ str = g_string_sized_new (1024); argvp = argv; while (*argvp) { arg = *argvp; GST_DEBUG ("escaping argument %s", arg); tmp = _gst_parse_escape (arg); g_string_append (str, tmp); g_free (tmp); g_string_append_c (str, ' '); argvp++; } element = gst_parse_launch_full (str->str, context, flags, error); g_string_free (str, TRUE); return element; #else /* gst_parse_launch_full() will set a GST_CORE_ERROR_DISABLED error for us */ return gst_parse_launch_full ("", NULL, 0, error); #endif }