support Contact Support | system status System Status
Page Contents

    Known Issues: Brightcove Native Player SDKs

    In this topic, you will learn about the known issues associated with the Brightcove Native Player SDKs.

    General

    Large caption files

    Captions recorded as part of a live event will sometimes produce a captions file with cues that look like this:

    00:00:03.760 --> 00:00:03.960
    This
    
    00:00:03.960 --> 00:00:04.160
    This program
    
    00:00:04.160 --> 00:00:04.400
    This program will
    
    00:00:04.400 --> 00:00:04.600
    This program will be
    
    00:00:04.600 --> 00:00:04.840
    This program will be captioned

    This style of captioning produces a marquee effect, but may have the unintended side effect of producing a caption file up to several megabytes in size. When these captions are selected in the player, the player attempts to download the entire file for parsing and display (VTT captions can not be streamed). This may lead to performance problems in the player, including OutOfMemory errors.

    Brightcove recommends that you reformat these captions into fewer lines:

    00:00:03.760 --> 00:00:04.840
    This program will be captioned

    Third-party frameworks

    Brightcove does not test or provide support for integrating the Brightcove Native SDKs with third-party development frameworks such as Xamarin, React Native and Titanium. Contact your framework provider for integration support. Here are some issues you may run into:

    • When using the Brightcove Native SDK for Android with the Titanium framework, you may experience playback errors with DRM content. This is because the Titanium framework overrides the default Java.net.ResponseCache with its own TiResponseCache .

    Using emulators

    Whether you are using the Android Studio emulator or the Xcode simulator to test video playback, be aware that emulators do not accurately represent how an actual device will perform. While you can use emulators for initial testing during development, it is best practice to use real devices for accurate results.

    Videos with very small dimensions

    Video renditions with very small dimensions (less than 50px) will not play on iOS or Android (in the SDK players or otherwise)

    Native SDK for Android

    360° videos

    • If you do not use the BrightcovePlayer class, your 360° video will play, but the app may crash when pausing and resuming it. To learn more about using this class, see the Understanding the BrightcovePlayer class document.
    • You may experience some video drift after rotating the device. The problem is related to how the device gyroscope is calibrated, and this can affect performance. It is not associated with specific device makes and models, but instead on the motion sensor hardware installed on the device. The newer Android OS's have more sophisticated filter algorithms to correct the problem. A simple fix is to turn off the device and turn it on while it is lying on a flat, stable surface.

    DRM

    • The DRM layer on some platforms may not be able to decrypt the media content. One example of this was found with the Asus Nexus Player running Android 8. This issue is outside the scope of the Android SDK and the ExoPlayer, and cannot be fixed there.

    Live streams

    • The Native Player SDK does not support DASH Live streams, nor does it support ads with HLS Live streams.

    Offline playback

    • With Android 8.0 Oreo, when Background Activity is switched off, a download is started, and the app is put in the background, the download stops and does not continue when the app is reopened. The notification bar displays a status of Downloading...
    • When using Widevine Modular with Android 8.0.0 (and 8.1.0 on some devices), you may notice that a rental license is already expired when you acquire it. This is a known issue with the Widevine Modular CDM, and can not be addressed in either the Brightcove Android SDK or ExoPlayer. Although this issue is not reproducible for most devices using Android 8.1.0, there is no workaround for those devices using Android 8.0.0 or 8.1.0, where it does occur.
    • Observed only with Android 5.x devices: When releasing the Widevine license by calling the OfflineLicenseManager.releaseLicense method, a MediaDrmStateException error is thrown.
    • In the OfflinePlaybackSampleApp, there are two Widevine license expiration periods.

      • absoluteExpiration is an expiration date of the license to start playback of downloaded video
      • playDuration is how long the video can be played

      When playDuration becomes less than 60 seconds, the Widevine CDM handles the license as expired and throws a Failed to get key request error. Playback will not start with this Widevine license exception.

      With the Brightcove Native SDK for Android v6.1.0+, you can try calling AbstractOfflineCatalog.requestRentalLicense(Video, Date, long, EventListener) or AbstractOfflineCatalog.requestPurchaseLicense(Video, EventListener) to retrieve a new license. Note: The device must be online to acquire a new license.

    Playing local videos

    • You will receive an exception error if you try to play MP4 videos stored in the application resource folder (/res/raw). The work-around is to move your MP4 videos to the application asset folder if you want to play local videos.

    Source selection

    • If your video has both HTTP and HTTPS sources for WebVTT captions/subtitles, then the Native SDK for Android may not return the HTTPS version. Brightcove is aware of this situation and will have a fix in a future release.

    Subtitles

    • The CC button will not appear in the control bar and the player will not load text tracks if you assign text tracks to a video in Video Cloud Studio and set the KIND field value to Subtitles. The work-around is to set the KIND field value to Close Captions when you assign text tracks in Studio.

    Version 4.11.0: Known Issues

    • When playing IMA ads on a Fire TV, you may experience a 5 to 10 second delay between the end of one ad playback and the beginning of the next ad. This is especially noticeable when playing multiple ads in an Ad Break. This may be an issue with the Fire TV, since this does not happen on the Nexus player.

    Version 4.10.0: Known Issues

    • With the release of Android TV, there is a known issue when playing Widevine content on the Asus Nexus player. The content appears with several trash pixels. This issue is resolved by updating the Nexus player to Android N (7.0). All research points to a hardware issue. Widevine content plays fine on the Nvidia Shield TV (which has Android TV on it).
    • When the captions/audio settings exceed the space provided to display the full list, the list is not scrollable on Android TV. The list is scrollable on Android phones and tablets.

    Native SDK for iOS

    Live streams

    • The Native Player SDK does not support ads with HLS Live streams.

    Offline playback

    • With iOS 12, setting the kBCOVOfflineVideoManagerDisplayNameKey field value with multibyte characters may cause a download error. This is because multibyte characters are encoded as longer string values, and iOS restricts the string length to 255bytes. This problem has been reported to Apple.
    • With iOS 12, the didProgress event may stop firing when your app is resumed from background to foreground while downloading. You will notice that the downloading status is no longer updated. This problem has been reported to Apple.
    • When playback is attempted for the same offline video two times in a row, the user may experience unexpected network activity. The AVPlayer may switch to playing the online version of the video. A bug report has been submitted to Apple. For work-around steps, see the Playing the Same Offline Video Twice section of the reference document.
    • If your app is targeting iOS 11.0 - 11.2, we don't recommend concurrent downloads because pause and resume behavior is unreliable with multiple simultaneous downloads. The problem has been fixed with iOS 11.3.

    Page last updated on 03 Aug 2020