diff options
author | Edward Hervey <bilboed@bilboed.com> | 2009-04-17 18:51:40 +0200 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2009-04-17 18:51:40 +0200 |
commit | a41177e510c20ce8f9c422675f9eae63b4a9bc78 (patch) | |
tree | 5286520f932b9024111d20f585a2552c60de4dec | |
parent | e9d2003af5ebcbd9bea9acecbcfa0950e23af378 (diff) |
Wrap new API added in gstreamer-0.10.23. Partially fixes #578848
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | gst/Makefile.am | 1 | ||||
-rw-r--r-- | gst/base.defs | 9 | ||||
-rw-r--r-- | gst/gst-0.10.23.ignore | 20 | ||||
-rw-r--r-- | gst/gst-extrafuncs.defs | 34 | ||||
-rw-r--r-- | gst/gst-types.defs | 29 | ||||
-rw-r--r-- | gst/gst.defs | 79 | ||||
-rw-r--r-- | gst/gst.override | 28 | ||||
-rw-r--r-- | gst/gstmodule.c | 366 | ||||
-rw-r--r-- | gst/gstversion.override.in | 1 | ||||
-rw-r--r-- | gst/libs.defs | 8 |
11 files changed, 402 insertions, 182 deletions
diff --git a/configure.ac b/configure.ac index 0176cfa..c3e0583 100644 --- a/configure.ac +++ b/configure.ac @@ -160,6 +160,13 @@ then IGNORE_GST_0_10_22="" fi + if test $GST_MINOR_VERSION -lt "23" + then + IGNORE_GST_0_10_23="gst-0.10.23.ignore" + else + IGNORE_GST_0_10_23="" + fi + dnl plugins base if test $GST_PB_MINOR_VERSION -lt "14" then @@ -199,6 +206,7 @@ else IGNORE_GST_0_10_20="" IGNORE_GST_0_10_21="" IGNORE_GST_0_10_22="" + IGNORE_GST_0_10_23="" IGNORE_GST_PB_0_10_14="" IGNORE_GST_PB_0_10_16="" IGNORE_GST_PB_0_10_18="" @@ -216,6 +224,7 @@ AC_SUBST(IGNORE_GST_0_10_18) AC_SUBST(IGNORE_GST_0_10_20) AC_SUBST(IGNORE_GST_0_10_21) AC_SUBST(IGNORE_GST_0_10_22) +AC_SUBST(IGNORE_GST_0_10_23) AC_SUBST(IGNORE_GST_PB_0_10_14) AC_SUBST(IGNORE_GST_PB_0_10_16) AC_SUBST(IGNORE_GST_PB_0_10_18) diff --git a/gst/Makefile.am b/gst/Makefile.am index 4d1c288..3bf5176 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -33,6 +33,7 @@ versioned_overrides = \ gst-0.10.20.ignore \ gst-0.10.21.ignore \ gst-0.10.22.ignore \ + gst-0.10.23.ignore \ gst-pb-0.10.14.ignore \ gst-pb-0.10.16.ignore \ gst-pb-0.10.18.ignore \ diff --git a/gst/base.defs b/gst/base.defs index 6d1f161..108d4d3 100644 --- a/gst/base.defs +++ b/gst/base.defs @@ -974,6 +974,15 @@ ) ) +(define-function type_find_helper_for_extension + (c-name "gst_type_find_helper_for_extension") + (return-type "GstCaps*") + (parameters + '("GstObject*" "obj") + '("const-gchar*" "extension") + ) +) + ;; From gstdataqueue.h (define-function gst_data_queue_get_type diff --git a/gst/gst-0.10.23.ignore b/gst/gst-0.10.23.ignore new file mode 100644 index 0000000..7c7cdb2 --- /dev/null +++ b/gst/gst-0.10.23.ignore @@ -0,0 +1,20 @@ +%% +ignore + gst_debug_construct_win_color + gst_message_new_request_state + gst_message_parse_request_state + gst_util_array_binary_search + gst_poll_new_timer + gst_poll_write_control + gst_poll_read_control + gst_tag_list_get_buffer + gst_tag_list_get_buffer_index + gst_fixme + gst_memdump + gst_object_fixme + gst_object_memdump + gst_type_find_helper_for_extension +%% +ignore-type + GstSearchMode +%% diff --git a/gst/gst-extrafuncs.defs b/gst/gst-extrafuncs.defs index ce1b6d9..6826627 100644 --- a/gst/gst-extrafuncs.defs +++ b/gst/gst-extrafuncs.defs @@ -67,6 +67,22 @@ ) ) +(define-function fixme + (c-name "gst_fixme") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-function memdump + (c-name "gst_memdump") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + ;; OBJECT DEBUGGING FUNCTIONS FROM PYTHON ;; The c functions don't actually exist @@ -114,3 +130,21 @@ '("gchar *" "msg") ) ) + +(define-method fixme + (of-object "GstObject") + (c-name "gst_object_fixme") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) + +(define-method memdump + (of-object "GstObject") + (c-name "gst_object_memdump") + (return-type "none") + (parameters + '("gchar *" "msg") + ) +) diff --git a/gst/gst-types.defs b/gst/gst-types.defs index 01ff7a4..c7c49c6 100644 --- a/gst/gst-types.defs +++ b/gst/gst-types.defs @@ -349,6 +349,9 @@ '("in-caps" "GST_BUFFER_FLAG_IN_CAPS") '("gap" "GST_BUFFER_FLAG_GAP") '("delta-unit" "GST_BUFFER_FLAG_DELTA_UNIT") + '("media1" "GST_BUFFER_FLAG_MEDIA1") + '("media2" "GST_BUFFER_FLAG_MEDIA2") + '("media3" "GST_BUFFER_FLAG_MEDIA3") '("last" "GST_BUFFER_FLAG_LAST") ) ) @@ -459,6 +462,18 @@ ) ) +(define-flags ParamFlags + (in-module "Gst") + (c-name "GstParamFlags") + (values + '("controllable" "GST_PARAM_CONTROLLABLE") + '("mutable-ready" "GST_PARAM_MUTABLE_READY") + '("mutable-paused" "GST_PARAM_MUTABLE_PAUSED") + '("mutable-playing" "GST_PARAM_MUTABLE_PLAYING") + '("user-shift" "GST_PARAM_USER_SHIFT") + ) +) + (define-enum CoreError (in-module "Gst") (c-name "GstCoreError") @@ -697,6 +712,8 @@ '("info" "GST_LEVEL_INFO") '("debug" "GST_LEVEL_DEBUG") '("log" "GST_LEVEL_LOG") + '("fixme" "GST_LEVEL_FIXME") + '("memdump" "GST_LEVEL_MEMDUMP") '("count" "GST_LEVEL_COUNT") ) ) @@ -778,6 +795,7 @@ '("latency" "GST_MESSAGE_LATENCY") '("async-start" "GST_MESSAGE_ASYNC_START") '("async-done" "GST_MESSAGE_ASYNC_DONE") + '("request-state" "GST_MESSAGE_REQUEST_STATE") '("any" "GST_MESSAGE_ANY") ) ) @@ -1115,6 +1133,17 @@ ) ) +(define-enum SearchMode + (in-module "Gst") + (c-name "GstSearchMode") + (gtype-id "GST_TYPE_SEARCH_MODE") + (values + '("exact" "GST_SEARCH_MODE_EXACT") + '("before" "GST_SEARCH_MODE_BEFORE") + '("after" "GST_SEARCH_MODE_AFTER") + ) +) + (define-interface URIHandler (in-module "Gst") (c-name "GstURIHandler") diff --git a/gst/gst.defs b/gst/gst.defs index 00b1383..de0856a 100644 --- a/gst/gst.defs +++ b/gst/gst.defs @@ -2849,6 +2849,14 @@ ) ) +(define-function debug_construct_win_color + (c-name "gst_debug_construct_win_color") + (return-type "gint") + (parameters + '("guint" "colorinfo") + ) +) + (define-function debug_remove_log_function (c-name "gst_debug_remove_log_function") (return-type "guint") @@ -3255,6 +3263,25 @@ ) ) +(define-function message_new_request_state + (c-name "gst_message_new_request_state") + (return-type "GstMessage*") + (caller-owns-return #t) + (parameters + '("GstObject*" "src") + '("GstState" "state") + ) +) + +(define-method parse_request_state + (of-object "GstMessage") + (c-name "gst_message_parse_request_state") + (return-type "none") + (parameters + '("GstState*" "state") + ) +) + (define-function message_new_custom (c-name "gst_message_new_custom") (return-type "GstMessage*") @@ -4414,6 +4441,20 @@ (return-type "GstClockTime") ) +(define-function util_array_binary_search + (c-name "gst_util_array_binary_search") + (return-type "gpointer") + (parameters + '("gpointer" "array") + '("guint" "num_elements") + '("gsize" "element_size") + '("GCompareDataFunc" "search_func") + '("GstSearchMode" "mode") + '("gconstpointer" "search_data") + '("gpointer" "user_data") + ) +) + (define-function pad_load_and_link (c-name "gst_pad_load_and_link") (return-type "none") @@ -4845,6 +4886,12 @@ ) ) +(define-function poll_new_timer + (c-name "gst_poll_new_timer") + (caller-owns-return #t) + (return-type "GstPoll*") +) + (define-method free (of-object "GstPoll") (c-name "gst_poll_free") @@ -4973,6 +5020,18 @@ ) ) +(define-method write_control + (of-object "GstPoll") + (c-name "gst_poll_write_control") + (return-type "gboolean") +) + +(define-method read_control + (of-object "GstPoll") + (c-name "gst_poll_read_control") + (return-type "gboolean") +) + ;; From gstpreset.h (define-function gst_preset_get_type @@ -6738,6 +6797,26 @@ ) ) +(define-method get_buffer + (of-object "GstTagList") + (c-name "gst_tag_list_get_buffer") + (return-type "gboolean") + (parameters + '("const-gchar*" "tag") + '("GstBuffer**" "value") + ) +) + +(define-method get_buffer_index + (of-object "GstTagList") + (c-name "gst_tag_list_get_buffer_index") + (return-type "gboolean") + (parameters + '("const-gchar*" "tag") + '("guint" "index") + '("GstBuffer**" "value") + ) +) ;; From ../gstreamer/gst/gsttaginterface.h diff --git a/gst/gst.override b/gst/gst.override index d4f65a6..c6e5410 100644 --- a/gst/gst.override +++ b/gst/gst.override @@ -802,6 +802,20 @@ _wrap_gst_error (PyObject *whatever, PyObject *string) { return pygst_debug_log (whatever, string, GST_LEVEL_ERROR, FALSE); } +%% +override gst_fixme args +static PyObject * +_wrap_gst_fixme (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_FIXME, FALSE); +} +%% +override gst_memdump args +static PyObject * +_wrap_gst_memdump (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_MEMDUMP, FALSE); +} %% override gst_object_log args @@ -839,6 +853,20 @@ _wrap_gst_object_error (PyObject *whatever, PyObject *string) return pygst_debug_log (whatever, string, GST_LEVEL_ERROR, TRUE); } %% +override gst_object_fixme args +static PyObject * +_wrap_gst_object_fixme (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_FIXME, TRUE); +} +%% +override gst_object_memdump args +static PyObject * +_wrap_gst_object_memdump (PyObject *whatever, PyObject *string) +{ + return pygst_debug_log (whatever, string, GST_LEVEL_MEMDUMP, TRUE); +} +%% override GST_TIME_ARGS kwargs static PyObject * _wrap_GST_TIME_ARGS(PyObject *self, PyObject *args, PyObject *kwargs) diff --git a/gst/gstmodule.c b/gst/gstmodule.c index 49d2f79..b85d0d6 100644 --- a/gst/gstmodule.c +++ b/gst/gstmodule.c @@ -34,14 +34,14 @@ #include <locale.h> -void pygst_register_classes (PyObject *d); -void pygst_add_constants(PyObject *module, const gchar *strip_prefix); -void _pygst_register_boxed_types(PyObject *moddict); - +void pygst_register_classes (PyObject * d); +void pygst_add_constants (PyObject * module, const gchar * strip_prefix); +void _pygst_register_boxed_types (PyObject * moddict); + extern PyMethodDef pygst_functions[]; -GST_DEBUG_CATEGORY (pygst_debug); /* for bindings code */ -GST_DEBUG_CATEGORY (python_debug); /* for python code */ +GST_DEBUG_CATEGORY (pygst_debug); /* for bindings code */ +GST_DEBUG_CATEGORY (python_debug); /* for python code */ /* copied from pygtk to register GType */ #define REGISTER_TYPE(d, type, name) \ @@ -58,200 +58,218 @@ GST_DEBUG_CATEGORY (python_debug); /* for python code */ o=pyg_type_wrapper_new(gtype)); \ Py_DECREF(o); -static PyObject* -pygstminiobject_from_gvalue(const GValue *value) +static PyObject * +pygstminiobject_from_gvalue (const GValue * value) { - GstMiniObject *miniobj; + GstMiniObject *miniobj; - if ((miniobj = gst_value_get_mini_object (value)) == NULL) { - Py_INCREF(Py_None); - return Py_None; - } - return pygstminiobject_new(miniobj); + if ((miniobj = gst_value_get_mini_object (value)) == NULL) { + Py_INCREF (Py_None); + return Py_None; + } + return pygstminiobject_new (miniobj); } static int -pygstminiobject_to_gvalue(GValue *value, PyObject *obj) +pygstminiobject_to_gvalue (GValue * value, PyObject * obj) { - PyGstMiniObject *self = (PyGstMiniObject*) obj; + PyGstMiniObject *self = (PyGstMiniObject *) obj; - gst_value_set_mini_object(value, self->obj); - return 0; + gst_value_set_mini_object (value, self->obj); + return 0; } static void -sink_gstobject(GObject *object) +sink_gstobject (GObject * object) { - if (GST_OBJECT_IS_FLOATING(object)) { - g_object_ref(object); - gst_object_sink(GST_OBJECT(object)); - } + if (GST_OBJECT_IS_FLOATING (object)) { + g_object_ref (object); + gst_object_sink (GST_OBJECT (object)); + } } -DL_EXPORT(void) +DL_EXPORT (void) init_gst (void) { - PyObject *m, *d; - PyObject *av, *tuple; - int argc, i; - guint major, minor, micro, nano; - char **argv; - GError *error = NULL; - - init_pygobject (); - - /* pull in arguments */ - av = PySys_GetObject ("argv"); - if (av != NULL) { - argc = PyList_Size (av); - argv = g_new (char *, argc); - for (i = 0; i < argc; i++) - argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i))); - } else { - /* gst_init_check does not like argc == 0 */ - argc = 1; - argv = g_new (char *, argc); - argv[0] = g_strdup(""); - } - if (!gst_init_check (&argc, &argv, &error)) { - gchar *errstr; - - if (argv != NULL) { - for (i = 0; i < argc; i++) - g_free (argv[i]); - g_free (argv); - } - errstr = g_strdup_printf ("can't initialize module gst: %s", - error ? GST_STR_NULL (error->message) : "no error given"); - PyErr_SetString (PyExc_RuntimeError, errstr); - g_free (errstr); - g_error_free (error); - setlocale(LC_NUMERIC, "C"); - return; - } - - setlocale(LC_NUMERIC, "C"); - if (argv != NULL) { - PySys_SetArgv (argc, argv); - for (i = 0; i < argc; i++) - g_free (argv[i]); - g_free (argv); - } - - /* Initialize debugging category */ - GST_DEBUG_CATEGORY_INIT (pygst_debug, "pygst", 0, "GStreamer python bindings"); - GST_DEBUG_CATEGORY_INIT (python_debug, "python", - GST_DEBUG_FG_GREEN, "python code using gst-python"); - - pygobject_register_sinkfunc(GST_TYPE_OBJECT, sink_gstobject); - - m = Py_InitModule ("_gst", pygst_functions); - d = PyModule_GetDict (m); - - /* gst version */ - gst_version(&major, &minor, µ, &nano); - tuple = Py_BuildValue("(iii)", major, minor, micro); - PyDict_SetItemString(d, "gst_version", tuple); - Py_DECREF(tuple); - - /* gst-python version */ - tuple = Py_BuildValue ("(iii)", PYGST_MAJOR_VERSION, PYGST_MINOR_VERSION, - PYGST_MICRO_VERSION); - PyDict_SetItemString(d, "pygst_version", tuple); - Py_DECREF(tuple); - - /* clock stuff */ - PyModule_AddIntConstant(m, "SECOND", GST_SECOND); - PyModule_AddIntConstant(m, "MSECOND", GST_MSECOND); - PyModule_AddIntConstant(m, "NSECOND", GST_NSECOND); - - PyModule_AddObject(m, "CLOCK_TIME_NONE", PyLong_FromUnsignedLongLong(GST_CLOCK_TIME_NONE)); - PyModule_AddObject(m, "BUFFER_OFFSET_NONE", PyLong_FromUnsignedLongLong(GST_BUFFER_OFFSET_NONE)); - - pygst_exceptions_register_classes (d); - - REGISTER_TYPE(d, PyGstIterator_Type, "Iterator"); - - - pygstminiobject_register_class(d, "GstMiniObject", GST_TYPE_MINI_OBJECT, - &PyGstMiniObject_Type, NULL); - pyg_register_boxed_custom(GST_TYPE_MINI_OBJECT, - pygstminiobject_from_gvalue, - pygstminiobject_to_gvalue); - - pygst_register_classes (d); - pygst_add_constants (m, "GST_"); - - /* make our types available */ - PyModule_AddObject (m, "TYPE_ELEMENT_FACTORY", - pyg_type_wrapper_new(GST_TYPE_ELEMENT_FACTORY)); - PyModule_AddObject (m, "TYPE_INDEX_FACTORY", - pyg_type_wrapper_new(GST_TYPE_INDEX_FACTORY)); - PyModule_AddObject (m, "TYPE_TYPE_FIND_FACTORY", - pyg_type_wrapper_new(GST_TYPE_TYPE_FIND_FACTORY)); - - /* GStreamer core tags */ - PyModule_AddStringConstant (m, "TAG_TITLE", GST_TAG_TITLE); - PyModule_AddStringConstant (m, "TAG_ARTIST", GST_TAG_ARTIST); - PyModule_AddStringConstant (m, "TAG_ALBUM", GST_TAG_ALBUM); - PyModule_AddStringConstant (m, "TAG_DATE", GST_TAG_DATE); - PyModule_AddStringConstant (m, "TAG_GENRE", GST_TAG_GENRE); - PyModule_AddStringConstant (m, "TAG_COMMENT", GST_TAG_COMMENT); - PyModule_AddStringConstant (m, "TAG_TRACK_NUMBER", GST_TAG_TRACK_NUMBER); - PyModule_AddStringConstant (m, "TAG_TRACK_COUNT", GST_TAG_TRACK_COUNT); - PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_NUMBER", GST_TAG_ALBUM_VOLUME_NUMBER); - PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_COUNT", GST_TAG_ALBUM_VOLUME_COUNT); - PyModule_AddStringConstant (m, "TAG_LOCATION", GST_TAG_LOCATION); - PyModule_AddStringConstant (m, "TAG_DESCRIPTION", GST_TAG_DESCRIPTION); - PyModule_AddStringConstant (m, "TAG_VERSION", GST_TAG_VERSION); - PyModule_AddStringConstant (m, "TAG_ISRC", GST_TAG_ISRC); - PyModule_AddStringConstant (m, "TAG_ORGANIZATION", GST_TAG_ORGANIZATION); - PyModule_AddStringConstant (m, "TAG_COPYRIGHT", GST_TAG_COPYRIGHT); - PyModule_AddStringConstant (m, "TAG_CONTACT", GST_TAG_CONTACT); - PyModule_AddStringConstant (m, "TAG_LICENSE", GST_TAG_LICENSE); - PyModule_AddStringConstant (m, "TAG_PERFORMER", GST_TAG_PERFORMER); - PyModule_AddStringConstant (m, "TAG_DURATION", GST_TAG_DURATION); - PyModule_AddStringConstant (m, "TAG_CODEC", GST_TAG_CODEC); - PyModule_AddStringConstant (m, "TAG_VIDEO_CODEC", GST_TAG_VIDEO_CODEC); - PyModule_AddStringConstant (m, "TAG_AUDIO_CODEC", GST_TAG_AUDIO_CODEC); - PyModule_AddStringConstant (m, "TAG_BITRATE", GST_TAG_BITRATE); - PyModule_AddStringConstant (m, "TAG_NOMINAL_BITRATE", GST_TAG_NOMINAL_BITRATE); - PyModule_AddStringConstant (m, "TAG_MINIMUM_BITRATE", GST_TAG_MINIMUM_BITRATE); - PyModule_AddStringConstant (m, "TAG_MAXIMUM_BITRATE", GST_TAG_MAXIMUM_BITRATE); - PyModule_AddStringConstant (m, "TAG_SERIAL", GST_TAG_SERIAL); - PyModule_AddStringConstant (m, "TAG_ENCODER", GST_TAG_ENCODER); - PyModule_AddStringConstant (m, "TAG_ENCODER_VERSION", GST_TAG_ENCODER_VERSION); - PyModule_AddStringConstant (m, "TAG_TRACK_GAIN", GST_TAG_TRACK_GAIN); - PyModule_AddStringConstant (m, "TAG_TRACK_PEAK", GST_TAG_TRACK_PEAK); - PyModule_AddStringConstant (m, "TAG_ALBUM_GAIN", GST_TAG_ALBUM_GAIN); - PyModule_AddStringConstant (m, "TAG_ALBUM_PEAK", GST_TAG_ALBUM_PEAK); - PyModule_AddStringConstant (m, "TAG_LANGUAGE_CODE", GST_TAG_LANGUAGE_CODE); + PyObject *m, *d; + PyObject *av, *tuple; + int argc, i; + guint major, minor, micro, nano; + char **argv; + GError *error = NULL; + + init_pygobject (); + + /* pull in arguments */ + av = PySys_GetObject ("argv"); + if (av != NULL) { + argc = PyList_Size (av); + argv = g_new (char *, argc); + for (i = 0; i < argc; i++) + argv[i] = g_strdup (PyString_AsString (PyList_GetItem (av, i))); + } else { + /* gst_init_check does not like argc == 0 */ + argc = 1; + argv = g_new (char *, argc); + argv[0] = g_strdup (""); + } + if (!gst_init_check (&argc, &argv, &error)) { + gchar *errstr; + + if (argv != NULL) { + for (i = 0; i < argc; i++) + g_free (argv[i]); + g_free (argv); + } + errstr = g_strdup_printf ("can't initialize module gst: %s", + error ? GST_STR_NULL (error->message) : "no error given"); + PyErr_SetString (PyExc_RuntimeError, errstr); + g_free (errstr); + g_error_free (error); + setlocale (LC_NUMERIC, "C"); + return; + } + + setlocale (LC_NUMERIC, "C"); + if (argv != NULL) { + PySys_SetArgv (argc, argv); + for (i = 0; i < argc; i++) + g_free (argv[i]); + g_free (argv); + } + + /* Initialize debugging category */ + GST_DEBUG_CATEGORY_INIT (pygst_debug, "pygst", 0, + "GStreamer python bindings"); + GST_DEBUG_CATEGORY_INIT (python_debug, "python", GST_DEBUG_FG_GREEN, + "python code using gst-python"); + + pygobject_register_sinkfunc (GST_TYPE_OBJECT, sink_gstobject); + + m = Py_InitModule ("_gst", pygst_functions); + d = PyModule_GetDict (m); + + /* gst version */ + gst_version (&major, &minor, µ, &nano); + tuple = Py_BuildValue ("(iii)", major, minor, micro); + PyDict_SetItemString (d, "gst_version", tuple); + Py_DECREF (tuple); + + /* gst-python version */ + tuple = Py_BuildValue ("(iii)", PYGST_MAJOR_VERSION, PYGST_MINOR_VERSION, + PYGST_MICRO_VERSION); + PyDict_SetItemString (d, "pygst_version", tuple); + Py_DECREF (tuple); + + /* clock stuff */ + PyModule_AddIntConstant (m, "SECOND", GST_SECOND); + PyModule_AddIntConstant (m, "MSECOND", GST_MSECOND); + PyModule_AddIntConstant (m, "NSECOND", GST_NSECOND); + + PyModule_AddObject (m, "CLOCK_TIME_NONE", + PyLong_FromUnsignedLongLong (GST_CLOCK_TIME_NONE)); + PyModule_AddObject (m, "BUFFER_OFFSET_NONE", + PyLong_FromUnsignedLongLong (GST_BUFFER_OFFSET_NONE)); + + pygst_exceptions_register_classes (d); + + REGISTER_TYPE (d, PyGstIterator_Type, "Iterator"); + + + pygstminiobject_register_class (d, "GstMiniObject", GST_TYPE_MINI_OBJECT, + &PyGstMiniObject_Type, NULL); + pyg_register_boxed_custom (GST_TYPE_MINI_OBJECT, + pygstminiobject_from_gvalue, pygstminiobject_to_gvalue); + + pygst_register_classes (d); + pygst_add_constants (m, "GST_"); + + /* make our types available */ + PyModule_AddObject (m, "TYPE_ELEMENT_FACTORY", + pyg_type_wrapper_new (GST_TYPE_ELEMENT_FACTORY)); + PyModule_AddObject (m, "TYPE_INDEX_FACTORY", + pyg_type_wrapper_new (GST_TYPE_INDEX_FACTORY)); + PyModule_AddObject (m, "TYPE_TYPE_FIND_FACTORY", + pyg_type_wrapper_new (GST_TYPE_TYPE_FIND_FACTORY)); + + /* GStreamer core tags */ + PyModule_AddStringConstant (m, "TAG_TITLE", GST_TAG_TITLE); + PyModule_AddStringConstant (m, "TAG_ARTIST", GST_TAG_ARTIST); + PyModule_AddStringConstant (m, "TAG_ALBUM", GST_TAG_ALBUM); + PyModule_AddStringConstant (m, "TAG_DATE", GST_TAG_DATE); + PyModule_AddStringConstant (m, "TAG_GENRE", GST_TAG_GENRE); + PyModule_AddStringConstant (m, "TAG_COMMENT", GST_TAG_COMMENT); + PyModule_AddStringConstant (m, "TAG_TRACK_NUMBER", GST_TAG_TRACK_NUMBER); + PyModule_AddStringConstant (m, "TAG_TRACK_COUNT", GST_TAG_TRACK_COUNT); + PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_NUMBER", + GST_TAG_ALBUM_VOLUME_NUMBER); + PyModule_AddStringConstant (m, "TAG_ALBUM_VOLUME_COUNT", + GST_TAG_ALBUM_VOLUME_COUNT); + PyModule_AddStringConstant (m, "TAG_LOCATION", GST_TAG_LOCATION); + PyModule_AddStringConstant (m, "TAG_DESCRIPTION", GST_TAG_DESCRIPTION); + PyModule_AddStringConstant (m, "TAG_VERSION", GST_TAG_VERSION); + PyModule_AddStringConstant (m, "TAG_ISRC", GST_TAG_ISRC); + PyModule_AddStringConstant (m, "TAG_ORGANIZATION", GST_TAG_ORGANIZATION); + PyModule_AddStringConstant (m, "TAG_COPYRIGHT", GST_TAG_COPYRIGHT); + PyModule_AddStringConstant (m, "TAG_CONTACT", GST_TAG_CONTACT); + PyModule_AddStringConstant (m, "TAG_LICENSE", GST_TAG_LICENSE); + PyModule_AddStringConstant (m, "TAG_PERFORMER", GST_TAG_PERFORMER); + PyModule_AddStringConstant (m, "TAG_DURATION", GST_TAG_DURATION); + PyModule_AddStringConstant (m, "TAG_CODEC", GST_TAG_CODEC); + PyModule_AddStringConstant (m, "TAG_VIDEO_CODEC", GST_TAG_VIDEO_CODEC); + PyModule_AddStringConstant (m, "TAG_AUDIO_CODEC", GST_TAG_AUDIO_CODEC); + PyModule_AddStringConstant (m, "TAG_BITRATE", GST_TAG_BITRATE); + PyModule_AddStringConstant (m, "TAG_NOMINAL_BITRATE", + GST_TAG_NOMINAL_BITRATE); + PyModule_AddStringConstant (m, "TAG_MINIMUM_BITRATE", + GST_TAG_MINIMUM_BITRATE); + PyModule_AddStringConstant (m, "TAG_MAXIMUM_BITRATE", + GST_TAG_MAXIMUM_BITRATE); + PyModule_AddStringConstant (m, "TAG_SERIAL", GST_TAG_SERIAL); + PyModule_AddStringConstant (m, "TAG_ENCODER", GST_TAG_ENCODER); + PyModule_AddStringConstant (m, "TAG_ENCODER_VERSION", + GST_TAG_ENCODER_VERSION); + PyModule_AddStringConstant (m, "TAG_TRACK_GAIN", GST_TAG_TRACK_GAIN); + PyModule_AddStringConstant (m, "TAG_TRACK_PEAK", GST_TAG_TRACK_PEAK); + PyModule_AddStringConstant (m, "TAG_ALBUM_GAIN", GST_TAG_ALBUM_GAIN); + PyModule_AddStringConstant (m, "TAG_ALBUM_PEAK", GST_TAG_ALBUM_PEAK); + PyModule_AddStringConstant (m, "TAG_LANGUAGE_CODE", GST_TAG_LANGUAGE_CODE); #if (GST_VERSION_MAJOR == 0 && GST_VERSION_MINOR == 10 && \ ((GST_VERSION_MICRO >= 6) || (GST_VERSION_MICRO == 5 && GST_VERSION_NANO > 0))) - PyModule_AddStringConstant (m, "TAG_IMAGE", GST_TAG_IMAGE); + PyModule_AddStringConstant (m, "TAG_IMAGE", GST_TAG_IMAGE); #if ((GST_VERSION_MICRO >= 7) || (GST_VERSION_MICRO == 6 && GST_VERSION_NANO > 0 )) - PyModule_AddStringConstant (m, "TAG_PREVIEW_IMAGE", GST_TAG_PREVIEW_IMAGE); + PyModule_AddStringConstant (m, "TAG_PREVIEW_IMAGE", GST_TAG_PREVIEW_IMAGE); #if ((GST_VERSION_MICRO >= 10) || (GST_VERSION_MICRO == 9 && GST_VERSION_NANO > 0 )) - PyModule_AddStringConstant (m, "TAG_EXTENDED_COMMENT", GST_TAG_EXTENDED_COMMENT); + PyModule_AddStringConstant (m, "TAG_EXTENDED_COMMENT", + GST_TAG_EXTENDED_COMMENT); #if ((GST_VERSION_MICRO >= 14) || (GST_VERSION_MICRO == 13 && GST_VERSION_NANO > 0)) - PyModule_AddStringConstant (m, "TAG_LICENSE_URI", GST_TAG_LICENSE_URI); + PyModule_AddStringConstant (m, "TAG_LICENSE_URI", GST_TAG_LICENSE_URI); #if ((GST_VERSION_MICRO >= 15) || (GST_VERSION_MICRO == 14 && GST_VERSION_NANO > 0)) - PyModule_AddStringConstant (m, "TAG_COMPOSER", GST_TAG_COMPOSER); - PyModule_AddStringConstant (m, "TAG_ARTIST_SORTNAME", GST_TAG_ARTIST_SORTNAME); - PyModule_AddStringConstant (m, "TAG_ALBUM_SORTNAME", GST_TAG_ALBUM_SORTNAME); - PyModule_AddStringConstant (m, "TAG_TITLE_SORTNAME", GST_TAG_TITLE_SORTNAME); + PyModule_AddStringConstant (m, "TAG_COMPOSER", GST_TAG_COMPOSER); + PyModule_AddStringConstant (m, "TAG_ARTIST_SORTNAME", + GST_TAG_ARTIST_SORTNAME); + PyModule_AddStringConstant (m, "TAG_ALBUM_SORTNAME", GST_TAG_ALBUM_SORTNAME); + PyModule_AddStringConstant (m, "TAG_TITLE_SORTNAME", GST_TAG_TITLE_SORTNAME); +#if ((GST_VERSION_MICRO >= 23) || (GST_VERSION_MICRO == 22 && GST_VERSION_NANO > 0)) + PyModule_AddStringConstant (m, "TAG_SUBTITLE_CODEC", GST_TAG_SUBTITLE_CODEC); + PyModule_AddStringConstant (m, "TAG_HOMEPAGE", GST_TAG_HOMEPAGE); +#endif #endif #endif #endif #endif #endif - PyModule_AddStringConstant (m, "LIBRARY_ERROR", (gchar *) g_quark_to_string(GST_LIBRARY_ERROR)); - PyModule_AddStringConstant (m, "RESOURCE_ERROR",(gchar *) g_quark_to_string(GST_RESOURCE_ERROR)); - PyModule_AddStringConstant (m, "CORE_ERROR", (gchar *) g_quark_to_string(GST_CORE_ERROR)); - PyModule_AddStringConstant (m, "STREAM_ERROR", (gchar *) g_quark_to_string(GST_STREAM_ERROR)); + PyModule_AddStringConstant (m, "LIBRARY_ERROR", + (gchar *) g_quark_to_string (GST_LIBRARY_ERROR)); + PyModule_AddStringConstant (m, "RESOURCE_ERROR", + (gchar *) g_quark_to_string (GST_RESOURCE_ERROR)); + PyModule_AddStringConstant (m, "CORE_ERROR", + (gchar *) g_quark_to_string (GST_CORE_ERROR)); + PyModule_AddStringConstant (m, "STREAM_ERROR", + (gchar *) g_quark_to_string (GST_STREAM_ERROR)); - if (PyErr_Occurred ()) { - Py_FatalError ("can't initialize module gst"); - } + if (PyErr_Occurred ()) { + Py_FatalError ("can't initialize module gst"); + } } diff --git a/gst/gstversion.override.in b/gst/gstversion.override.in index 954edb7..1bb9877 100644 --- a/gst/gstversion.override.in +++ b/gst/gstversion.override.in @@ -11,5 +11,6 @@ include @IGNORE_GST_0_10_20@ @IGNORE_GST_0_10_21@ @IGNORE_GST_0_10_22@ +@IGNORE_GST_0_10_23@ @IGNORE_GST_LOADSAVE@ %% diff --git a/gst/libs.defs b/gst/libs.defs index ca41076..17436c9 100644 --- a/gst/libs.defs +++ b/gst/libs.defs @@ -32,14 +32,6 @@ ;; Enumerations and flags ... -(define-flags ParamFlags - (in-module "Gst") - (c-name "GstParamFlags") - (values - '("controllable" "GST_PARAM_CONTROLLABLE") - ) -) - (define-enum InterpolateMode (in-module "Gst") (c-name "GstInterpolateMode") |