Rate this page:

Migrating From 6.x to 7.x

This page is for reference only. We are no longer onboarding new customers to Programmable Video. Existing customers can continue to use the product until December 5, 2024.

We recommend migrating your application to the API provided by our preferred video partner, Zoom. We've prepared this migration guide to assist you in minimizing any service disruption.

This guide provides an introduction to the 7.x Programmable Video Android SDK and a set of guidelines to migrate an application from 6.x to 7.x.

New Features

  • The minimum supported Android SDK version has been increased from 16 to 21
  • The SDK has been upgraded to use Chromium WebRTC 88
  • The SDK uses Unified Plan SDP semantics instead of Plan-B. This brings several important benefits:
  • Improved interoperability with Firefox, Safari and Chrome in Peer-to-Peer and Go Rooms
  • Track level operations like publishing and unpublishing are more reliable
  • Improved performance of Room.getStats() by adopting the W3C standardized RTC stats API
  • Unused codecs for a track are removed from the local SDP offer in order to reduce the SDP size, once codecs for the track have been negotiated

Android SDK Version

The minimum supported Android SDK version has been increased from 16 to 21.

Updating an Application

In your build.gradle files, ensure all the SDK version values, minSdkVersion, targetSskVersion and compileSdkVersion, are set to 21 or higher, e.g.:

android {
    compileSdkVersion 30
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30

RemoteParticipantObserver Callbacks

The ordering of RemoteParticipantObserver.onAudioTrackSubscribed() and RemoteParticipantObserver.onVideoTrackSubscribed() is not strictly guaranteed.

In this release the ordering of these callbacks may be different when compared to previous releases.


The value of LocalVideoTrackStats.frames_encoded now reflects the total number of frames encoded for a simulcast track.

WebRTC Version

The public API WebRTC classes defined in libwebrtc.jar included with the Video Android SDK have been updated from Chromium WebRTC 83 to WebRTC 88.

Since the public WebRTC 88 API for Android is backward compatible with the WebRTC 83 API, it is not expected that your application would require code changes related to WebRTC classes when upgrading from Android Video SDK 6.x to 7.0.

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Loading Code Sample...

        Thank you for your feedback!

        Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!