Skip to main content
Skip table of contents

Viewport size

To test this feature and view the example code, please see the Android SDK 5 Example Code Quick Start guide.

When playing high-quality streams, the CONNECT player checks the viewport dimensions (provided by the application) to determine the available resolution tracks in its adaptive streaming algorithm. If the stream offers both HD and 4K resolution tracks, and the player detects that the display cannot provide 4K, the 4K track will be excluded from the available tracks to consider.

On Android 11 or earlier versions, the system does not support UI rendering in 4K resolution, and the player's adaptive streaming algorithm might not select the highest resolutions offered. The application can override this behaviour by overriding the viewport dimensions in the player configuration before playback starts. To force this change on older devices, follow the steps below and look through the viewport example provided.

Example code

The Java source code in the Viewport example code demonstrates how to use the OTVPlayerConfiguration builder to enable 4K on older devices.

JAVA
    OTVPlayerConfiguration.Builder configurationBuilder = new OTVPlayerConfiguration.Builder();
    Pair<Integer, Integer> viewportSize = new Pair<>(3840, 2160);

    // The viewport size should be decided automatically in normal case by SDK.
    // Setting viewport size is not recommended.
    // Value Integer.MAX_VALUE for viewport height and width means
    // without any limits for the viewport size.
    if (viewportSize != null) {
      configurationBuilder.setViewportWidth(viewportSize.first)
        .setViewportHeight(viewportSize.second)
        .setViewportOrientationChange(true);
    }

    // The player configuration has to be set before set video path
    mOTVVideoView.setPlayerConfiguration(configurationBuilder.build());
    mOTVVideoView.setVideoPath(STREAM_URI);
    mOTVVideoView.start();
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.