github twilio/twilio-video.js 2.0.0-beta16

2.0.0-beta16 (December 10, 2019)

New Features

  • This release supports all the features of the Track Priority and Bandwidth Profile APIs.

  • You can now specify the mode to control Track switch off behavior by specifying a
    property trackSwitchOffMode in BandwidthProfileOptions.
    trackSwitchOffMode can be set to one of

    • detected - In this mode, RemoteVideoTracks are switched off only when network congestion
      is detected.
    • predicted - In this mode, RemoteVideoTracks are pro-actively switched off when network
      congestion is predicted by the bandwidth estimation mechanism. This mode
      is used by default if not specified.
    • disabled - In this mode, RemoteVideoTracks will not be switched off. Instead tracks
      will be adjusted to lower quality. (JSDK-2549)
  const { connect } = require('twilio-video');
  const room = await connect(token, {
    bandwidthProfile: {
      video: {
        dominantSpeakerPriority: 'high',
        maxTracks: 2,
        mode: 'collaboration'
        trackSwitchOffMode: 'detected' // possible values: "predicted", "detected" or "disabled".
      }
    }
  });
  • You can now change the priority of an already published LocalTrack using a new method
    setPriority on the corresponding LocalTrackPublication. (JSDK-2442)
  const localTrackPublication = await room.localParticipant.publishTrack(localTrack, {
    priority: 'high' // LocalTrack's publish priority - "low", "standard" or "high"
  });

  // After a while, change the priority to "low".
  localTrackPublication.setPriority(`low`);

This will update publishPriority on all corresponding RemoteTrackPublications and
emit a new event "publishPriorityChanged" to notify the user:

  remoteTrackPublication.on('publishPriorityChanged', priority => {
    console.log(`The publisher has changed the priority this Track to "${priority}"`);
    assert.equal(remoteTrackPublication.publishPriority, priority);
  });

- In a **Group Room**, You can now override for yourself the priority of a RemoteTrack set by the publisher
   by using a new method `setPriority`. (JSDK-2347)

  ```js
    remoteTrack.setPriority('high');
  • If you want to revert back to the priority set by the publisher, you can do so as shown below:
    remoteTrack.setPriority(null);

Bug Fixes

  • Worked around an issue in chrome where it would sometimes stop sending updates on screen-share track if maxVideoBitrate was set for the track.
    You can limit bitrates on outgoing tracks using Localparticipant.setParameters api. With this workaround, any bitrates set will not be applied to screen share track on chrome. (JSDK-2557)

  • Fixed a race condition, that would sometimes cause a track to not get published if multiple tracks were added in quick succession (JSDK-2573)

  • Fixed a bug where publishPriorityChanged, trackDisabled and trackEnabled events were getting fired for initial track state (JSDK-2603)

  • Fixed an issue where loading twilio-video.js in firefox with media.peerconnection.enabled set to false in about:config caused page errors. (JSDK-2591)

latest releases: 2.13.0-rc3, 2.13.0-rc2, 2.13.0-rc1...
14 months ago