Commit graph

1353 commits

Author SHA1 Message Date
Nicolas Dufresne
d44975a1fe array/list: Make gvalue conversion symmetric
This is needed to support matrix. Otherwise, getting
a matrix would remove the rows envelopess, which would
make the "cast" fails, since it would not know if the
internal rows are ValueArray or ValueList. I think reading,
modifying and setting back the matrix is an important use
case.
2017-03-27 15:02:41 -04:00
Nicolas Dufresne
c6dee2c26b gstmodule: Factor out gst type creation
This reduces a lot the boiler plate all over. At the same
time, use N instead of O when passing PyObject to fix
the objects leaks.
2017-03-27 14:52:24 -04:00
Nicolas Dufresne
7279ae40b6 Add /build and install to the gitignore 2017-03-24 13:28:35 -04:00
Nicolas Dufresne
a4566ffbc8 overrides: Add more GstValue overrides
This patch adds overrides to support IntRange, Int64Range, DoubleRange,
FractionRange, Array and List. For integer ranges, it maps this
to python 'range'. Gst.IntRange() and Gst.Int64Range() are simple cast
to let the underlying code know which GType to use. To set such range in
python you will do:

  structure["range"] = Gst.IntRange(range(0,10,2)))

Same for the 64 bit variant. And when you do:

  r = structure.get_value("range")

A range will be returned directly, without the wrapper. For DoubleRange
and FractionRange, there is no native support in python. So the usage
will be:

  structure["range"] = Gst.DoubleRange(0,10.0)
  structure["range"] =
      Gst.FractionRange(Gst.Fraction(1/30), Gst.Fraction(1/5)

When getting this value, Gst.DoubleRange and Gst.FractionRange class are
returned. They both have start/stop members. The naming was taken from
range type.

For Array and List, both uses the native list type, though they can be
constructed from any python sequence. So again, the class is just like
a cast, to let it pick the right GType and python list are being
returned.

  structure["list"] = Gst.ValueList([1,2,3,4])
  structure["array"] = Gst.ValueArray([1,2,3,4)

Using string and tuple could also work. Since Gst.ValueList/Array are
sequence, you can convert one to the other with:

  list = Gst.ValueList([1,2,3,4])
  array = Gst.ValueArray (list)

https://bugzilla.gnome.org/show_bug.cgi?id=753754
2017-03-24 13:26:21 -04:00
Thibault Saunier
7f78ed2541 meson: Install in gi._overidesdir only if we are installing in right prefix
And make sure python detector did not fail

https://bugzilla.gnome.org/show_bug.cgi?id=780369
2017-03-24 12:38:04 -03:00
Sebastian Dröge
c32670e405 meson: Update version 2017-02-24 16:01:39 +02:00
Sebastian Dröge
4f43877e11 Back to development 2017-02-24 15:38:09 +02:00
Sebastian Dröge
6bc2f3844d Release 1.11.2 2017-02-24 15:09:54 +02:00
Sebastian Dröge
c2fbf423fb Back to development 2017-02-24 12:08:48 +02:00
Jan Schmidt
4731dbc118 Port old helloworld.py example to GI 2017-02-21 22:02:14 +11:00
Thibault Saunier
1acc0ec664 python: Add an option to set where to install pygi overrides 2017-02-15 10:49:12 -03:00
Tim-Philipp Müller
67574b3a75 meson: bump version and bump meson requirement
Adjust meson requirement to same as used in other modules.
2017-01-13 12:51:11 +00:00
Sebastian Dröge
25b98c1ef5 Release 1.11.1 2017-01-12 16:15:50 +02:00
Tim-Philipp Müller
bb59915326 Remove bitrotten and unused gst-python.spec.in file 2016-12-16 17:43:11 +00:00
Tim-Philipp Müller
ad3f55dadd common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
2016-11-26 11:28:41 +00:00
Thibault Saunier
08d0d09fbd Play nicely with gst-build uninstalled
As overrides_hack is being used as user sitecustomize script
2016-11-04 11:40:10 -03:00
Thibault Saunier
490028ba21 meson: Add testsuite 2016-11-04 11:40:10 -03:00
Tim-Philipp Müller
21f8b168d3 meson: update version 2016-11-01 18:12:33 +00:00
Sebastian Dröge
906bb35360 Back to development 2016-11-01 18:53:15 +02:00
Sebastian Dröge
1581310200 Release 1.10.0 2016-11-01 18:06:58 +02:00
Thibault Saunier
d680386ab0 meson: use the version keyword argument for dependencies version 2016-10-19 14:47:07 -03:00
Marianna Smidth Buschle
a9cc3ed6f2 examples: Added identity example
Created a simple BaseTransform element (identity)

https://bugzilla.gnome.org/show_bug.cgi?id=772853
2016-10-17 10:03:13 +02:00
Thibault Saunier
b7a78a37dc meson: Setup pre-commit hooks when configuring 2016-09-30 11:39:21 -03:00
Sebastian Dröge
329c3faf90 Release 1.9.90 2016-09-30 13:04:26 +03:00
Sebastian Dröge
a7eebda2ae meson: Add a workaround for finding the Python library on Fedora 2016-09-14 15:18:17 +02:00
Sebastian Dröge
1b60fedc31 meson: Fix pythondetector on Debian and use sysconfig for getting the ABIFLAGS too
Paths like /usr/lib/python3.5/config-3.5m-x86_64-linux-gnu would not be
detected by the old code, but it's all nicely stored in sysconfig so
let's just use that.
2016-09-14 13:42:49 +02:00
Sebastian Dröge
2f0bd77249 configure: Depend on gstreamer 1.9.2.1 2016-09-14 11:31:32 +02:00
Thibault Saunier
0f98e1ff44 meson: Search python shared lib in lib64/ if it is a directory 2016-09-13 15:17:41 -03:00
Thibault Saunier
b5e834df90 build: Remove unused variables 2016-09-05 12:52:46 -03:00
Thibault Saunier
16f971226d Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
2016-09-05 12:13:03 -03:00
Sebastian Dröge
df995fad7b Back to development 2016-09-01 12:31:53 +03:00
Sebastian Dröge
ffbb6a65f0 Release 1.9.2 2016-09-01 12:31:42 +03:00
Sebastian Dröge
fb9bbd83ff Back to development 2016-07-06 13:54:19 +03:00
Sebastian Dröge
83def05ad5 Release 1.9.1 2016-07-06 13:38:12 +03:00
Sebastian Dröge
be4bf83b9c Back to development 2016-03-24 13:34:28 +02:00
Sebastian Dröge
8bf58f1bb5 Release 1.8.0 2016-03-24 13:03:02 +02:00
Sebastian Dröge
0bf0e6f7e6 Release 1.7.91 2016-03-15 12:34:35 +02:00
Sebastian Dröge
f783017629 Release 1.7.90 2016-03-01 18:53:59 +02:00
Hanno Boeck
58c324e0cc NULL-terminate PyMethodDef array
PyMethodDef arrays are supposed to end with an entry full of NULL/0 values.
This is missing in gst-python in the file gstmodule.c.

This causes out of bounds memory reads which can be seen / tested by compiling
gst-python with address sanitizer (-fsanitize=address in CFLAGS/LDFLAGS).

https://bugzilla.gnome.org/show_bug.cgi?id=762766
2016-02-27 13:52:07 +02:00
Tim-Philipp Müller
b2077dcfab win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-21 10:46:24 +00:00
Thibault Saunier
eb043251ee Fix bug when checking template object type 2016-02-20 21:47:09 +01:00
Sebastian Dröge
96aaedf8b9 Back to development 2016-02-19 12:38:49 +02:00
Sebastian Dröge
53934de37c Release 1.7.2 2016-02-19 12:16:05 +02:00
Thibault Saunier
7b627c499d gst: Fix a crash when passing wrong type as __templates__ 2016-02-15 23:28:47 +01:00
Thibault Saunier
8b94b967a0 Avoid warning about gi.require_version not being called 2016-02-08 11:30:08 +01:00
Sebastian Dröge
1fe791cafa Back to development 2015-12-24 15:30:00 +01:00
Sebastian Dröge
bf67677fb8 Release 1.7.1 2015-12-24 15:00:41 +01:00
Sebastian Dröge
f9eb5b7877 python: Check return value of g_module_symbol()
CID 1320702
2015-12-14 13:03:24 +01:00
Sebastian Dröge
b0e9b79ca8 python: Don't call Py_DECREF() on NULL
CID 1320703
2015-12-14 13:01:25 +01:00
Sebastian Dröge
4097d3df3c pythonplugin: Clean up error handling a bit
Don't g_error() but only g_critical() when things go wrong and return FALSE.
g_error() would kill the application immediately.

Also check if we can actually get gi.repository.Gst before using it.
2015-11-16 10:12:37 +02:00