Changelog
2.48.1
2026-04-16
- Fixed issue with title bar names.
2.48.0
2026-04-14
- Added documentation on connecting to multiple vehicles.
- Fixed video layout bug that occurred with multiple Webview connections.
- OCP: Fixed control latency increase when multiple vehicles were connected.
- Fleet Client: Exposed connected vehicles' names and remote streamers to other plugins.
- Added IP-only connection support and longer connection timeouts for Lucid Camera.
- Added `--project` command line flag to minimize argument order mistakes.
- Added video/x-raw(memory:CUDAMemory) ingest support for GStreamer capture.
- Added bandwidth control support in the Streamer Configurator.
- Added debug info GUI for Auto Packer in both OdenVR and Oden Streamer.
- Added a "File" menu button for copying the current project path to clipboard.
- Added build type indicator in the title bar for non-release builds.
- Updated releases website to support nightly builds.
- Improved source selection for CUDA IPC Texture Export.
- Fixed crash when CUDA could not be loaded on systems with NVIDIA GPUs.
- Fixed audio system crash on shutdown on some machines.
- Fixed crash in Model entity.
- Fixed small issues in Webview example code.
- Fixed V4L2 issue that caused some resolutions to not work.
- Fixed Wayland window decorations.
- Removed borderless mouse dragging on Wayland (unsupported by the protocol).
2.47.1
2026-03-16
- Fixed dependency loading regression when running Fleet Streamer as non-root.
2.47.0
2026-03-13
- Added support in odenvideosink for skipping every nth frame, reducing incoming camera framerate for GStreamer inputs.
- Added GigE slave mode.
- Added startup guide for Oden.
- Added Fleet Streamer build for Windows.
- Disabled Fleet Streamer systemd service install by default.
- Deprecated and removed Camera Manager.
- Reduced dependencies on Linux.
- Improved documentation.
- Improved error handling for the --activate argument.
- Oden is now using the system provided GStreamer plugins on Ubuntu.
- Windows installer and binaries are now signed.
- Added support for CUDA IPC texture sharing from Oden to other programs on Ubuntu.
- Added support for Lucid camera input.
- Added support for additional input formats for NVMM GStreamer pipelines.
- Exposed Oden version in the WebView JavaScript library.
- OCP: Added player-side TCP server and scene-based vehicle discovery.
- Fixed metadata extraction for decoded frames on Jetpack 5 and newer.
- Fixed MSAA bug that caused performance issues on some systems.
- Fixed Virtual Camera bug when swapping between orthographic and perspective modes.
- Fixed autopacker bug for older projects.
- Fixed mesh caching bug.
- Fixed autopacker bug when copying from a virtual camera.
- Fixed bug where getDownloadedImage returned an old image.
- Fixed bug where Oden hung when revoking a license.
- Fixed crash when all scenes were deleted.
- Fixed rare crash when closing Oden.
- Fixed rare crash when removing an entity.
2.46.0
2026-01-15
- Added threaded joystick and gamepad input handling, leading to lower latency.
- Removed OpenHMD support.
- Moved GStreamer plugins to a dedicated directory.
- Fixed bug where the Webview would exit when Oden ran at a low framerate.
- Fixed string handling bug on bind devices.
- Fixed crash when the Streamer Configurator was open while the streamer died.
- Webview: Added option to disable gamepad on request, and return a timestamp when user data is missing.
- OCP: Remote input feedback in the GUI now reports what is actually sent to the vehicle.
- Updated EULA.
- Optimized SEI data extraction performance.
2.45.2
2025-12-05
- Migrated to the new NVENC presets. NVIDIA removed support for the old ones in driver 580.
2.45.1
2025-11-27
- Added an exclusive time slot manager for GStreamer pipelines.
2.45.0
2025-11-26
- Added support for Nvidia Jetson Thor with Jetpack 7.
- Added Oden Fleet Streamer build for Jetpack 4.6.
- OCP: Released version 2.0 of the OCP protocol.
- OCP: Fixed bug where Oden could hang if messages could not be sent.
- Fitted Streamer view to the window instead of stretching it.
- Webview: Added reload-without-cache shortcut (Ctrl+F5 or Ctrl+Shift+R).
- Fleet Client: Fixed issue where the client connected twice.
- Bifrost: Added status page at https://portal.voysys.dev/status.
- Bifrost: Added support for relays in multiple regions.
- Blocked unsupported GPUs.
- Webview plugin is now shipped with OdenVR.
- Disallowed running multiple Streamer instances on the same computer without explicit --multiple-streamers flag.
- Fixed bug in getCameraLastValidTimestamp API.
2.43.1
2025-10-31
- Improved Bifrost internal message system.
2.43.0
2025-10-31
- Added nvunixfd GStreamer plugin to Jetpack 5 installers.
- Added new Oden Fleet Streamer installer that bundles Fleet Client and OCP.
- Added support for 2D Video dewarping.
- Removed support for ebus, fc2, and vimba video inputs.
- Bifrost: General optimizations.
- OCP: Improved message protocol.
- Oden Streamer now restores the original resolution when auto packing is disabled.
- Fixed bug with folder creation when running Oden with --activate.
- Fixed P2P file descriptor leak on Linux.
- Fixed packet drops on com channel queues that send only occasionally.
- Fixed audio system crash when the default sink or source is null.
- Cleaned up the Rust plugin API.
2.42.0
2025-10-10
- Webview: Improved CEF health checks.
- Webview: Fixed multiple streamer support.
- Webview: Added an error texture displayed on CEF process error.
- Bifrost: Improved relay selection.
- P2P is now enabled by default on new link configurations.
- Removed deprecated scene control plugin from the installer.
- Added support for disabling global plugins.
- Disallowed multiple vehicles with the same name from being online simultaneously.
- Fleet Client: Vehicle now disconnects if no response data has been received within 30 seconds.
- Fixed flickering mouse cursor bug.
- Added support for rotating log files.
- Fleet Client: General improvements.
- Disallowed changing codec through the Streamer Configurator.
- Webview: Fixed bug where cef_child_process became a zombie after an Oden crash.
- Fixed issue where the selected entity could be removed by a plugin call.
- Improved Steam Deck button handling.
2.41.0
2025-05-16
- Webview: Various improvements, including stability and performance.
- Fixed autopacker.
- Added focus window API call.
- Added support for multiple Remote Streamers in Auto Packer.
- Added Steam Deck input support in desktop mode.
- Added GStreamer NVMM memory support for Jetson.
- Always encrypted P2P, and added option to exclude certain subnets from P2P.
- Added D3D11 decode support.
- Enabled bind_device without setcap or root.
- Dropped JetPack 4.6 support.
- Hid continuous calibration unless enabled in settings.
- Fixed mDNS issues in Streamer Configurator on Linux.
- Fixed PRIME offload on Linux.
- Fixed running Streamer as headless when no display is present.
- Added crop support in Webview.
2.40.0
2024-11-26
- Oden now prevents the system from sleeping while Oden is running.
- Added JetPack 6.1 support.
- Fixed cursor flickering (especially on Steam Deck).
2.39.1
2024-11-21
- Activation can now be done on command line
- Fix issue with autopacker if player resolution was reported as negative
- High res autopacking when calibrating
- Streamer: Add an output alignment entity to startup scene
- View-fixed video packing, and no default packing first 10 seconds
- Fix device serial check in snap + easier flatpak/snap device serial debugging
- Add ability to get and set the audio output volume from gui and api
- ROS2 video capture plugin (available on request)
- VA-API decode support
- Focus region now works with auto packer, and is blended for nicer visual appearance
- Plugin API: Query + Publish var sized data
- Plugin API: "OUI" UI system
- Checkbox for rendering ImDraw in Virtual Camera
- Plugin API: window focus
- Show license error in console when headless, and fix revoke when activation is running
- Bitrate per megapixel setting
2.38.4
2024-09-16
- TensorRT runtime inference metrics plugin api available
- GStreamer updated to 1.22.10
- Fix so that the get_camera_fps does not give the last fps value when stopping the camera as well as not giving inf value when no frames have gotten in yet
- Added animation to the Streamer side no license message, so that the drop detector doesn't overwrite it
- Fix v4l2 issue on Jetson
- Coupling / Relay server available (contact Voysys)
- Auto Video Packing feature available - automatically detects what videos are visible to the operator and then only sends those, at appropriate resolutions
- Check all scenes for conflict in Uuid when adding entity from api
- Licenses can now be revoked from the command line (including headless) using the '--revoke' command line argument
- Mpmc plugin channel available in Rust plugin api
- Mouse only wraps when ctrl-h ui is visible
- Truncate plugin names that are too long
2.37.0
2024-02-20
- Improvements to glTF model / physics engine integrations, useful in simulators
- Performance metrics plugin api added
2.36.2
2024-02-16
- Licensing server connection now uses https (not http)
- What DLA core to run neural networks on can now be specified using the plugin api
2.35.2
2023-12-19
- TensorRT runtime: run neural networks in Oden, on the GPU-side video images
2.34.4
2023-12-19
- New RTSP and RTP inputs that do not use GStreamer, using much less performance
- OdenRayToVideoIntersect scene param plugin function available
- Fog function available for glTF models
- Crash reports are now automatically uploaded to Voysys (anonymized)
- Parent UUID plugin api function available
2.31.4
2023-09-28
- Quick-load shortcut available
- ComChannels per Link Stats
- Compression of ComChannel Packets
- Ability to paste entities without converting inputs to clone streams (ctrl-shift-v)
- World space noise available for glTF models
- 'Persistance Map' and 'Share Space' available, allowing for advanced bird's eye view use cases
- External stitch geometry api available
2.30.3
2023-09-08
- Remote Calibration option in Stitched Video (sync calibration parameters between streamer and player)
- Dmp files on Linux moved to /home/user/.config/oden/(OdenVR or Oden_Streamer)/crashes/
- Continuous Calibration: this can be used to continuously refine calibration while driving vehicle. It can also provide a quality metric for calibrations.
- Raw recordings available for global plugins
- Plugin api function for closing the application
- OpenCV example plugins available in Rust and C++ (contact Voysys for more info)
- Option to enable high precision depth buffers. Useful with large glTF models.
2.29.12
2023-10-18
- Plugin API for scene loading now accepts .vcene files (not only .vproj files)
- Fix issue add entity
- There is now a warning if Wayland is used on Linux (it doesn't work well with Nvidia opengl drivers)
- Fix for clone stream name syncing
- Option to change fps camera speed
- Entity info when right-clicking an entity in the scene graph
- Option to move object to fps camera when right clicking it in the scene graph
- Added experimental AV1 encoding and decoding support on NVIDIA Jetson Orin devices
- Adding entities from the plugin is improved and more performant
- Corrupt raw recording files (.vraw) can now be opened in some cases (functionality to recreate raw recording index on file open)
- If a model is cloned from another model the render load is greatly reduced by the use of instanced rendering.
- Fix flexbox rotated videos
- The entity menu cannot be moved anymore
- Fix glfw on some platforms (notably orin)
- 2D Videos and Stitched Videos now default to clone stream input selected
- Show 'No Signal' for missing flexbox children
- Fix hmd/vsync issue and a gui shrink for streamer scene
- Fix issue with flipped virtual camera texture
- GLTF models with animations now work slightly better
- Settings for HMD and player audio output are now hidden by default (can be enabled in Application Settings)
- It is now possible to have multiple project plugin paths.
- New entity: External Scene. Allows for loading external .vscene files, that can e.g. be shared between projects.
2.28.9
2023-06-02
- Fix ImDraw draw order issue on Linux (stable_sort im_draw calls)
- Scene Mirror now renders ImDraw objects rendered by plugins in the mirrored scene
- Solved a rare issue with Direct Show analog inputs with changing device settings
- Fix flexbox calc when moving entities in scene graph
- Plugin API: get virtual camera resolution
- set_virtual_camera_rotation() is now applied to "rotation" and not "post rotation" which makes the behaviour more predictable.
- Block transfer functions added to the Rust plugin API
- Rust plugin APIs for serialize and deserialize structs
- Faster project close
- Virtual cameras draw im_draw
- Raw recording close is faster
- Improve local network p2p connections
- Clone Source Uuid Plugin Api
- Register multiple entity types from plugin
- It is now possible to grab calibration parameters from Virtual Cameras in Stitched Videos.
2.27.11
2023-03-14
- Improved robustness of Tegra JPEG decoder
- Added API for getting output alignment ID from entity ID
- Added APIs for checking if an entity is enabled and getting scene non-full
- Added uploadImageEx to the plugin API
- Solved an issue in GigE settings handling, primarily for IDS cameras
- Added Virtual Cubemap Camera "Render Eye" option
- Improved remote streamer getStreamSettings performance
- Added target bitrate retrieval
- Fixed global plugins not updating after project close
- Prevented rust plugin panic when multiple null characters are sent as a string
- Fixed viewport issues related to size and mouse handling after IM draw screenspace changes
- Improved logging system, using spdlog. It is now possible to add filters to remove log messages.
- Introduced flexbox video layouting
- Improved scene reordering with named scenes
- Fixed default text scale for better visibility when creating text
- Updated GLTF model support
- Improved Spout support with better handling of targets with weird alpha values
- Enhanced API and error messages for setting SEI metadata
- Fixed issue when reconnecting USB audio devices on Linux
- Improved P2P connectivity for complex network setups
2.26.7
2023-05-02
- Fixed Linux audio issue on high system load
- Improved logging for audio device probing failures
- Fixed packet loss reporting when using FEC
- Added a new input type for FlexWATCH cameras
- Added bandwidth regulator control through the plugin api
- Fixed an issue when removing the active scene from a plugin
- Implemented a version mismatch warning (streamer / player)
- Improved scene exporting with the create_full_project_files flag
- Added a plugin API for getting link statistics for a specific link index
- Reworked the audio system to prevent blocking the main thread
- Improved decoder performance and prevented latency buildup
- Fixed video capture plugin initialization issue
- Updated settings for inactive video sync and idle framerate cap when VSync is enabled
- Send disconnect message when exiting the Streamer Configurator
- Revoke now checks for connectivity before revoking local license
2.24.11
2022-10-27
- Reduce memory consumption, add profiling, reduce allocations etc
- Add z index support for viewfixed rendering with the plugin
- Improved project load time
- Log oden version at startup
- Reduce time to handshake with wireguard server
- Remove Ctrl+L as default for orbit camera toggle
- Add plugin api to close project
- Improve video first decode time by repeating sps pps
- When changing resolution from a plugin is now frame perfect with output alignment.
- Made audio system more robust
- Fixed a bug where the mouse could disappear when closing Oden.
- Add setting to enable logging to syslog on linux
- Fix init of plugin if license is not valid yet
- Added plugin api to get the decoder status for the last 64 frames
- Fixed a bug where popup window appears when closing project even when "No prompt on exit" was checked
- Improve intel decoder error message
- Tweak idle framerate logic
- Fix so that get_camera_fps does not give inf before the camera starts as well as giving 0 fps when turning the camera off instead of the last fps
- New plugin api: getOutputAlignment
- New plugin api: getRenderInfo/setRenderInfo (get/set streamer output resolution)
- Fixed an issue with plugin functions called on inputs without a drop detector
- Orin support, not yet uploaded to release page
- Added ability to set which camera to sync to on from a plugin.
- It is now possible to skip frames for MJPEG coded data to save on hardware load
- Added plugin api to set output alignment and link get link stats
- There are now separately drawn drop detector blackout graphics for each sub-video capture from remote streamer
- If downloadVirtualCameraImage() is called sparsely it will not cause GPU stalls on each call.
- New plugin function call: setTextureDowloaderPersistent()
- Extended network stats are now saved to / played back from raw recordings
- Encoder test is now available as a video input type (it has a smoother encode characteristic than the default video test src, so it is useful for substituting missing video when testing streamer->player setups)
- downloadVirtualCameraImage() in plugins can be used on 2D Videos
- Added settings for audio sending auto start
- Added support for hardware accelerated decode with Intel GPUs on Linux
- Added support for using the default audio device
- Allow com channel to specify destination remote streamer
- Added plugin api to load scene
- Added plugin api to control audio
- Fix decode of mjpeg 4:2:2
- Fixed issue that Dshow did not retry on disconnect if the Dshow GUI was open.
- Fixed bug where raw recording would not move plugins to the raw recording folder if the plugins were in the same folder as the project
- OdenVrDev now contains one more example plugin as well as newer build files
- Added docs for RTSP input
- Added plugin api to get the time when Oden has gotten the frame from the camera
- Added plugin api virtual_camera_pixel_to_ray
- Added raw version of async com channel send to the rust api
- Fixed issue with OpenXR on new Nvidia drivers
- Added ability to render a Remote Streamer texture to a virtual webcam
- Plugin api to get entity name
- Added remote stitched video
- Added plugin api to check for unsaved changes
- Added plugin api to set gui visible
- Added plugin api for retrieving calibrated floor height if a horizon calibration has been made.
- Added documentation for project Settings
- Add function to rust api bindings, get_hmd_transform
- Fixed issues with Streamer Configurator
- Fixed a bug where draw was not called for plugins
- Improved Rust Plugin Documentation
- Fixed issue where sometimes rendering would stall for some milliseconds
2.22.5
2022-11-04
- V4L2 video inputs (linux only) with encoded formats can now be raw recorded
- Added plugin API functions for peer-to-peer functionality
- Fixed issue with Vimba inputs and exiting the application
- GStreamer on linux updated to 1.18.6, and an additional library dependency was added
- There is now experimental support for visualizing set ECN bits (can be used for network-level congestion control)
- More documentation added, e.g. for: plugins, statistics, streamer configurator
- Clone streams now get the source's filter settings. When copy to texture is enabled it is possible to modify the filter of the clone without changing the source's filter.
- Plugin hot-reloading events are now debounced (so a single plugin rebuild only causes one plugin reload)
- Fixed rare issue in Output Alignment with resolution scaling, where one line of incorrect pixels could appear
- Added Acoustic Echo Cancellation (AEC) for two-way audio streaming
- Raw recording playback loop can now have a custom start and stop time.
- Added the ability for links to automatically transition to a peer-to-peer connection when possible
- Fixed an issue where an empty bin folder could be created in the raw recording folder
- Fixed an issue where raw recordings could end up in the parent folder instead of the correct folder.
- Fix so no "save star" appears on start of streamer
- Small UI changes in the Com Channel tab
- The usability of the output alignment entity was improved
- Disabled setting UI Scale from Player through Streamer Configurator
- Streamer Configurator max resolution can now be set
- Command line --version and --help now works on windows applications
- Fix license activation in docker and in virtual machines
- Fix an issue with gltf rendering
- Messagebox on plugin crashes is hopefully now even more helpful (windows only)
2.21.3
2022-08-30
- Fix for rare out of bounds issue in extended statistics
- Console output when running oden in windows terminal and git bash
- Environment variables can be used in paths. To use set the variable between two '%', e.g. %HOME%
- Changelog links from help menu works again
- It is now possible to name scenes in the Scenes pane (scene name = root entity name, so it was already possible before to name scenes but now it is hopefully easier)
- Added buttons for moving scenes up and down in the scenes list
- Added more keyboard shortcuts that can be customized
- Added plugin API functions: getViewportInfo and getViewMousePosPxWithOffset
- Option to not shrink view when GUI is visible
- View Fixed 2D Videos can now be rotated, mirrored and cropped
- Fixed issue on Linux where Oden ran at 1fps if no flir cameras were connected while opening a project that had flir cameras in them.
- Plugin function for getting plugin instance UUID
- Drop Detector now shows the currently set timeout in addition to "No Signal" on timeout
- Much faster dynamic resolution changing with NVIDIA hardware decode
- Intel HW decoder
- Feature calibration was reworked and can now capture multiple image sets. It is still an experimental feature.
- Allied Vision Vimba camera driver input now available in Oden Streamer and on ARM64
- Fix H.264 dynamic resolution change
- Fix very rare bug when removing entities that had child entities connected to it.
- Add support for disabling intra refresh on jetson
- Streamer Configurator is now available in OdenVrDev
- The virtual camera can now be set directly to the same as the view in Oden.
- Fix rare issue when using FEC with small maximum packet size
- More documentation on common entities is now available
- Hide an entity now disables their children's update functions as well
- Oden now repeatedly tries to access the license server until successfully connected.
- NVIDIA Jetson: Faster decode of h264, h265 and MJPEG video
- Easier access to the documentation with Icons to get the user straight to the relevant documentation.
- The "CSV Dump" sample plugin has been renamed "Statistics Logger" and can now log per-frame statistics (all sample plugins are available on demand from {vendor-name})
2.20.2
2022-03-03
- Fix issue with decoding on Tegra
- Fix where the input from Remote Streamer would flicker
- Added documentation:
- Virtual Camera
- Remote Streamer
- 2D Video
- Output Alignment
- Application Settings
- Optimal Latency Setting
- Fix reset view function for OpenXR HMDs
- Removed the focus region button from stitched video
- Fix issue where the project could not load plugin when using load_project() from project.
- Streamer Output Alignment entity is now called Output Alignment.
- Camera Manager now shows the mac address along with the IP of which devices that are found
- Fix for set mac address in camera manager
- Changed min bitrate from 0->0.01Mbit/s in streamer configurator
- Fixed using tab in streamer configurator
- Netsim and scope will not pop up a terminal anymore
- Raised netsim min bandwidth in GUI to 0.01 Mbits/s and added a Kill Link checkbox
- The keyboard shortcuts for "reset view" and "close project" can now be changed in the application settings
- The keyboard shortcut for "close project" has been changed to be default inactive (previously it was Ctrl+W)
- Widget label text now aligns better with rest of widget
- Fixed an issue when running focus region if the Player was started before the Streamer
- Extended Hawk eye mouse plugin with scene specific resolution
- Webview plugin now available (prototype/proof-of-concept)
- Add more network related plugin APIs
- Fixed issues with Sony GigE Cameras
- Fix saving input texture if multiple inputs are opened in Stitched Video entity GUI
- Rectangle aligned functions did not respect the pushed matrix (but now they do)
- Tool for converting raw recordings to other formats (VRAW Convert) is now available in stand alone repo: https://github.com/voysys/vraw_convert
- Fixed issue when calibrating with a locked, rotated camera where the camera could slightly drift
- Overcapture zoom can now be controlled directly by a joystick axis
- Fix issue in LLTP where tiny packets could sometimes be skipped
- Fix issue with FEC that prevented it from working on tiny frames
- It is now possible to set a per-scene resolution
- Fix: Output alignment is now frame perfect (again...)
- Fix Direct Show with some capture sources
- Fix: Stream select from remote streamer
- Better bandwidth regulation on low bandwidth networks
- Reduce overhead on low bandwidth networks
- FEC amount changed to percent and a tooltip was added to hopefully make it a bit more clear what it does (GUI-only change!)
- New plugin api to return the scene id of the scene containing a plugin: getSceneContainingPluginEntity
- Application Type function for plugins
- Support BGR video in Raw Recordings
- Fix stopping Raw Recordings when using multiple scenes
- Fix issue when deleting scenes during a Raw Recording
- Good streamer defaults in Oden Player too
2.19.3
2022-02-23
- Added copy position, scale and rotation in the entity context menu (right click)
- Added Move View Here in the entity context menu (right click)
- Projects created in OdenVR now have better streaming settings, which prevents some issues when projects created in OdenVR are used in Oden Streamer
- New plugin api functions added: getApplicationType
- Firewall rules are now added on installation on Windows
- The default marker size is now the same as the marker size of the Voysys calibration board (150 mm)
- It is now possible to save the texture of a video input, using the "Save Texture" below the texture preview
- New sample plugin: Camera mover (rust)
- New sample plugin: Hawk Eye Mouse (rust)
- New sample plugin: Project selector (global, rust)
- New sample plugin: Hello world (rust)
- Changed so that Streamer Configurator deactivates the Drop Detector during use
- New plugin api functions added: indent, unindent
- Linux: Fix a bug preventing license activation on systems with encrypted LVM volumes
- The view can now be zoomed using the mouse when separate projections horizontal or vertical is active
- The plugin api function getFpsCameraState now returns the correct value for field of view when separate projections horizontal or vertical is active
- Statistics view cleaned up: no basic/advanced, no confusing "cpu %", no confusing "sync" data
- Fix issue with encrypted initiator links
- Fix issue with focus region out of sync
- Fixed issue where a Direct Show device with only the name matching the specified device in the project would not be opened if it was disconnected when the project was loaded
- Added fault for hmd not on user head
- Added option to force a HMD into active state
- Fixed rendering of fps camera when hmd is disconnected
- Raw recording now copies the plugin files to the raw recording folder
- When unselecting the focus region the 2D video will be reset regarding crop data
- VSCP now has trajectory support (the trajectories can be added to multiple scenes)
2.18.5
2022-02-23
- Added a plugin api call "setCloneStreamSource", to set the source of a clone stream.
- Solved issue with update order of clone streams and cloning from sources in other scenes.
- VSCP: support arbitrary com ports on linux
- Focus regions can now have multiple different qualities that stacks on top of each other, with the highest quality on top. You can also change the size of the output alignment objects in pixels.
- Added scene functions in rust plugin + example
- Better error handler in rust plugin logger
- Fix issue with licenses on Ubuntu 20.04
- There is now a "glance" gui for Remote Streamer entities, and a preview of the texture.
- Add matrix rotation example to example plugin rs
- Add api for raw recording in oden_plugin_rs
- Directshow inputs can now retry until connected, and also handles disconnects better
- Only draw streamer configurator on gui monitor
- Option to calculate a more optimal intra refresh count automatically
- Plugin api function getCameraCropData() can now be used on both 2D Video and Equirectangular Video
- Plugin api function asyncComChannelReceive() will now always try getting one message.
- Fixed issue when gdrRollover was too late causing oscillations in output bitrate
- Added an option for variable noise in the encoder test
- Added GUI for const qp mode on jetson
- Fixed rare FEC issue caused by invalid decoder parameters
- Added set_streamer_max_mandwidth() to the rust sdk
- Only show vsync text in gui if using vsync and running as player
- Fixed imgui rendering with intel gpu
- Solved issue with setting a negative bitrate as target bitrate.
- New and (hopefully) improved docs system
2.17.1
2021-10-19
- Listing GigE cameras from plugins will now also return opened cameras.
- OpenVR init now tries to open the HMD for a longer time (this fixes some corner cases, e.g. when the HMD was powered down before opening Oden)
- The FPS counter is now low pass filtered (easier to read, still fast)
- Fix raw recording playback of short frames
- Raw recording support for Remote Streamer audio
- Fix Remote Streamer raw recording for auto-cropped Clone Streams
- Async com channel now checks that the message size is the same as the received one.
- Added Force Feedback device selection
- The Statistics tab now only shows the original LLTP stream and not the sub streams.
- Added configurable resync limits (LLTP and audio)
- API function getEntityVideoSize() now gives the video size after hard crop is applied to the video.
- Force Feedback can now control the force directly from the plugin api
- Focus region can now use cropped sources.
- Fixed issue when selecting OpenVR input without a device connected.
- Add bind address option to streamer configurator
- Add optional delay after camera sync
- Don't allow sync on virtual cameras
- Allow changing input type after capture creation failed
- Fix loading of projects via the plugin API when using Windows path separators ("\")
- Linux spinnaker usbfs limit warning
- Move build system for example_plugin and empty_plugin to cmake
- Prune old streamer stats links if inactive
- Renamed the "Sender" and "Receiver" link modes to "Initiator" and "Responder", respectively, to better reflect what the different link modes actually do.
- Added an integrated GUI for V4L2 camera controls
- Fix issue where Oden started with the wrong scene when starting a project from the command line
- Midi/OSC can now be optionally enabled in application other than VR Producer
- It is now possible to start/stop raw recordings using Midi/OSC
- Video inputs with no source set are now hidden in the Clone Stream selection and Sync To Video selection.
- V4l2 now reconnects until success
- Virtual camera and virtual cubemap camera now uses the entity position and rotation (and not special position/rotations). (Projects with legacy settings will keep on working.)
- Virtual cubemap cameras can now create cylindrical projections.
- The latency statistics function has been replaced by a "performance metrics" view. (The old latency statistics view was hard to use, and it is preferable to measure latency externally anyway.)
- Threaded calibration captures (higher performance)
- The order of the entities when cloning from a Remote Streamer does not affect the viewport anymore.
- The front-facing camera on OpenVR headsets can now be directly accessed, which is lower latency than going via direct show.
- The 'Follow HMD' entity can now optionally use the pose of the front-facing OpenVR camera, which allows for a latency-compensated see-through view.
- Fix issue that prevented multiple encrypted Streamer links from being regulated correctly when routing through a regular WireGuard server.
- Streams are removed from clone stream selection on player if the button "Stream Crop Data" in a Output Alignment entity is unchecked during runtime
- Now can the regulator mode be set and get from a plugin, the auto mode switch can also be turned on and off from a plugin.
- Longer wait before hard close on ctrl+c
- When using Remote Configurator Oden will now ignore local hotkeys
- The V4L2 input now has a blocking mode
- Size and position of "view fixed" 2D Videos can now be set in percent.
- An Image video capture is now available, allowing to display images easily as video.
- Fix initialization issue for gstreamer video captures on linux
- Channel usage graph
- Fix issue when negative target bitrate was entered in oden streamer
- Fix separate projection set fov from plugin
- API functions resetView and inhibitMouseLook now affect the scene that the user is in, not only the scene where the plugin is located.
- If Oden is killed by SIGINT or SIGTERM and there are unsaved changes, the Oden window will be focused for the user.
- Video capture ROS: allow more encodings than just raw
- Added support for raw recording Argus inputs
- Added support for frame skip in raw recordings
- The pixel size of a video can be requested through a plugin function now.
- Displayed size for focus regions in Output Alignment is now fixed
2.16.3
2021-10-19
- Option to list all Direct Show devices (can be used to input e.g.
- Alpha channel transparency (e.g.
- The plugin system has been expanded with support for custom video inputs
- Add the switch "--configurator" to Streamer, this will allow players on the network to access the streamers gui with the streamer configurator entity
- Streamer configurator can also access a streamer if there is a remote streamer connected to it in the same project.
- OpenVR controllers now have textures and it is possible to access their state via plugin api (as joysticks, for now)
- Option to show/hide HMD controllers added to plugin API
- Focus Regions is a new feature that enables the possibility to send parts of a video stream in higher resolutions.
- Projects are now added with correct path to recent projects list even if saved without .vproj in the specified project save path.
- Option to list Decklink dshow devices
- (Linux) SIGINT and SIGTERM are handled in Oden and a soft closing is now made if either of those signals is received.
- Fix a rare cast overflow in nvdec
- Updated GStreamer to 1.18.4
- Improved NVDEC stability and memory consumption
- Added OpenXR support on Windows
2.15.1
2021-10-19
- Functions to show/hide HMD controllers added to plugin API
- An integrated link (peer-to-peer) encryption is now available, that uses application-side WireGuard
- An extended statistics view for network packet arrivals and frame timing is available (Remote Streamer \-> Network \-> Link \-> Stats \-> Enable Link Stats)
- Small changes for raw recording.
- Quick fix for an issue with dalsa GigE cameras