1.0.0-beta6 (April 20, 2017)
New Features
-
You can now
connectto 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
addTrackandremoveTrackmethods
with a MediaStreamTrack. If successful, these methods return the LocalTrack
added or removed; otherwise, they returnnull. -
Added two new methods to LocalParticipant,
addTracksandremoveTracks, 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
cancelon the CancelablePromise returned by
connectcould 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
getStatsmethod could reject if outbound statistics
were missing in Firefox - Fixed a bug where Room's
getStatsmethod 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
enableanddisablefunctionality 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();