- Android SDK goes GA
- Improvement: Final documentation and API tweaks for the release
- Improvement: Track collections are now available on Participants similarly to the web SDK
- Improvement: Error fatality causes you to be pushed out of the Space
- Improvement: Accessor style
- Feature: Display Names
- Improvement: Screenshare example code
- Fix: participant hashing
- Improvement: Make
- Fix: Use the correct subscription limits
- Fix: Use the correct subscriber limits
- Fix: Tracks which were published when an unexpected disconnect occurs are not properly republished when the connection resumes
- Fix: Audio republishing by adjusting the offer debounce
- Fix: Handling when the same holder is reused on the same capturer
- Fix: Capturer shutdown during negotiations
- Feature: Implemented custom events
- Improvement: LibWebRTC Update
- Improvement: Temporarily disables auto capturer shutdown if the activity is being reconfigured
- Improvement: Default to using the speaker phone at all times. This can be configured in
- Improvement: Video quality
- Fix: Layout of
Breaking: A local audio track is now a
LocalAudioTrack which can have the preferred input device overridden with
setPreferredDevice(AudioDeviceInfo audioDevice) - in this way you can set the microphone you want from the devices returned from the system
- Improvement New
Spaces.SdkOptions class (with builder) and method
Spaces.setSdkOptions(options) which enable you to alter the
AudioAttributes (Android system class) used for audio output and disable certain audio processing, such as auto gain control and echo cancellation.
AudioAttributes can be used to set the stream type to the media one, and so bypass the voice call default.
- Feature: Remote Track "Silence" and "Unsilence"
- Improvement: Sets the peer connection bandwidth directly based on simulcast configuration in order to improve video quality.
- Improvement: LibWebRTC Update
Space.getParticipants() now returns a Map of Participant ID -> Participant instead of a Map of Connection ID -> Participant.
Space.getParticipant(String participantId) used to be
- Improvement: Reconnects
- Fix: Various bug fixes
- Breaking: ACR submission API has been redone so it no longer is via
Space.Listener but a separate callback. It still calls back on the UI thread.
- Feature: Reconnects
- Improvement: QoS analytics tooling has been added
- Improvement: Simulcast tuning
- Improvement: Unpublishing video does not stop local rendering of that video
TrackSurfaceRendererView no longer has an
init(Spaces spaces) method. It is no longer needed to perform any unusual initialisation steps.
- Feature: ACR scores (bad, poor, fair, good, excellent) can be submitted via
TrackSurfaceRendererView now encapsulates the actual renderer completely (as opposed to inheriting from it) and provides methods for controlling the aspect ratio. These will be more fully documented in a later version, but largely exist as pass throughs to the libwebrtc implementations.
- Improvement: Changing the default audio source to CAMCORDER to fix active subscriber loudness problem
- Improvement: Better default error handling
- Improvement: Peer connections generate internal SDK errors now
- Improvement: ICE Candidates are queued up
- Improvement: If role is not PUBLISHER then don't create the publish side peer connection (it will be null)
- Fix: Clean up ICE restarts
- Fix: Double dispose related to publish/unpublish/republish
- Improvement: Replace usage of the
Camera1 API with
- Improvement: Exposing the SDK version on the Spaces class as a static method
- Feature: Manual subscriptions
- Improvement: Limits on publishing and subscriptions
- Fix: A repeat problem with participant information ordering on the UI thread
- Improvement: Limiting the number of active views to 25 to work around the
- Improvement: Setting default
managedSubscriptions to 25 and adding an override mechanism for apps
- Fix: Subscription and muting states
- Improvement: API Alignment
- Improvement: Use v1 of signaling protocol
- Initial release of the SDK