Major changes in this version

Improved internal engine

The Genvid SDK now uses an improved version of our internal engine. Although it’s generally backward-compatible with the previous verion, it is less forgiving in some areas. We recommend you read through the Improved Engine section in the upgrade notes in order to avoid some potential pitfalls when upgrading your project.

Minor changes and other fixes

  • [cluster-api] The cluster-api service is now responsible for the initialization of Vault and Nomad

  • [bastion-api][cluster-api] Fixed a bug where the process wasn’t able to listen anymore due to same port binding.

  • [consul] Fixed a race condition when writing Consul keys such as Genvid or Terraform settings. This could have lead to some settings being lost or some applications could see some empty values during a short amount of time.

  • [toolbox] A new genvid-sdk list-nodes command was added to list all currently registered nodes to a cluster.

  • [toolbox] A new environment variable GENVID_TOOLBOX_LOGFORMAT allows you to set the Python scripts log format. It can also be set on the command line by using the option --logformat.

  • [toolbox] Removed dependency on obsolete ipgetter package and added GENVID_CHECKIP_URL environment variable for improved support in future use cases.

  • [toolbox] Fixed an exception when DockerTool.build_docker raises an error. This was hiding the actual error raised.

  • [toolbox] genvid-toolbox now conflicts with hvac>=0.7.

  • [terraform] All AWS servers now use UserData to provision instead of an external provisioner. This should allow the usage of AutoScalingGroup in the future.

  • [terraform] consul_nodes is a new output for the cluster module, returning the list of Consul node names created by the script.

  • [terraform] The toolbox variable, which was pointing to a local file, has been replaced with a toolbox_url instead, which can be a s3:// url or any other path supported by pip install.

  • [composed] Improved robustness of gvencode when the compose service restarts.

  • [gvencode] Improved RTMSP communication reliability between the compose service and gvencode.

  • [gvencode] Improved frame encoding/decoding by using parametrizable thread scalability.

  • [gvencode] Improved composition synchronization. We avoid audio and video freeze as well as audio noise.

  • [gvencode] Improved robustness when sent invalid regions (e.g. picture-in-picture).

  • [standalone player] The standalone player now returns an HTTP reply that accepts all origins for an HTTP request to a missing stream.

  • [ue4-plugin] Fixed a crash when trying to send gamedata, annotation or notification without using a structure defined in C++ or Blueprint.

  • [studio] Now displaying error messages in the browser console instead of an alert window.

  • [studio] Improved reconnection when flow was interrupted.

  • [studio] Sliders in UI are more accurate.

  • [studio] We now only enable the primary audio source when the automatic auto follow mode is activated.

  • [tutorial sample] Fixed a problem when trying to stream a video that was greater than the desktop resolution.

  • [tutorial sample] Added some variables to parameterize the Genvid SDK framerate, the game framerate, and the vertical synchronization.

  • [loadtester] Fixed the Docker build (loadtester.py build-cloud) to correctly load the new modules.

  • [sdk] Genvid_SubmitVideoData will return an invalid parameter status if the size of the data does not match the video format. The data will not be submitted in this case.

  • [monitor] Fixed the freeze of monitor when the user drags the main window of its game.