Nirbheek Chauhan
b87aaf4d28
python: More functions can be called before gst_init()
...
Configuration of our debugging system is possible before init, and in
fact is necessary too, otherwise the settings won't apply to logging
that happens during init.
For instance, since you cannot register a log function before you call
init in python, there is no way for you to log errors during init to
whatever logging service your app uses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4753 >
2023-06-02 13:25:23 +00:00
Nirbheek Chauhan
62951ed379
python: auto-pep8 whitespace issues in overrides
...
Needed because the next commit edits this file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4753 >
2023-06-02 13:25:23 +00:00
Thibault Saunier
c79574c2d3
python: Do not link GStreamer in the overrides
...
Symbols will already be present thanks to pygobject dlopenning the correct lib
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128 >
2023-05-31 15:17:11 +00:00
Mathieu Duponchelle
2b4dca84dd
gst-python: overrides: provide default to Gst.init()
...
Allows using Gst.init() as without the overrides, can be convenient.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/51
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4692 >
2023-05-25 16:32:44 +00:00
Thibault Saunier
da11e6610e
meson: Use python module to install override files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3929 >
2023-02-16 19:43:11 +00:00
Xavier Claessens
5f0493d33a
meson: Set install_tag on some targets
...
Trying to follow recommendation from Meson documentation:
https://mesonbuild.com/Installing.html#installation-tags
Move tools into 'bin' or 'bin-devel' categories to keep only libs and
plugins in the default 'runtime' category. This simplifies distribution
of GStreamer application skipping parts that are not needed, similarly
to what Cerbero does by hardcoding huge list of files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017 >
2022-09-20 10:08:15 +00:00
Thibault Saunier
fab64c0b3a
python: Add a Gst.init_python function to be called from plugins
...
Plugins know that they will be initialized after Gst was initialized
so they can call the initialization function dedicated for the python
bindings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675 >
2022-07-08 14:37:14 +00:00
Thibault Saunier
37366ff2f4
python: Do not call gst_init when it is already is_initialized
...
GStreamer plugins written in python need to call `Gst.init` to ensure
that GStreamer is initialized so when loading a python plugin, we might
be recursively calling `gst_init` which is not a good idea.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/940
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2675 >
2022-07-08 14:37:14 +00:00
Thibault Saunier
904bb001c5
python: Add support for the GstURIHandlerInterface
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1423 >
2022-03-28 11:25:24 +00:00
Xavier Claessens
0fa7923937
Meson: Set install_tag on some files
...
Meson tries to guess the tag (runtime, devel, etc) for every installed
file, but it cannot guess them all. There is a list at the end of
meson-log.txt of files we need to tag manually.
See https://mesonbuild.com/Installing.html#installation-tags .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934 >
2022-03-14 08:56:54 -04:00
Mathieu Duponchelle
b6ffad41ca
gst-python: gstmodule.c: fix build with 3.11
...
https://docs.python.org/fr/3.10/whatsnew/3.10.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1639 >
2022-03-09 18:13:25 +00:00
Xavier Claessens
3d8372cc50
devenv: Add some missing GStreamer specific env variables
...
This should make "meson devenv" closer to what "gst-env.py" sets.
- GST_VALIDATE_SCENARIOS_PATH
- GST_VALIDATE_APPS_DIR
- GST_OMX_CONFIG_DIR
- GST_ENCODING_TARGET_PATH
- GST_PRESET_PATH
- GST_PLUGIN_SCANNER
- GST_PTP_HELPER
- _GI_OVERRIDES_PATH
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768 >
2022-02-25 20:35:26 +00:00
Mathieu Duponchelle
830d1595b9
VideoInfo, AudioInfo: fix usage with python bindings
...
* Expose an actual constructor from caps
* Error out in overrides for code that was using the "manual
allocation" pattern which only worked by chance. Direct
the script writer to the new_from_caps constructor instead.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/47
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1571 >
2022-01-27 08:36:46 +00:00
Thibault Saunier
f95f63c5af
python: Avoid treating float as int
...
Since python 3.10 implicit conversion to integers using `__int__` as
been completely removed (was deprecated behavior in 3.9) so we need
to cleanly handle it now.
See https://gitlab.gnome.org/GNOME/pitivi/-/issues/2589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1358 >
2021-11-18 00:19:46 +00:00
Thibault Saunier
3729704132
gst: Fix license headers and add SPDX
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/-/issues/57
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1351 >
2021-11-15 22:12:09 -03:00
Thibault Saunier
1babccfe50
python: Fix using overrides when not building PyGObject
...
Since 547570cd79
we do not always build
PyGObject and our development environment is broken when trying to use
GStreamer python when built against system PyGObject with the following
error importing Gst in there:
```
12345678** (gst-plugin-scanner:710617): CRITICAL **: 11:45:02.343: can't find gi.repository.Gst
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/gi/repository/__init__.py", line 23, in <module>
from ..importer import DynamicImporter
File "/usr/lib64/python3.9/site-packages/gi/importer.py", line 33, in <module>
from .overrides import load_overrides
ImportError: cannot import name 'load_overrides' from 'gi.overrides' (/var/home/thiblahute/devel/gstreamer/gstreamer/subprojects/gst-editing-services/bindings/python/gi/overrides/__init__.py)
Factory Details:
```
The approach to fixing it is to implement override `gi` in
`gst-python/gi/` which we add to `PYTHONPATH`) and in there reset the
`gi` module to the right place and we get overrides from paths from
`_GI_OVERRIDES_PATH` we set in `gst-env.py` which points to all the
overrides that will be installed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1155 >
2021-10-15 20:51:41 +00:00
Thibault Saunier
24c6e49874
Move files from gst-python into the "subprojects/gst-python//" subdir
2021-09-24 16:16:05 -03:00