1.0.0-beta6 (April 20, 2017)
New Features
- You can now
connect
to a Room using an Array of MediaStreamTracks without
constructing LocalAudioTracks or LocalVideoTracks. For example, if you
already have a reference to a MediaStream,stream
, you can call
connect(token, { tracks: stream.getTracks() });
You can now call LocalParticipant's
addTrack
andremoveTrack
methods
with a MediaStreamTrack. If successful, these methods return the LocalTrack
added or removed; otherwise, they returnnull
.Added two new methods to LocalParticipant,
addTracks
andremoveTracks
, for
adding and removing multiple LocalTracks at a time. These methods accept
either an Array of LocalTracks or MediaStreamTracks, and return an Array of
the LocalTracks added or removed. For example, if you already have a reference
to a MediaStream,stream
, you can call
localParticipant.addTracks(stream.getTracks());
localParticiapnt.removeTracks(stream.getTracks());
Bug Fixes
- Fixed a bug where attempting to remove a LocalTrack from the LocalParticipant
after disconnecting from a Room threw an Error (JSDK-1233)
- Fixed a regression between 1.0.0-beta4 and 1.0.0-beta5 where
automatically-acquired LocalTracks were not stopped after disconnecting from
the Room
- Fixed a bug that could lead to media- and Track-related failures that
resulting from the way we handle out-of-order SDP offers and answers; now,
all PeerConnections will wait until an initial round of negotiation is
complete before applying or creating subsequent offers (JSDK-1176)
- Fixed a bug where calling
cancel
on the CancelablePromise returned by
connect
could throw an Error
- Fixed a bug in the LocalAudioTrack and LocalVideoTrack constructors:
options
should have been optional (JSDK-1251)
- Fixed a bug where Room's
getStats
method could reject if outbound statistics
were missing in Firefox
- Fixed a bug where Room's
getStats
method could reject if called after
disconnecting from a Room in Firefox
- Fixed a bug in our message retry logic that caused us to retry messages after
disconnecting from a Room
Known Issues
Despite the addition of
addTracks
, adding multiple LocalTracks in quick
succession is likely to cause media failures, and so it is recommended to
either- Stagger the addition or removal of LocalTracks, or
- Use the
enable
anddisable
functionality in lieu of adding and removing
LocalTracks.
- Stagger the addition or removal of LocalTracks, or
A solution has been identified and will be included in the next release.
- There exists an interoperability issue between Firefox and other WebRTC
implementations (including Chrome and Twilio's iOS and Android SDKs) that can
cause media failures if Firefox does not share a LocalAudioTrack. If you are
developing an application that will interoperate with Firefox, please ensure
you always share a LocalAudioTrack until this issue is resolved. You can
share a muted LocalAudioTrack by callingdisable
. For example,
localAudioTrack.disable();