Upgrade from 1.18.0 to 1.19.0
toolbox
has been replaced with toolbox_url
We replaced the toolbox
variable with toolbox_url
in our Terraform
modules. The new variable is now a URL that must be accessible by the created
servers. In addition to all URLs supported by
pip install,
it also supports URLs in the form of s3://bucket/path
.
genvid.toolbox.NetworkTool.get_external_ip
no longer support ipgetter
ipgetter
has been removed from the PyPI Repository and so we have removed
its support in the genvid.toolbox.NetworkTool
. If you were setting the
CHECKIP_URL
to None
, this option is no longer available. You can either
leave it to its default valut of https://checkip.amazonaws.com
or set it to
other URL, like https://api.ipify.org/
if you prefer. The GENVID_CHECKIP_URL
environment variable can now also be used to change the default value.
Improved Engine
Creating streams
We recommend creating the stream like this:
// We need a name to identify the stream.
const char *pSomeStreamName = "SomeStreamName";
// Create an entry for a stream.
Genvid_CreateStream(pSomeStreamName);
// Set all the stream's parameters.
Genvid_SetParameter[DataType](pSomeStreamName,...);
Genvid_SetParameter[DataType](pSomeStreamName,...);
Genvid_SetParameter[DataType](pSomeStreamName,...);
// At this point the first call to Genvid_Submit[DataType]
// should have all the necessary information to
// create the stream.
A new version stream only holds one type of data. For example once a stream is created as a video stream it is setup to handle video data and assumes that video data will be provided. Providing a type of data that a stream was not created to handle is undefined behavior.
Data submission
This new version smooths out data submission using time slots. It defines these slots when a stream is created then adheres strictly to them. If data is submitted faster than it was supposed to be, only the latest time code within a time slot width (1 / fps) will be accepted, previous ones will be dropped. If the data is not submitted as often as it was supposed to be, the last data submitted is sent again. If it’s an audio stream, silence is sent in place of the original audio.