mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
Added ignore file for core 0.10.7
Original commit message from CVS: * configure.ac: * gst/Makefile.am: * gst/gst-0.10.7.ignore: * gst/gstversion.override.in: Added ignore file for core 0.10.7 * gst/base.defs: Added gst_adapter_take_buffer * gst/gst-0.10.6.ignore: Filed API addition for 0.10.6 * gst/gst-types.defs: Added GstTypeFind pointer definition * gst/gst.defs: * gst/gst.override: Added fake function gst_type_find_new() to create a GstTypeFind that can be used in all typefinding function. GstTypeFind * gst_type_find_new(data, peekfunction, suggestfunction [, getlenghtfunction])
This commit is contained in:
parent
f92b4c9ef1
commit
01f935c116
11 changed files with 228 additions and 2 deletions
20
ChangeLog
20
ChangeLog
|
@ -1,3 +1,23 @@
|
|||
2006-05-19 Edward Hervey <edward@fluendo.com>
|
||||
|
||||
* configure.ac:
|
||||
* gst/Makefile.am:
|
||||
* gst/gst-0.10.7.ignore:
|
||||
* gst/gstversion.override.in:
|
||||
Added ignore file for core 0.10.7
|
||||
* gst/base.defs:
|
||||
Added gst_adapter_take_buffer
|
||||
* gst/gst-0.10.6.ignore:
|
||||
Filed API addition for 0.10.6
|
||||
* gst/gst-types.defs:
|
||||
Added GstTypeFind pointer definition
|
||||
* gst/gst.defs:
|
||||
* gst/gst.override:
|
||||
Added fake function gst_type_find_new() to create a GstTypeFind that can
|
||||
be used in all typefinding function.
|
||||
GstTypeFind *
|
||||
gst_type_find_new(data, peekfunction, suggestfunction [, getlenghtfunction])
|
||||
|
||||
2006-05-09 Edward Hervey <edward@fluendo.com>
|
||||
|
||||
* configure.ac:
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit e41606ab2c6a31be473de511b5fd776bd2593b56
|
||||
Subproject commit 764c5f25101d20da7f26942c36ba840ba65c63d7
|
|
@ -113,16 +113,25 @@ then
|
|||
else
|
||||
IGNORE_GST_0_10_6=""
|
||||
fi
|
||||
|
||||
if test $GST_MINOR_VERSION -lt "7"
|
||||
then
|
||||
IGNORE_GST_0_10_7="gst-0.10.7.ignore"
|
||||
else
|
||||
IGNORE_GST_0_10_7=""
|
||||
fi
|
||||
else
|
||||
IGNORE_GST_0_10_3=""
|
||||
IGNORE_GST_0_10_4=""
|
||||
IGNORE_GST_0_10_5=""
|
||||
IGNORE_GST_0_10_6=""
|
||||
IGNORE_GST_0_10_7=""
|
||||
fi
|
||||
AC_SUBST(IGNORE_GST_0_10_3)
|
||||
AC_SUBST(IGNORE_GST_0_10_4)
|
||||
AC_SUBST(IGNORE_GST_0_10_5)
|
||||
AC_SUBST(IGNORE_GST_0_10_6)
|
||||
AC_SUBST(IGNORE_GST_0_10_7)
|
||||
|
||||
dnl check for gstreamer-base; uninstalled is selected preferentially
|
||||
PKG_CHECK_MODULES(GST_BASE, gstreamer-base-$GST_MAJORMINOR >= $GST_REQ,
|
||||
|
|
|
@ -26,7 +26,8 @@ versioned_overrides = \
|
|||
gst-0.10.3.ignore \
|
||||
gst-0.10.4.ignore \
|
||||
gst-0.10.5.ignore \
|
||||
gst-0.10.6.ignore
|
||||
gst-0.10.6.ignore \
|
||||
gst-0.10.7.ignore
|
||||
|
||||
INCLUDES = $(PYTHON_INCLUDES)
|
||||
EXTRA_DIST = $(defs_DATA) $(versioned_overrides) common.h arg-types.py
|
||||
|
|
|
@ -105,6 +105,15 @@
|
|||
)
|
||||
)
|
||||
|
||||
(define-method take_buffer
|
||||
(of-object "GstAdapter")
|
||||
(c-name "gst_adapter_take_buffer")
|
||||
(return-type "GstBuffer*")
|
||||
(parameters
|
||||
'("guint" "nbytes")
|
||||
)
|
||||
)
|
||||
|
||||
(define-method available
|
||||
(of-object "GstAdapter")
|
||||
(c-name "gst_adapter_available")
|
||||
|
|
|
@ -3,4 +3,5 @@ ignore
|
|||
gst_event_new_new_segment_full
|
||||
gst_event_parse_new_segment_full
|
||||
gst_segment_set_newsegment_full
|
||||
gst_adapter_take_buffer
|
||||
%%
|
||||
|
|
7
gst/gst-0.10.7.ignore
Normal file
7
gst/gst-0.10.7.ignore
Normal file
|
@ -0,0 +1,7 @@
|
|||
%%
|
||||
ignore
|
||||
gst_type_find_new
|
||||
%%
|
||||
ignore-type
|
||||
GstTypeFind
|
||||
%%
|
|
@ -305,6 +305,14 @@
|
|||
)
|
||||
)
|
||||
|
||||
(define-pointer TypeFind
|
||||
(in-module "Gst")
|
||||
(c-name "GstTypeFind")
|
||||
(gtype-id "GST_TYPE_TYPE_FIND")
|
||||
(fields
|
||||
)
|
||||
)
|
||||
|
||||
;; Enumerations and flags ...
|
||||
|
||||
(define-flags BinFlags
|
||||
|
|
|
@ -6089,6 +6089,11 @@
|
|||
|
||||
;; From ../gstreamer/gst/gsttypefind.h
|
||||
|
||||
(define-function type_find_new
|
||||
(c-name "gst_type_find_new")
|
||||
(return-type "GstTypeFind*")
|
||||
)
|
||||
|
||||
(define-method peek
|
||||
(of-object "GstTypeFind")
|
||||
(c-name "gst_type_find_peek")
|
||||
|
|
165
gst/gst.override
165
gst/gst.override
|
@ -967,3 +967,168 @@ _wrap_gst_type_find_helper_for_buffer (PyObject *self, PyObject *args, PyObject
|
|||
|
||||
return py_ret;
|
||||
}
|
||||
%%
|
||||
override gst_type_find_new kwargs
|
||||
|
||||
static guint8 *
|
||||
gst_type_find_peek_handler (gpointer data, gint64 offset, guint size)
|
||||
{
|
||||
PyGILState_STATE state;
|
||||
guint8 * ret = NULL;
|
||||
PyObject *py_data;
|
||||
PyObject *callback, *args;
|
||||
PyObject *py_ret;
|
||||
|
||||
GST_DEBUG ("mkay");
|
||||
|
||||
g_return_val_if_fail (data != NULL, NULL);
|
||||
py_data = (PyObject *) data;
|
||||
g_assert (PyTuple_Check (py_data));
|
||||
|
||||
state = pyg_gil_state_ensure ();
|
||||
|
||||
/* Figure out the callback and create the arguments */
|
||||
if (!(callback = PyTuple_GetItem(py_data, 1)))
|
||||
goto beach;
|
||||
|
||||
args = Py_BuildValue ("(OLI)",
|
||||
PyTuple_GetItem(py_data, 0),
|
||||
offset, size);
|
||||
if (!args)
|
||||
goto beach;
|
||||
|
||||
/* Call python method */
|
||||
py_ret = PyObject_CallObject (callback, args);
|
||||
|
||||
/* transform return value (a string) */
|
||||
if (!py_ret) {
|
||||
Py_DECREF (args);
|
||||
goto beach;
|
||||
}
|
||||
if (!PyString_Check(py_ret)) {
|
||||
Py_DECREF (py_ret);
|
||||
Py_DECREF (args);
|
||||
goto beach;
|
||||
} else {
|
||||
gchar *str;
|
||||
int len;
|
||||
|
||||
if ((PyString_AsStringAndSize(py_ret, &str, &len)) == -1) {
|
||||
Py_DECREF (py_ret);
|
||||
Py_DECREF (args);
|
||||
goto beach;
|
||||
}
|
||||
GST_DEBUG ("got string of len %d", len);
|
||||
if (len)
|
||||
ret = g_memdup((gconstpointer) str, (guint) len);
|
||||
}
|
||||
Py_DECREF (py_ret);
|
||||
Py_DECREF (args);
|
||||
|
||||
beach:
|
||||
pyg_gil_state_release (state);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
gst_type_find_suggest_handler (gpointer data, guint probability, const GstCaps * caps)
|
||||
{
|
||||
PyGILState_STATE state;
|
||||
PyObject *py_data;
|
||||
PyObject *callback, *args;
|
||||
|
||||
GST_DEBUG ("mkay");
|
||||
|
||||
if (!data)
|
||||
return;
|
||||
py_data = (PyObject *) data;
|
||||
g_assert (PyTuple_Check (py_data));
|
||||
|
||||
state = pyg_gil_state_ensure ();
|
||||
|
||||
/* Figure out the callback and create the arguments */
|
||||
if (!(callback = PyTuple_GetItem(py_data, 2)))
|
||||
goto beach;
|
||||
|
||||
args = Py_BuildValue ("(OIN)",
|
||||
PyTuple_GetItem(py_data, 0),
|
||||
probability, pyg_boxed_new (GST_TYPE_CAPS, (GstCaps*) caps, FALSE, TRUE));
|
||||
if (!args)
|
||||
goto beach;
|
||||
|
||||
/* Call python method */
|
||||
PyObject_CallObject (callback, args);
|
||||
|
||||
Py_DECREF (args);
|
||||
|
||||
beach:
|
||||
pyg_gil_state_release (state);
|
||||
return;
|
||||
}
|
||||
|
||||
static guint64
|
||||
gst_type_find_get_length_handler (gpointer data)
|
||||
{
|
||||
guint64 ret = 0;
|
||||
|
||||
/* Call python method */
|
||||
return ret;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
_wrap_gst_type_find_new (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
static char *kwlist[] = { "data", "peekfunction", "suggestfunction", "getlengthfunction", NULL };
|
||||
PyObject *py_data;
|
||||
gpointer data;
|
||||
PyObject *peekfunction;
|
||||
PyObject *suggestfunction;
|
||||
PyObject *getlengthfunction = NULL;
|
||||
PyObject *pytypefind = NULL;
|
||||
GstTypeFind *typefind = NULL;
|
||||
|
||||
GST_DEBUG ("poeut");
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OOO|O:type_find_new",
|
||||
kwlist, &py_data, &peekfunction,
|
||||
&suggestfunction, &getlengthfunction)) {
|
||||
PyErr_SetString (PyExc_TypeError, "Error parsing values ...");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!PyCallable_Check(peekfunction)) {
|
||||
PyErr_SetString (PyExc_TypeError, "peekfunction is not callable");
|
||||
return NULL;
|
||||
}
|
||||
if (!PyCallable_Check(suggestfunction)) {
|
||||
PyErr_SetString (PyExc_TypeError, "suggestfunction is not callable");
|
||||
return NULL;
|
||||
}
|
||||
if (getlengthfunction && (!PyCallable_Check(suggestfunction))) {
|
||||
PyErr_SetString (PyExc_TypeError, "getlengthfunction is not callable");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Create a python list to put in typefind->data */
|
||||
if (getlengthfunction)
|
||||
data = Py_BuildValue("(OOOO)", py_data, peekfunction, suggestfunction, getlengthfunction);
|
||||
else
|
||||
data = Py_BuildValue("(OOO)", py_data, peekfunction, suggestfunction);
|
||||
|
||||
typefind = g_new0(GstTypeFind, 1);
|
||||
typefind->peek = gst_type_find_peek_handler;
|
||||
typefind->suggest = gst_type_find_suggest_handler;
|
||||
typefind->data = data;
|
||||
if (getlengthfunction)
|
||||
typefind->get_length = gst_type_find_get_length_handler;
|
||||
|
||||
pytypefind = pyg_pointer_new (GST_TYPE_TYPE_FIND, typefind);
|
||||
|
||||
if (!pytypefind) {
|
||||
PyErr_SetString (PyExc_TypeError, "pyg_pointer_new failed");
|
||||
}
|
||||
|
||||
GST_DEBUG ("poeut : %p", pytypefind);
|
||||
|
||||
return pytypefind;
|
||||
}
|
||||
|
|
|
@ -4,4 +4,5 @@ include
|
|||
@IGNORE_GST_0_10_4@
|
||||
@IGNORE_GST_0_10_5@
|
||||
@IGNORE_GST_0_10_6@
|
||||
@IGNORE_GST_0_10_7@
|
||||
%%
|
||||
|
|
Loading…
Reference in a new issue