mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-03 21:25:54 +00:00
Original commit message from CVS: * gst/gst-i18n-lib.h: check for ENABLE_NLS, not GETTEXT_PACKAGE * gst/gstregistry.c: (gst_registry_add_plugin), (gst_registry_scan_path_level), (_gst_registry_remove_cache_plugins): protect possibly NULL strings * gst/parse/types.h: config.h already included before * tools/gst-inspect.c: (main): sys/wait.h also doesn´t exist on mingw, so change the ifdef check check for ENABLE_NLS, not GETTEXT_PACKAGE * tools/gst-launch.c: (main): check for ENABLE_NLS, not GETTEXT_PACKAGE This commit brought to you from msys/mingw
85 lines
1.9 KiB
C
85 lines
1.9 KiB
C
#ifndef __GST_PARSE_TYPES_H__
|
|
#define __GST_PARSE_TYPES_H__
|
|
|
|
#include <glib-object.h>
|
|
#include "../gstelement.h"
|
|
|
|
typedef struct {
|
|
GstElement *src;
|
|
GstElement *sink;
|
|
gchar *src_name;
|
|
gchar *sink_name;
|
|
GSList *src_pads;
|
|
GSList *sink_pads;
|
|
GstCaps *caps;
|
|
} link_t;
|
|
|
|
typedef struct {
|
|
GSList *elements;
|
|
GstElement *first;
|
|
GstElement *last;
|
|
link_t *front;
|
|
link_t *back;
|
|
} chain_t;
|
|
|
|
typedef struct _graph_t graph_t;
|
|
struct _graph_t {
|
|
chain_t *chain; /* links are supposed to be done now */
|
|
GSList *links;
|
|
GError **error;
|
|
};
|
|
|
|
|
|
/*
|
|
* Memory checking. Should probably be done with gsttrace stuff, but that
|
|
* doesn't really work.
|
|
* This is not safe from reentrance issues, but that doesn't matter as long as
|
|
* we lock a mutex before parsing anyway.
|
|
*/
|
|
#ifdef GST_DEBUG_ENABLED
|
|
# define __GST_PARSE_TRACE
|
|
#endif
|
|
|
|
#ifdef __GST_PARSE_TRACE
|
|
gchar *__gst_parse_strdup (gchar *org);
|
|
void __gst_parse_strfree (gchar *str);
|
|
link_t *__gst_parse_link_new ();
|
|
void __gst_parse_link_free (link_t *data);
|
|
chain_t *__gst_parse_chain_new ();
|
|
void __gst_parse_chain_free (chain_t *data);
|
|
# define gst_parse_strdup __gst_parse_strdup
|
|
# define gst_parse_strfree __gst_parse_strfree
|
|
# define gst_parse_link_new __gst_parse_link_new
|
|
# define gst_parse_link_free __gst_parse_link_free
|
|
# define gst_parse_chain_new __gst_parse_chain_new
|
|
# define gst_parse_chain_free __gst_parse_chain_free
|
|
#else /* __GST_PARSE_TRACE */
|
|
# define gst_parse_strdup g_strdup
|
|
# define gst_parse_strfree g_free
|
|
# define gst_parse_link_new() g_new0 (link_t, 1)
|
|
# define gst_parse_link_free g_free
|
|
# define gst_parse_chain_new() g_new0 (chain_t, 1)
|
|
# define gst_parse_chain_free g_free
|
|
#endif /* __GST_PARSE_TRACE */
|
|
|
|
static inline void
|
|
gst_parse_unescape (gchar *str)
|
|
{
|
|
gchar *walk;
|
|
|
|
g_return_if_fail (str != NULL);
|
|
|
|
walk = str;
|
|
|
|
while (*walk) {
|
|
if (*walk == '\\')
|
|
walk++;
|
|
*str = *walk;
|
|
str++;
|
|
walk++;
|
|
}
|
|
*str = '\0';
|
|
}
|
|
|
|
#endif /* __GST_PARSE_TYPES_H__ */
|