mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-14 21:31:27 +00:00
reworked things to fully deal with having XML disabled
Original commit message from CVS: reworked things to fully deal with having XML disabled
This commit is contained in:
parent
e68dc8f315
commit
95fae173f7
12 changed files with 75 additions and 62 deletions
|
@ -160,6 +160,7 @@ libgstincludedir = $(includedir)/gst
|
|||
libgstinclude_HEADERS = \
|
||||
cothreads.h \
|
||||
gst.h \
|
||||
gstconfig.h \
|
||||
$(GST_OBJECT_MODEL_HDR) \
|
||||
gstobject.h \
|
||||
gsttypes.h \
|
||||
|
|
|
@ -430,7 +430,7 @@ gst_autoplugger_cache_empty(GstElement *element, GstAutoplugger *autoplugger)
|
|||
// try to PLAY the whole thing
|
||||
gst_element_set_state(GST_ELEMENT_SCHED(autoplugger)->parent,GST_STATE_PLAYING);
|
||||
|
||||
xmlSaveFile("autoplugger.gst", gst_xml_write(GST_ELEMENT_SCHED(autoplugger)->parent));
|
||||
// xmlSaveFile("autoplugger.gst", gst_xml_write(GST_ELEMENT_SCHED(autoplugger)->parent));
|
||||
|
||||
GST_INFO(GST_CAT_AUTOPLUG, "autoplugger_cache_empty finished");
|
||||
}
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
*/
|
||||
|
||||
//#define GST_DEBUG_ENABLED
|
||||
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#include "gst_private.h"
|
||||
|
||||
#include "gstautoplug.h"
|
||||
|
@ -167,8 +170,10 @@ gst_autoplug_to_renderers (GstAutoplug *autoplug, GstCaps *srccaps, GstElement *
|
|||
static void gst_autoplugfactory_class_init (GstAutoplugFactoryClass *klass);
|
||||
static void gst_autoplugfactory_init (GstAutoplugFactory *factory);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
static xmlNodePtr gst_autoplugfactory_save_thyself (GstObject *object, xmlNodePtr parent);
|
||||
static void gst_autoplugfactory_restore_thyself (GstObject *object, xmlNodePtr parent);
|
||||
#endif
|
||||
|
||||
static GstPluginFeatureClass *factory_parent_class = NULL;
|
||||
//static guint gst_autoplugfactory_signals[LAST_SIGNAL] = { 0 };
|
||||
|
@ -209,8 +214,10 @@ gst_autoplugfactory_class_init (GstAutoplugFactoryClass *klass)
|
|||
|
||||
factory_parent_class = g_type_class_ref (GST_TYPE_PLUGIN_FEATURE);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
gstobject_class->save_thyself = GST_DEBUG_FUNCPTR (gst_autoplugfactory_save_thyself);
|
||||
gstobject_class->restore_thyself = GST_DEBUG_FUNCPTR (gst_autoplugfactory_restore_thyself);
|
||||
#endif
|
||||
|
||||
_gst_autoplugfactories = NULL;
|
||||
}
|
||||
|
@ -359,6 +366,7 @@ gst_autoplugfactory_make (const gchar *name)
|
|||
return gst_autoplugfactory_create (factory);;
|
||||
}
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
static xmlNodePtr
|
||||
gst_autoplugfactory_save_thyself (GstObject *object, xmlNodePtr parent)
|
||||
{
|
||||
|
@ -405,3 +413,4 @@ gst_autoplugfactory_restore_thyself (GstObject *object, xmlNodePtr parent)
|
|||
children = children->next;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -444,8 +444,6 @@ gst_buffer_span (GstBuffer *buf1, guint32 offset, GstBuffer *buf2, guint32 len)
|
|||
}
|
||||
|
||||
// if the two buffers have the same parent and are adjacent
|
||||
// if ((buf1->parent == buf2->parent) &&
|
||||
// ((buf1->data + buf1->size) == buf2->data)) {
|
||||
if (gst_buffer_is_span_fast(buf1,buf2)) {
|
||||
// we simply create a subbuffer of the common parent
|
||||
newbuf = gst_buffer_create_sub (buf1->parent, buf1->data - (buf1->parent->data) + offset, len);
|
||||
|
|
|
@ -24,14 +24,7 @@
|
|||
#ifndef __GST_CAPS_H__
|
||||
#define __GST_CAPS_H__
|
||||
|
||||
#include <parser.h> // NOTE: this is xml-config's fault
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#include <gst/gstprops.h>
|
||||
|
||||
|
@ -118,7 +111,9 @@ GstCaps* gst_caps_prepend (GstCaps *caps, GstCaps *capstoadd);
|
|||
|
||||
gboolean gst_caps_check_compatibility (GstCaps *fromcaps, GstCaps *tocaps);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
xmlNodePtr gst_caps_save_thyself (GstCaps *caps, xmlNodePtr parent);
|
||||
GstCaps* gst_caps_load_thyself (xmlNodePtr parent);
|
||||
#endif
|
||||
|
||||
#endif /* __GST_CAPS_H__ */
|
||||
|
|
36
gst/gstconfig.h
Normal file
36
gst/gstconfig.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* This header interprets the various GST_* macros that are typically *
|
||||
* provided by the gstreamer-config or gstreamer.pc files. */
|
||||
|
||||
#ifndef __GST_CONFIG_H__
|
||||
#define __GST_CONFIG_H__
|
||||
|
||||
|
||||
/***** We include config.h in case someone perhaps used a gstreamer.m4 or
|
||||
something else that provides funky overrides. BEWARE! *****/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif /* HAVE_CONFIG_H */
|
||||
|
||||
|
||||
/***** Deal with XML stuff, we have to handle both loadsave and registry *****/
|
||||
|
||||
// TEMPORARY!!
|
||||
#define GST_DISABLE_LOADSAVE
|
||||
#define GST_DISABLE_REGISTRY
|
||||
|
||||
#if (! (defined(GST_DISABLE_LOADSAVE) && defined(GST_DISABLE_REGISTRY)) )
|
||||
#include <parser.h>
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define GST_DISABLE_LOADSAVE_REGISTRY
|
||||
#endif
|
||||
|
||||
#endif /* __GST_CONFIG_H__ */
|
|
@ -24,14 +24,7 @@
|
|||
#ifndef __GST_ELEMENT_H__
|
||||
#define __GST_ELEMENT_H__
|
||||
|
||||
#include <parser.h> // NOTE: this is xml-config's fault
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#include <gst/gstobject.h>
|
||||
#include <gst/gstpad.h>
|
||||
|
@ -234,8 +227,10 @@ void gst_element_error (GstElement *element, const gchar *error);
|
|||
|
||||
GstElementFactory* gst_element_get_factory (GstElement *element);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
/* XML write and read */
|
||||
GstElement* gst_element_restore_thyself (xmlNodePtr self, GstObject *parent);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -24,10 +24,7 @@
|
|||
#ifndef __GST_OBJECT_H__
|
||||
#define __GST_OBJECT_H__
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#ifdef USE_GLIB2
|
||||
#include <glib-object.h> // note that this gets wrapped in __GST_OBJECT_H__
|
||||
|
@ -36,15 +33,13 @@
|
|||
#include <gst/gobject2gtk.h>
|
||||
#endif
|
||||
|
||||
#include <gst/gsttrace.h>
|
||||
#include <parser.h>
|
||||
|
||||
#include <gst/gsttypes.h>
|
||||
|
||||
#ifdef HAVE_ATOMIC_H
|
||||
#include <asm/atomic.h>
|
||||
#endif
|
||||
|
||||
#include <gst/gsttrace.h>
|
||||
#include <gst/gsttypes.h>
|
||||
|
||||
// FIXME
|
||||
#include "gstlog.h"
|
||||
|
||||
|
@ -107,13 +102,17 @@ struct _GstObjectClass {
|
|||
|
||||
/* signals */
|
||||
void (*parent_set) (GstObject *object, GstObject *parent);
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
void (*object_saved) (GstObject *object, xmlNodePtr parent);
|
||||
#endif
|
||||
|
||||
/* functions go here */
|
||||
void (*destroy) (GstObject *object);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
xmlNodePtr (*save_thyself) (GstObject *object, xmlNodePtr parent);
|
||||
void (*restore_thyself) (GstObject *object, xmlNodePtr self);
|
||||
#endif
|
||||
};
|
||||
|
||||
#define GST_FLAGS(obj) (GST_OBJECT (obj)->flags)
|
||||
|
@ -153,6 +152,7 @@ xmlNodePtr gst_object_save_thyself (GstObject *object, xmlNodePtr parent);
|
|||
void gst_object_restore_thyself (GstObject *object, xmlNodePtr parent);
|
||||
#else
|
||||
#pragma GCC poison gst_object_save_thyself
|
||||
#pragma GCC poison gst_object_restore_thyself
|
||||
#endif
|
||||
|
||||
/* refcounting */
|
||||
|
|
13
gst/gstpad.h
13
gst/gstpad.h
|
@ -24,14 +24,7 @@
|
|||
#ifndef __GST_PAD_H__
|
||||
#define __GST_PAD_H__
|
||||
|
||||
#include <parser.h> // NOTE: This is xml-config's fault
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#include <gst/gstobject.h>
|
||||
#include <gst/gstbuffer.h>
|
||||
|
@ -424,7 +417,9 @@ GstBuffer* gst_pad_peek (GstPad *pad);
|
|||
GstPad* gst_pad_select (GList *padlist);
|
||||
GstPad* gst_pad_selectv (GstPad *pad, ...);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
void gst_pad_load_and_connect (xmlNodePtr self, GstObject *parent);
|
||||
#endif
|
||||
|
||||
|
||||
/* ghostpads */
|
||||
|
@ -441,8 +436,10 @@ GstPadTemplate* gst_padtemplate_new (gchar *name_template,
|
|||
GstCaps* gst_padtemplate_get_caps (GstPadTemplate *templ);
|
||||
GstCaps* gst_padtemplate_get_caps_by_name (GstPadTemplate *templ, const gchar *name);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
xmlNodePtr gst_padtemplate_save_thyself (GstPadTemplate *templ, xmlNodePtr parent);
|
||||
GstPadTemplate* gst_padtemplate_load_thyself (xmlNodePtr parent);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -24,15 +24,9 @@
|
|||
#ifndef __GST_PLUGIN_H__
|
||||
#define __GST_PLUGIN_H__
|
||||
|
||||
#include <gmodule.h>
|
||||
#include <parser.h> // NOTE: this is xml-config's fault
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
#include <gmodule.h>
|
||||
|
||||
#include <gst/gstpluginfeature.h>
|
||||
|
||||
|
|
|
@ -24,16 +24,9 @@
|
|||
#ifndef __GST_PROPS_H__
|
||||
#define __GST_PROPS_H__
|
||||
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <parser.h> // NOTE: this is xml-config's fault
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct _GstProps GstProps;
|
||||
|
||||
|
@ -95,7 +88,9 @@ gulong gst_props_get_fourcc_int (GstProps *props, const gchar *name);
|
|||
gboolean gst_props_get_boolean (GstProps *props, const gchar *name);
|
||||
const gchar* gst_props_get_string (GstProps *props, const gchar *name);
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
xmlNodePtr gst_props_save_thyself (GstProps *props, xmlNodePtr parent);
|
||||
GstProps* gst_props_load_thyself (xmlNodePtr parent);
|
||||
#endif
|
||||
|
||||
#endif /* __GST_PROPS_H__ */
|
||||
|
|
11
gst/gstxml.h
11
gst/gstxml.h
|
@ -23,17 +23,10 @@
|
|||
#ifndef __GST_XML_H__
|
||||
#define __GST_XML_H__
|
||||
|
||||
#include <gst/gstconfig.h>
|
||||
|
||||
#ifndef GST_DISABLE_LOADSAVE
|
||||
|
||||
#include <parser.h>
|
||||
|
||||
// Include compatability defines: if libxml hasn't already defined these,
|
||||
// we have an old version 1.x
|
||||
#ifndef xmlChildrenNode
|
||||
#define xmlChildrenNode childs
|
||||
#define xmlRootNode root
|
||||
#endif
|
||||
|
||||
#include <gst/gstelement.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Reference in a new issue