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 callconnect(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 calllocalParticipant.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.
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();