All notable changes to this project will be documented in this file.
- added script to generate release notes
- added python example to show use of pylonmeta from pyth
- fixes #114
- NVMM image width is in byte not pixels!
- fixes #100
- removing source while active buffers in pipeline
- fixes lifetime issue between buffers in pipeline and src
- fixes #54
- Proper init/terminate of pylon sdk from gst-plugin-scanner
- avoids output of an exception message after new install
- Removed unused pylonc library dependency
- Only export external header files to access PylonMeta
- publish artifacts on release page
- build debian package in case meson/ninja already installed
- add debian packaging
- CI builds for std x86/aarch64 ubuntu and debian targets
- Building deb packates for NVIDIA Jetson is documented in the README
- workaround for failed tests for Ubuntu 22.04
- fixes #111
- fix nvmm error if no camera connected
- fixes #88
- check for cuda version >= 11 to enable nvmm code
- nvmm support implementation is only compatible to cuda >= 11
- fixes #60
- update documentation to build on Windows
- fixes #68
- latency update
- src now sends a message to recompute pipeline latency when it becomes known
- fixed by #104
- float features working again
- fixes #80
- build now works with the changes in meson >= 1.3.0
- fixes #72
- build now works with the changes in meson >= 1.4.0
- fixed CI on ubuntu 24.04
- fixed invalid buffer size with enabled chunks ( non NVMM mode )
- fixed by #101
- fixed possible segfault path in NVMM error path
- fixed by #103
- Pylon 7.5
- supports to build the plugin with pylon 7.5 now
- Pylon 7.4
- supports to build the plugin with pylon 7.4 now
- offset x/y are cached when pipeline is not playing.
- setting the offset an ROI configured via caps is possible now
- fixes #44
-
Restructing of buffer pool management to support platform specific optimal buffer types
-
NVMM support
- This feature is automatically enabled when both the CUDA library and the DeepStream library are installed on the system.
- If enabled pylonsrc can directly generate output buffers into nvmm, that can be used by other nvidia elements.
- Current restrictions:
- only runs on NVIDIA Jetson at the moment
-
Pylon 7.3
- meson supports to build the plugin with pylon 7.3 now
-
automatic rounding of values is default
- behavioural change
- if a value set via gstreamer is not valid for the camera it will be automaticaylly roundedi
- this can be disabled by
enable-correction=false
-
Filter gev control features to speed up introspection
- exclude gev control dependencies
- Filter event data nodes
- exclude from registration until supported in gstreamer
- Process feature limits for ace gige
- extend heuristics
- fixes #37
- Caching infrastructure to reduce runtime of property introspection process
- ranges and access behaviour of features are saved during introspection
- cache data is saved in glib_user_cache_dir/gstpylon/
- Python bindings to access pylon image metadata from python-gstreamer scripts
- can be enabled during configuration using meson option
-Dpython-bindings=enabled
- can be enabled during configuration using meson option
- gstreamer property added to automatically round properties to the nearest valid camera values
enable-correction=<true/false>
activates automatic correction of values.
- git version is reflected in the plugin version string
- Changed codebase from mixed c/c++ to c++
- symbol default visibility 'hidden' on all platforms
- Exclude the following feature groups from introspection until properly supported
- SequencerControl
- FileAccessControl
- MultiROI
- Events
- Commmands
- Disable the
DeviceLinkSelector
on all devices- fixes an issue with specific dart1 models
- Concurrent start of pylonsrc from multiple processes
- opening a device is now retried for 30s in case of multiprocess collision
- fixes #25
- ace2/dart2/boost feature dependency introspection fixed
- fixes #32
- Properly handle cameras, where OffsetX/Y is readonly after applying startup settings ( Fixes #26)
- Access to all pylon image metadata
- GrabResult
- BlockID
- ImageNumber
- SkippedImages
- OffsetX/Y
- Camera Timestamp
- Chunkdata
- all enabled chunks are added as key/value GstStructure elements
- for sample user code see the show_meta example
- GrabResult
- Generation of includes, library and pkg-config files to access the GstMeta data of the plugin
- Camera properties accessible by integer based selectors are now accessible as gstreamer properties
- some properties e.g. ActionGroupMask are selected by an integer index. Support for these properties is now integrated.
- Breaking change for width/height fixation:
- old: prefer min(1080P, camera.max)
- new: prefer current camera value after user-set and pfs-file
- Startup time on some camera models extended up to ~5s
- This is a side effect of the fixes to properly capture the absolute min/max values of a property.
- The first gst-inspect-1.0 after compilation/installation will block twice as long.
- A caching infrastructure to skip this time on subsequent usages of pylonsrc is scheduled for the next release.
- Properties have now proper flags to allow changing in PLAYING state if valid for pylon.
- Plugin uses only a single 'pylonsrc' debug channel (Fixes #22)
- usage of 'default' and 'pylonsrc' channel was root cause of stability issues with extensive logging
- Detect the absolute min/max values of properties
- the feature limits of GenICam based cameras can change depending on the operating point. The plugin now explores the min/max values possible with the current device.
- Allow generic introspection of plugin properties ( Fixes #18)
- internal restructuring of property type system
- for sample user code see the list_properties example
- Update readme to cover exact steps to build the plugin (Fixes #23, #19, #20)
- Upstream gstreamer fix to properly detect typos in gst-launch-1.0 pipeline definitions !2908
- Fix is available in gstreamer >= 1.21
- Add property to control behaviour in case of capture errors. Allow to abort capture ( current behaviour ) / skip / keep bad buffer
- Add support for proper handling of a device disconnect
- Dynamically adjust a feature's access mode. This will make a feature writable, if it's access mode depends on another features state. ( Fixes issue #12 )
- Fix building gst-plugin-pylon with pylon 6 in monorepo configuration ( Fixes issue #15 )
- Support to access stream grabber parameters via
stream::
prefix - Bayer 8bit video data support
- Add property to configure camera from a pylon feature stream file (
pfs-location=<filename>
) - Support to build gst-plugin-pylon as monorepo subproject to test against upcoming changes in gstreamer monorepo
- Add pygobject example to access camera and stream grabber features in the folder examples
- Remove fixed grab timeout of 5s. pylonsrc will now wait forever. If required timeout/underrun detection can be handled in the gstreamer pipeline. ( e.g. via queue underrun )
- Remove limititation to only map features that are streamable Effect is that now all accessible features of a camera are mapped to gstreamer properties
- Output more information in case of missing selection of a camera. Now: serial number, model name and user defined name.
- Run all tests in github actions
- Allow loading of default user set on some early Basler USB3Vision cameras
- Initial public release