-
Notifications
You must be signed in to change notification settings - Fork 5
gst-python loader on Windows discovers path but registers 0 Python features #18
Description
On Windows, gstpython.dll is loaded successfully, and the configured Python plugin directory is scanned, but no Python plugin features are registered (0 features).
As a result, custom elements like pyml_streammux / pyml_classifier are not available to gst-inspect-1.0 / gst-launch-1.0, even though the modules are importable from Python.
Environment
OS: Windows 10 (10.0.19044)
Python: 3.10 (conda env)
GStreamer: 1.28.1
gst-python plugin:
gstpython.dll from gstreamer_python wheel
Project: gst-python-ml
Custom plugin directory:
D:\Workspace\gst-python-ml\plugins\python
Reproduction
Set env vars:
Clear registry cache:
Inspect python loader:
Try to inspect a custom element:
Actual Behavior
gst-inspect-1.0 python shows plugin details but reports 0 features.
gst-inspect-1.0 pyml_streammux returns No such element or plugin.
Debug logs show plugin path extraction/scanning reaches D:\Workspace\gst-python-ml\plugins\python, but no features are registered.
Expected Behavior
Python plugin loader should discover and register .py plugins in the configured directory.
gst-inspect-1.0 pyml_streammux / pyml_classifier should succeed.
Additional Notes
Direct Python import works:
python -c "import sys; sys.path.insert(0, r'D:\Workspace\gst-python-ml\plugins\python'); import streammux; print(streammux.gstelementfactory)"
As a workaround, explicitly importing plugin modules and calling Gst.Element.register(...) inside a Python app works, but this does not help gst-launch-1.0.
This suggests a Windows-specific issue in the gst-python loader auto-discovery/import path rather than plugin code syntax itself.
Request
Could you help confirm whether this is a known Windows limitation/regression in gst-python 1.28.x, and whether additional env/configuration is required for reliable .py plugin feature registration on Windows?