summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2010-10-18 11:59:03 +0200
committerEdward Hervey <bilboed@bilboed.com>2010-10-18 12:01:02 +0200
commit0238e12e013eaec3782070bcaa6c81543473f60a (patch)
treea5334cf8679fbc284dc1b67b37106e971f3b8a5a
parent3e73bfc4b292b594cd68eb2b79aa388e072887a8 (diff)
gst: Make all libraries use shared PyGst_API
Fixes #590348
-rw-r--r--gst/audio.override2
-rw-r--r--gst/audiomodule.c2
-rw-r--r--gst/interfaces.override2
-rw-r--r--gst/interfacesmodule.c2
-rw-r--r--gst/pbutils.override3
-rw-r--r--gst/pbutilsmodule.c25
-rw-r--r--gst/tag.override2
-rw-r--r--gst/tagmodule.c2
-rw-r--r--gst/video.override2
-rw-r--r--gst/videomodule.c4
10 files changed, 17 insertions, 29 deletions
diff --git a/gst/audio.override b/gst/audio.override
index 59672e7..13addc0 100644
--- a/gst/audio.override
+++ b/gst/audio.override
@@ -25,7 +25,7 @@ headers
#endif
#define NO_IMPORT_PYGOBJECT
-#include "common.h"
+#include "pygst.h"
#include <gst/gst.h>
diff --git a/gst/audiomodule.c b/gst/audiomodule.c
index 4589b86..7043bf4 100644
--- a/gst/audiomodule.c
+++ b/gst/audiomodule.c
@@ -28,6 +28,7 @@
#include <gst/audio/audio.h>
#include <gst/audio/gstbaseaudiosink.h>
#include <gst/audio/gstbaseaudiosrc.h>
+#include "pygst.h"
void pyaudio_register_classes (PyObject *d);
void pyaudio_add_constants(PyObject *module, const gchar *strip_prefix);
@@ -42,6 +43,7 @@ initaudio (void)
PyObject *m, *d;
init_pygobject ();
+ pygst_init();
m = Py_InitModule ("audio", pyaudio_functions);
d = PyModule_GetDict (m);
diff --git a/gst/interfaces.override b/gst/interfaces.override
index e89180e..ed522de 100644
--- a/gst/interfaces.override
+++ b/gst/interfaces.override
@@ -27,7 +27,7 @@ headers
#define NO_IMPORT_PYGOBJECT
-#include "common.h"
+#include "pygst.h"
#include <gst/gst.h>
diff --git a/gst/interfacesmodule.c b/gst/interfacesmodule.c
index 42f89ff..b0673eb 100644
--- a/gst/interfacesmodule.c
+++ b/gst/interfacesmodule.c
@@ -27,6 +27,7 @@
/* include this first, before NO_IMPORT_PYGOBJECT is defined */
#include <pygobject.h>
#include <gst/gst.h>
+#include "pygst.h"
void pyinterfaces_register_classes (PyObject *d);
void pyinterfaces_add_constants(PyObject *module, const gchar *strip_prefix);
@@ -39,6 +40,7 @@ initinterfaces (void)
PyObject *m, *d;
init_pygobject ();
+ pygst_init();
m = Py_InitModule ("interfaces", pyinterfaces_functions);
d = PyModule_GetDict (m);
diff --git a/gst/pbutils.override b/gst/pbutils.override
index c5c0f0d..01e45e8 100644
--- a/gst/pbutils.override
+++ b/gst/pbutils.override
@@ -25,7 +25,7 @@ headers
#endif
#define NO_IMPORT_PYGOBJECT
-#include "common.h"
+#include "pygst.h"
#include <gst/gst.h>
@@ -84,6 +84,7 @@ import gst.Object as PyGstObject_Type
import gst.Structure as PyGstStructure_Type
import gst.Element as PyGstElement_Type
import gst.Message as PyGstMessage_Type
+import gst.MiniObject as PyGstMiniObject_Type
%%
include
gstversion.override
diff --git a/gst/pbutilsmodule.c b/gst/pbutilsmodule.c
index fdb0436..6c510a8 100644
--- a/gst/pbutilsmodule.c
+++ b/gst/pbutilsmodule.c
@@ -26,6 +26,7 @@
#include <pygobject.h>
#include <gst/gst.h>
#include <gst/pbutils/pbutils.h>
+#include "pygst.h"
void pypbutils_register_classes (PyObject *d);
void pypbutils_add_constants(PyObject *module, const gchar *strip_prefix);
@@ -43,29 +44,7 @@ initpbutils (void)
init_pygobject ();
/* Make sure gst module is loaded and ready */
- gst = PyImport_ImportModule("gst");
- if (!gst) {
- if (PyErr_Occurred())
- {
- PyObject *type, *value, *traceback;
- PyObject *py_orig_exc;
- PyErr_Fetch(&type, &value, &traceback);
- py_orig_exc = PyObject_Repr(value);
- Py_XDECREF(type);
- Py_XDECREF(value);
- Py_XDECREF(traceback);
- PyErr_Format(PyExc_ImportError,
- "could not import gst (error was: %s)",
- PyString_AsString(py_orig_exc));
- Py_DECREF(py_orig_exc);
- } else {
- PyErr_SetString(PyExc_ImportError,
- "could not import gst (no error given)");
- }
- return;
- }
-
-
+ gst = pygst_init();
gst_pb_utils_init ();
m = Py_InitModule ("pbutils", pypbutils_functions);
diff --git a/gst/tag.override b/gst/tag.override
index b908d5b..3daf564 100644
--- a/gst/tag.override
+++ b/gst/tag.override
@@ -25,7 +25,7 @@ headers
#endif
#define NO_IMPORT_PYGOBJECT
-#include "common.h"
+#include "pygst.h"
#include <gst/gst.h>
diff --git a/gst/tagmodule.c b/gst/tagmodule.c
index 91d4e3a..aeb9b6d 100644
--- a/gst/tagmodule.c
+++ b/gst/tagmodule.c
@@ -26,6 +26,7 @@
#include <pygobject.h>
#include <gst/gst.h>
#include <gst/tag/tag.h>
+#include "pygst.h"
void pytag_register_classes (PyObject *d);
void pytag_add_constants(PyObject *module, const gchar *strip_prefix);
@@ -40,6 +41,7 @@ inittag (void)
PyObject *m, *d;
init_pygobject ();
+ pygst_init ();
/* Initialize tag library */
gst_tag_register_musicbrainz_tags ();
diff --git a/gst/video.override b/gst/video.override
index fd1a92c..ce4b201 100644
--- a/gst/video.override
+++ b/gst/video.override
@@ -25,7 +25,7 @@ headers
#endif
#define NO_IMPORT_PYGOBJECT
-#include "common.h"
+#include "pygst.h"
#include <gst/gst.h>
diff --git a/gst/videomodule.c b/gst/videomodule.c
index fd01a31..fb55feb 100644
--- a/gst/videomodule.c
+++ b/gst/videomodule.c
@@ -28,6 +28,7 @@
#include <gst/video/video.h>
#include <gst/video/gstvideosink.h>
#include <gst/video/gstvideofilter.h>
+#include "pygst.h"
void pyvideo_register_classes (PyObject *d);
void pyvideo_add_constants(PyObject *module, const gchar *strip_prefix);
@@ -39,9 +40,10 @@ GST_DEBUG_CATEGORY (pygst_debug); /* for python code */
DL_EXPORT(void)
initvideo (void)
{
- PyObject *m, *d;
+ PyObject *m, *d, *gst;
init_pygobject ();
+ gst = pygst_init ();
m = Py_InitModule ("video", pyvideo_functions);
d = PyModule_GetDict (m);