5.2.6. Release notes for v0.6

v0.6.3

Bug fixes

Improvements

  • Adaptive streaming logging improvements:

    • When at stable maximum quality, logs at DEBUG level.

    • When quality causes adaptive streaming changes, logging switches to INFO level.

v0.6.2

  • Added logging to show a feed’s quality-adjusted frame rate/resolution.

  • Fix: LocalVideoFeed callbacks onFeedStarted() and onFeedStopped() are now correctly implemented.

v0.6.1

v0.6.0

Breaking changes

  • Feed components properties have been updated to be more consistent. Previously, properties specific to the component were set directly on the component, but common properties (typically shared with other components), used a sub-structure.

    Before:

    video.device("/dev/video0");              // Device set on video directly
    video.videoCapabilities().frameRate(30);  // Frame rate set on video capabilities
    

    Now:

    video.deviceProperties().device("/dev/video0");  // Now contained in device properties
    video.videoCapabilities().frameRate(30);         // Same as before
    

Feed objects

In this release, we are starting to introduce the concept of feed objects. Currently, feeds are referred to using an opaque “stream ID”, and the FeedManager class provides the means to create and stop feeds via ID via createLocalVideoFeed() instead of startLocalVideo().

The feed objects are a more object-oriented way to interact with feeds, and will ultimately replace the use of stream IDs. In this release, only local outgoing feeds are supported as feed objects; subsequent releases will add this for other feed types.

Feature: Adaptive Streaming

This release introduces support for adaptive streaming. Adaptive streaming allows the application to select outgoing feeds to be monitored for performance, and adjust their quality according to network conditions.

Documentation is forthcoming on this feature. See the SDK demo application for a demonstration of how to use adaptive streaming.

Proximie services updates (minor breaking)

The following changes reflect some required updates to Proximie services. Overall these are deemed minor as, whilst publicly visible, they are not typically used or referred to by client applications.

  • With the SessionConnectionSettings structure, the callstats value is no longer provided by Proximie services and is removed from the data structure.

Demo app, minor improvements

  • Set a default logging level in a constant LOG_LEVEL as a convenience.

  • Added some #define directives for quick enabling & disabling of feed types for testing different scenarios.

Other changes

  • FeedStatistics now includes the WebRTC stats serialized into typed C++ structures.

  • Minor adjustments to make some “chatty” debug log messages log as “trace” level for cleaner and easier to read debug-level logs.

  • Improved output/logging of any exceptional errors that occur in SDK threads. Previously, these errors would not be clear as unexpected exceptional errors.