Tim-Philipp Müller [Sat, 3 Mar 2018 22:55:56 +0000 (22:55 +0000)]
Release 1.13.90
Edward Hervey [Fri, 23 Feb 2018 13:40:37 +0000 (14:40 +0100)]
configure.ac: Don't use runtime location of overrides by default
If someone wants to put the overrides in a non-standard location,
they can use the --with-pygi-overrides-dir option.
The default is to put them in ${pyexecdir}/gi/overrides
Fixes make distcheck
https://bugzilla.gnome.org/show_bug.cgi?id=793756
Nicolas Dufresne [Sun, 18 Feb 2018 15:00:48 +0000 (10:00 -0500)]
makefiles: Add missing dist files
https://bugzilla.gnome.org/show_bug.cgi?id=793560
Thibault Saunier [Thu, 22 Feb 2018 11:05:24 +0000 (08:05 -0300)]
bitmask: Do not use long() directly with python3
It doesn't exist anymore there
Thibault Saunier [Mon, 25 Sep 2017 00:43:49 +0000 (21:43 -0300)]
gi: Check Gst has not been initialized before loading bindings
It can have been initialized by some C code (in a C app with plugins
for example).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=788088
Sebastian Dröge [Thu, 22 Feb 2018 09:58:48 +0000 (10:58 +0100)]
Allow Bitmask to be created from ints and longs but always store as long
We need a 64 bit integer, and previously the test failed because it was
already created from longs in various cases (e.g. when reading from a
GstStructure).
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:33 +0000 (19:44 +0000)]
Back to development
Mathieu Duponchelle [Thu, 15 Feb 2018 19:08:38 +0000 (20:08 +0100)]
overrides: accept Gst.Structure in Caps.__new__
Also rename misleading parameter (*kwargs -> *args)
https://bugzilla.gnome.org/show_bug.cgi?id=793493
Tim-Philipp Müller [Thu, 15 Feb 2018 17:24:36 +0000 (17:24 +0000)]
Release 1.13.1
Sebastian Dröge [Wed, 14 Feb 2018 08:13:36 +0000 (10:13 +0200)]
Print Python version after initialization
Sebastian Dröge [Wed, 14 Feb 2018 08:10:39 +0000 (10:10 +0200)]
pluginloader: Print Python library path that is tried to be loaded
Sebastian Dröge [Tue, 23 Jan 2018 17:32:18 +0000 (19:32 +0200)]
Ship meson build system in autotools generated tarballs
Thibault Saunier [Tue, 1 Aug 2017 13:57:57 +0000 (09:57 -0400)]
meson: Fix detection of overrides path in some cases
Thibault Saunier [Sun, 30 Jul 2017 03:05:22 +0000 (23:05 -0400)]
plugin: Always initialize GIL state
gcc warns about possibly unintialized use of it
(even if it can't actually happen)
Thibault Saunier [Tue, 25 Jul 2017 20:18:26 +0000 (16:18 -0400)]
Fix simply running testsuite in meson
- Make sure to never have root folder in sys.path when running meson,
as pythondetector won't be able to access gi._overridesdir
- Generate a mesonconfig.py file that will be used by the testsuite to
know where meson generated files, making `python -m unittest` working.
Thibault Saunier [Tue, 25 Jul 2017 20:17:54 +0000 (16:17 -0400)]
Add support for Gst.Bitmask
Thibault Saunier [Tue, 25 Jul 2017 18:35:01 +0000 (14:35 -0400)]
tests: Stop using deprecated assertion methods
Thibault Saunier [Tue, 25 Jul 2017 18:29:19 +0000 (14:29 -0400)]
tests: Move all Fundamental types tests in a file
No reason to have one file per type and it makes it more complicated
to handle.
Thibault Saunier [Tue, 25 Jul 2017 17:00:08 +0000 (13:00 -0400)]
structure: Add a .keys() method and implement __str__
We are making it behave like a dict, so we should provide the
same kind of utilities.
Thibault Saunier [Mon, 24 Jul 2017 21:06:06 +0000 (17:06 -0400)]
Return a Gst.*Range instead of a python range converting from GValue to python
Otherwise we lose the information about what type of range it is, which
is mandatory, especially when dealing with Structure and Caps.
Thibault Saunier [Mon, 24 Jul 2017 16:13:13 +0000 (12:13 -0400)]
structures: Override __new__ to make it more pythonic
Olivier Crête [Sun, 21 May 2017 16:06:25 +0000 (18:06 +0200)]
overrides: Remove IntRange And Int64Range on Python2
They use the range() built-in type which is a Python 3 change.
https://bugzilla.gnome.org/show_bug.cgi?id=782927
Olivier Crête [Sun, 21 May 2017 11:16:02 +0000 (13:16 +0200)]
pythonplugin: Rename plugin file to match plugin name
This is required by the new loader macro.
Sebastian Dröge [Thu, 4 May 2017 16:00:37 +0000 (19:00 +0300)]
Back to development
Sebastian Dröge [Thu, 4 May 2017 12:40:29 +0000 (15:40 +0300)]
Release 1.12.0
Sebastian Dröge [Thu, 27 Apr 2017 14:37:36 +0000 (17:37 +0300)]
Release 1.11.91
Sebastian Dröge [Fri, 7 Apr 2017 13:35:42 +0000 (16:35 +0300)]
Release 1.11.90
Nicolas Dufresne [Mon, 27 Mar 2017 18:59:24 +0000 (14:59 -0400)]
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.
Nicolas Dufresne [Mon, 27 Mar 2017 18:52:24 +0000 (14:52 -0400)]
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.
Nicolas Dufresne [Fri, 24 Mar 2017 17:28:35 +0000 (13:28 -0400)]
Add /build and install to the gitignore
Nicolas Dufresne [Thu, 23 Mar 2017 16:21:32 +0000 (12:21 -0400)]
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
Thibault Saunier [Thu, 23 Mar 2017 15:09:05 +0000 (12:09 -0300)]
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
Sebastian Dröge [Fri, 24 Feb 2017 14:01:39 +0000 (16:01 +0200)]
meson: Update version
Sebastian Dröge [Fri, 24 Feb 2017 13:38:09 +0000 (15:38 +0200)]
Back to development
Sebastian Dröge [Fri, 24 Feb 2017 13:09:54 +0000 (15:09 +0200)]
Release 1.11.2
Sebastian Dröge [Fri, 24 Feb 2017 10:08:48 +0000 (12:08 +0200)]
Back to development
Jan Schmidt [Tue, 21 Feb 2017 11:02:14 +0000 (22:02 +1100)]
Port old helloworld.py example to GI
Thibault Saunier [Wed, 15 Feb 2017 13:48:58 +0000 (10:48 -0300)]
python: Add an option to set where to install pygi overrides
Tim-Philipp Müller [Fri, 13 Jan 2017 12:51:11 +0000 (12:51 +0000)]
meson: bump version and bump meson requirement
Adjust meson requirement to same as used in other modules.
Sebastian Dröge [Thu, 12 Jan 2017 14:15:50 +0000 (16:15 +0200)]
Release 1.11.1
Tim-Philipp Müller [Fri, 16 Dec 2016 17:43:11 +0000 (17:43 +0000)]
Remove bitrotten and unused gst-python.spec.in file
Tim-Philipp Müller [Sat, 26 Nov 2016 11:28:30 +0000 (11:28 +0000)]
common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
Thibault Saunier [Thu, 3 Nov 2016 14:49:15 +0000 (11:49 -0300)]
Play nicely with gst-build uninstalled
As overrides_hack is being used as user sitecustomize script
Thibault Saunier [Thu, 3 Nov 2016 11:36:23 +0000 (08:36 -0300)]
meson: Add testsuite
Tim-Philipp Müller [Tue, 1 Nov 2016 18:12:33 +0000 (18:12 +0000)]
meson: update version
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development
Sebastian Dröge [Tue, 1 Nov 2016 16:06:58 +0000 (18:06 +0200)]
Release 1.10.0
Thibault Saunier [Wed, 19 Oct 2016 17:47:01 +0000 (14:47 -0300)]
meson: use the version keyword argument for dependencies version
Marianna Smidth Buschle [Mon, 17 Oct 2016 07:37:30 +0000 (09:37 +0200)]
examples: Added identity example
Created a simple BaseTransform element (identity)
https://bugzilla.gnome.org/show_bug.cgi?id=772853
Thibault Saunier [Fri, 30 Sep 2016 14:35:42 +0000 (11:35 -0300)]
meson: Setup pre-commit hooks when configuring
Sebastian Dröge [Fri, 30 Sep 2016 10:04:26 +0000 (13:04 +0300)]
Release 1.9.90
Sebastian Dröge [Wed, 14 Sep 2016 13:18:17 +0000 (15:18 +0200)]
meson: Add a workaround for finding the Python library on Fedora
Sebastian Dröge [Wed, 14 Sep 2016 09:42:54 +0000 (11:42 +0200)]
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.
Sebastian Dröge [Wed, 14 Sep 2016 09:31:32 +0000 (11:31 +0200)]
configure: Depend on gstreamer 1.9.2.1
Thibault Saunier [Tue, 13 Sep 2016 18:17:41 +0000 (15:17 -0300)]
meson: Search python shared lib in lib64/ if it is a directory
Thibault Saunier [Mon, 5 Sep 2016 15:52:46 +0000 (12:52 -0300)]
build: Remove unused variables
Thibault Saunier [Mon, 5 Sep 2016 14:30:43 +0000 (11:30 -0300)]
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
Sebastian Dröge [Thu, 1 Sep 2016 09:31:53 +0000 (12:31 +0300)]
Back to development
Sebastian Dröge [Thu, 1 Sep 2016 09:31:42 +0000 (12:31 +0300)]
Release 1.9.2
Sebastian Dröge [Wed, 6 Jul 2016 10:54:19 +0000 (13:54 +0300)]
Back to development
Sebastian Dröge [Wed, 6 Jul 2016 10:38:12 +0000 (13:38 +0300)]
Release 1.9.1
Sebastian Dröge [Thu, 24 Mar 2016 11:34:28 +0000 (13:34 +0200)]
Back to development
Sebastian Dröge [Thu, 24 Mar 2016 11:03:02 +0000 (13:03 +0200)]
Release 1.8.0
Sebastian Dröge [Tue, 15 Mar 2016 10:34:35 +0000 (12:34 +0200)]
Release 1.7.91
Sebastian Dröge [Tue, 1 Mar 2016 16:53:59 +0000 (18:53 +0200)]
Release 1.7.90
Hanno Boeck [Sat, 27 Feb 2016 11:16:00 +0000 (11:16 +0000)]
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
Tim-Philipp Müller [Sun, 21 Feb 2016 10:46:24 +0000 (10:46 +0000)]
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.
Thibault Saunier [Fri, 19 Feb 2016 16:13:57 +0000 (17:13 +0100)]
Fix bug when checking template object type
Sebastian Dröge [Fri, 19 Feb 2016 10:38:49 +0000 (12:38 +0200)]
Back to development
Sebastian Dröge [Fri, 19 Feb 2016 10:16:05 +0000 (12:16 +0200)]
Release 1.7.2
Thibault Saunier [Mon, 15 Feb 2016 22:26:06 +0000 (23:26 +0100)]
gst: Fix a crash when passing wrong type as __templates__
Thibault Saunier [Mon, 8 Feb 2016 10:30:08 +0000 (11:30 +0100)]
Avoid warning about gi.require_version not being called
Sebastian Dröge [Thu, 24 Dec 2015 14:30:00 +0000 (15:30 +0100)]
Back to development
Sebastian Dröge [Thu, 24 Dec 2015 14:00:41 +0000 (15:00 +0100)]
Release 1.7.1
Sebastian Dröge [Mon, 14 Dec 2015 12:03:24 +0000 (13:03 +0100)]
python: Check return value of g_module_symbol()
CID 1320702
Sebastian Dröge [Mon, 14 Dec 2015 12:01:25 +0000 (13:01 +0100)]
python: Don't call Py_DECREF() on NULL
CID 1320703
Sebastian Dröge [Mon, 16 Nov 2015 08:12:37 +0000 (10:12 +0200)]
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.
Mark Nauwelaerts [Sun, 8 Nov 2015 10:56:28 +0000 (11:56 +0100)]
overrides: also provide wrapper for trace level debug logging
Mark Nauwelaerts [Sun, 8 Nov 2015 10:56:20 +0000 (11:56 +0100)]
overrides: fix a few typos in exception messages
Thibault Saunier [Tue, 27 Oct 2015 21:19:19 +0000 (22:19 +0100)]
examples: Port the sink example to GstBaseSink
Also we now need to explicitly call Gst.init() from python bindings.
Mark Nauwelaerts [Sun, 25 Oct 2015 20:33:46 +0000 (21:33 +0100)]
overrides: chain up to base __init__ in Pad override
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=757108
Thibault Saunier [Fri, 25 Sep 2015 10:03:45 +0000 (12:03 +0200)]
Back to development
Thibault Saunier [Fri, 25 Sep 2015 10:01:24 +0000 (12:01 +0200)]
Release 1.6.0
Thibault Saunier [Wed, 24 Jun 2015 15:44:44 +0000 (17:44 +0200)]
Back to development
Thibault Saunier [Wed, 24 Jun 2015 15:44:30 +0000 (17:44 +0200)]
Release 1.5.2
Thibault Saunier [Fri, 24 Apr 2015 08:35:14 +0000 (10:35 +0200)]
tests: Fix tests in python2
Python2 core checks that the first argument of a method is of the type
of the object if it does not have any info about the method, so when
using Gst not initialized it raiser a TypeError and not a
Gst.NotInitialized as expected.
+ And fix a typo
Thibault Saunier [Fri, 24 Apr 2015 07:37:24 +0000 (09:37 +0200)]
tests: Add test_fraction back in the testsuite
Properly porting it and adding a small test about getting fraction
from a Gst.Structure
Thibault Saunier [Fri, 24 Apr 2015 08:27:47 +0000 (10:27 +0200)]
overrides: Do not use inspect.signature as it is not avalaible in python2
Fix regression from https://bugzilla.gnome.org/show_bug.cgi?id=746329
Thibault Saunier [Wed, 15 Apr 2015 17:57:43 +0000 (19:57 +0200)]
test: Bring back the testsuite and test if the initialization override works
Summary:
Simplify the Makefile taking example on pitivi and copy several pitivi
testing files, simplifying them a bit for our use case
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D97
Thibault Saunier [Wed, 15 Apr 2015 17:55:16 +0000 (19:55 +0200)]
overrides: Disable all GStreamer APIs until Gst has been initialized
Summary:
And throw an exception if the user tries to call any Gst API without
initializing gst.
https://bugzilla.gnome.org/show_bug.cgi?id=747555
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D87
Sebastian Dröge [Wed, 22 Apr 2015 08:40:48 +0000 (10:40 +0200)]
Remove INSTALL file
autotools automatically generate this, and when using different versions
for autogen.sh there will always be changes to a file tracked by git.
Thibault Saunier [Wed, 18 Mar 2015 12:53:55 +0000 (13:53 +0100)]
overrides: Try hard to make the query writable in the pad query function
Summary:
We know that the bindings will get an extra ref but we know that
it is not actually needed, so we are safe to decrease the refcount
by one in that particular context making sure we give PyGI its
ref back when we are done.
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D41
https://bugzilla.gnome.org/show_bug.cgi?id=746329
Thibault Saunier [Fri, 6 Mar 2015 18:25:57 +0000 (19:25 +0100)]
plugin: Name differently between python2 and python3
Those are 2 different binaries and thus should have different
.so names. Just use the $PYTHON_SO for that to happen.
https://bugzilla.gnome.org/show_bug.cgi?id=738157
Thibault Saunier [Mon, 20 Oct 2014 11:40:05 +0000 (13:40 +0200)]
Back to development
Thibault Saunier [Mon, 20 Oct 2014 09:24:58 +0000 (11:24 +0200)]
Release 1.4.0
Sebastian Dröge [Sun, 19 Oct 2014 11:34:59 +0000 (13:34 +0200)]
pythonplugin: Fix compiler warning about unused format string argument
CC libgstpythonplugin_la-gstpythonplugin.lo
gstpythonplugin.c:192:65: warning: data argument not used by format string
[-Wformat-extra-args]
GST_DEBUG ("GST_PLUGIN_SYSTEM_PATH set to %s", plugin_path, plugin_path);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
Thibault Saunier [Wed, 24 Sep 2014 09:13:45 +0000 (11:13 +0200)]
Release 1.3.90
Rico Tzschichholz [Tue, 10 Jun 2014 14:04:15 +0000 (16:04 +0200)]
plugin: Do not version the plugin library
Thibault Saunier [Thu, 5 Jun 2014 17:54:13 +0000 (19:54 +0200)]
Move old example to a dedicated folder so user know it is no up to date
Thibault Saunier [Fri, 6 Jun 2014 08:30:07 +0000 (10:30 +0200)]
Add an example sink element and override the chain and event functions of pads
Otherwize we will get 2 time acces to the element in it, which does
not make much sense. The _full variant can still be used.