Notes de mise à jour du kit SDK natif de Brightcove pour Android

Dans cette rubrique, vous trouverez les dernières informations sur les modifications et améliorations apportées au SDK natif Brightcove pour Android.

Inscrivez-vous à la liste de diffusion et recevez les annonces de sortie des SDK natifs :

Version actuelle

Version 8.0.0

11 janvier 2023

Cette version majeure du SDK natif Brightcove pour Android contient des changements comportementaux importants. Pour plus de détails, consultez le document The Native SDK pour Android version 8.0.0.

Modifications du SDK :

  • Avec cette version du SDK natif Brightcove pour Android, la lecture en avant-plan et en arrière-plan de contenu audio uniquement est prise en charge.
  • L' MediaPlayback interface fait abstraction de la lecture VideoView pour permettre la lecture continue de supports uniquement audio. Le MediaPlayback communique l'état de lecture à la notification et au VideoView.
  • Prise en charge d'un service d'avant-plan permanent pour une lecture continue.
  • Amélioration du chargement des listes de lecture et de la mise en mémoire tampon des médias pour une expérience plus fluide pour l'utilisateur final.

Modifications d'ExoPlayer :

  • Ajout d'une notification de type média avec des commandes de lecture personnalisables à partir de l'écran de notification et de l'écran de verrouillage. Cette BrightcoveNotification classe associe la lecture à un service de premier plan.

Versions précédentes

Version 7.1.4

16 novembre 2022

Modifications du plug-in Cast :

  • Prend en charge l' CustomData objet EmeHeaders du récepteur Brightcove Cast.

Version 7.1.3

27 octobre 2022

Modifications du SDK :

  • Résout un problème selon lequel, pour certaines demandes de mesures d'analyse de lecture, aucun paramètre de video_duration demande n'était inclus.
  • Correction d'un problème concernant la prise en charge de Live HLSe avec la protection des clés de licence.

Version 7.1.2

30 septembre 2022

Modifications du SDK :

  • Ajout de la prise en charge du son Dolby Atmos. Étant donné que tous les appareils Android ne prennent pas en charge la lecture de ce format, il est recommandé de transcoder le contenu pour produire des variantes audio stéréo et Dolby Atmos. Pour plus de détails, consultez le Audio Dolby Atmos document.

Modifications d'ExoPlayer :

  • Ajout de la prise en charge des valeurs de rôle DASH Dub et Description.

Version 7.1.1

1er septembre 2022

Modifications du SDK :

  • Correction d'un problème de performance qui pouvait survenir lors du chargement de sous-titres fermés de grande taille.

Modifications d'ExoPlayer :

  • Ajoute des méthodes setter et getter pour la allowChunklessPreparation propriété ExoPlayer's HLSMediaSource.Factory. Avec Exoplayer 2.17.0, la valeur par défaut de cette propriété a été modifiée de false à true, ce qui a eu pour effet secondaire involontaire de désactiver l'affichage des sous-titres 608/708 s'ils étaient présents dans du contenu HLS. Si votre contenu HLS inclut des sous-titres 608/708, utilisez le ExoPlayerVideoDisplayComponents setAllowHlsChunklessPreparation(false) pour désactiver la préparation HLS sans blocs dans ExoPlayer HLSMediaSource.Factory, ce qui rétablira l'affichage des sous-titres 608/708.

Version 7.1.0

22 août 2022

Modifications du SDK :

  • Ajout de la prise en charge d'une propriété Source de cryptage avec les flux HLSe Live.
  • Amélioration de la gestion des réponses pour les connexions Generic Stream Concurrency.
  • Résout un problème selon lequel une durée nulle ou manquante renvoyée pour une vidéo en direct à distance créée dans VideoCloud Studio entraînait un VideoParserException.
  • Ajoute un type d'événement GSC (Generic Stream Concurrency), GSC_HEARTBEAT_STOPPED.

Modifications d'ExoPlayer :

  • Fournit des méthodes setter et getter ExoPlayerVideoDisplayComponent pour DefaultRenderersFactory.
  • Dans la TrackSelectorHelper classe, applySelectionOverride(int, SelectionOverrideCreator) est obsolète. Veuillez l'utiliser à applyTrackSelectionOverrides(int, TrackSelectionOverrideCreator) la place.
  • Corrige les rappels pour récupérer les métadonnées du média pendant la lecture.

Modifications du plug-in SSAI :

  • Cette version du SDK natif Brightcove pour Android est la dernière à utiliser la bibliothèque IAB Android de Brightcove en tant que dépendance externe. Les prochaines versions du SDK incluront la bibliothèque Android de l'IAB en tant qu'intégration dans le plugin SSAI.
  • Résout un problème d'analyse avec BrightcoveDebug les éléments dotés de balises à fermeture automatique.
  • Avec cette version, Live DRM avec SSAI est pris en charge.

Version 7.0.1

6 juillet 2022

Modifications du SDK :

  • Avec cette version du SDK natif Brightcove pour Android, MediaPlayer n'est plus pris en charge pour la lecture de contenu.
  • Le SDK natif de Brightcove pour Android est désormais compatible avec Android 12.
  • Le SDK natif de Brightcove pour Android prend désormais en charge la lecture des flux en direct HLS à faible latence.

Modifications d'ExoPlayer :

Le SDK du lecteur natif de Brightcove pour Android prend désormais en charge ExoPlayer 2.17.1. Veuillez noter les modifications majeures suivantes apportées à cette mise à niveau :

  • Cette version d'ExoPlayer nécessite Java 11 et Gradle 7.4.
  • La DRMSession <T étend l' interface ExoMediaCrypto></T > ne nécessite plus de paramètre.
  • L' ExoPlayerDRMSessionManager <T étend l' interface ExoMediaCrypto></T > ne nécessite plus de paramètre.
  • Dans le TrackSelectorHelper classe, la méthode updateTracksSelectionArray(@Nullable TrackSelectionArray trackSelections) est obsolète et remplacé par updateTracksGroupInfos(@Nullable ImmutableList <TracksInfo.TrackGroupInfo> trackGroupInfos).
  • Dans le MediaSourceUtil classe, la méthode findRenditionUrl(@NonNull HlsMasterPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format) est obsolète et est remplacé par findRenditionUrl(@NonNull HlsMultivariantPlaylist hlsMasterPlaylist, int trackType, @NonNull Format format).
  • Dans le ExoAdPlayer classe, le constructeur nécessite une StyledPlayerView au lieu d'un PlayerView.
  • La classe DashAudioTrackSelector est désormais obsolète et remplacée par ExoPlayerVideoDisplayComponent*.setPeakBitrate(int)*.
  • La classe DashPeakBitRateTrackSelector est désormais obsolète et remplacée par ExoPlayerVideoDisplayComponent*.setPeakBitrate(int)*.
  • La classe HLSPeakBitrateTrackSelector est désormais obsolète et remplacée par ExoPlayerVideoDisplayComponent*.setPeakBitrate(int)*.

Modifications du plug-in Cast :

  • Mise à jour de la prise en charge de l'extension Cast d'ExoPlayer vers la version 2.17.1
  • Dans le Composant GoogleCast classe, les méthodes loadItems(MediaQueueItem, int) et addItems(MediaQueueItem) maintenant revenir annuler au lieu de En AttenteRésultat RemoteMediaClient.MediaChannelResult>.

Correction d'un problème lors de la diffusion de vidéos DRM à distance, où l'expéditeur Cast envoyait un champ CustomData inattendu à l'application Brightcove Cast Receiver.

Plug-in IMA :

  • La dépendance du SDK Google IMA a été mise à jour vers la version 3.27.0. Cette mise à jour inclut la prise en charge d'Android 12.

Plugin d'impulsion :

  • Prise en charge du SDK Pulse mise à jour vers 2.5.20.3.0

Modifications du plug-in SSAI :

  • Le composant SSAIC prend désormais en charge l'utilisation de l'objet VMAP XML de Brightcove VideoCloud en tant que source. Pour utiliser un objet XML VideoCloud VMAP comme source, appelez processVideo(String vmapXmlString) dans le Composant SSAI classe.

Version 6.18.6

14 juin 2022

Modifications du SDK :

  • Corrige un problème de thread dans la Catalog classe, qui obligeait la version 6.18.5 du SDK à Catalog définir et à instancier uniquement à partir du fil principal du joueur. À partir de la version 6.18.6, le Catalog doit toujours être défini dans la Player Activity classe, mais l'instanciation peut être appelée depuis d'autres threads. Reportez-vous aux exemples d'applications du SDK Android Brightcove pour obtenir des exemples de définition et d'instanciation du Catalog.
  • Mise à jour de la version de la dépendance GSON de 2.8.5 à 2.8.9 en réponse à un rapport CVE (CVE-2022-25647) concernant une vulnérabilité possible dans certaines classes, dont aucune n'est utilisée par le SDK Brightcove.

Modifications d'ExoPlayer :

  • Correction d'un problème qui faisait qu'une recherche dans un lecteur en pause entraînait l'absence de mise à jour de la barre de recherche lors de la reprise de la lecture.
  • Résout un problème lié aux protocoles TTL du manifeste court, selon lequel le paramètre DRM multisession n'était pas réappliqué lorsque la vidéo était actualisée après l' timestamp expiration de son manifeste.

Version 6.18.5

27 mai 2022

Modifications du SDK :

  • Prise en charge des TTL courts pour les manifestes.
  • IMPORTANT: L'utilisation de cette version du SDK nécessite que le catalogue et les HttpRequestConfig objets soient instanciés sur le fil principal du joueur ( onCreate selon sa méthode). Notez que ces objets peuvent être définis soit globalement (ce qui est préférable), soit dans la onCreate méthode. Veuillez vous référer à l' application BasicSsaiSampleApp pour un exemple d'objets définis et instanciés localement, et à l' application VideoViewListSampleApp pour un exemple d'objets définis globalement et instanciés localement. Veuillez également noter qu'il s'agit d'une exigence indépendante de l'utilisation de la fonction "Short Manifest TTLs".

Modifications du plug-in SSAI :

  • Prise en charge des TTL courts pour les manifestes.

Version 6.18.4

20 mai 2022

Modifications du SDK :

  • Corrige un problème qui pouvait provoquer une panne si un compte non configuré pour le Generic Stream Concurrency (GSC) tentait de lire du contenu dans un lecteur configuré pour le GSC.
  • Amélioration de la gestion des erreurs du SGC dans les cas où des jetons non valides ou expirés peuvent être utilisés lors de la lecture d'un contenu.

Version 6.18.3

6 mai 2022

Modifications du SDK :

  • Résout un problème d'accessibilité selon lequel, lorsque la barre de recherche est activée, le pourcentage de progression de la vidéo est constamment lu par le TalkBack système.
  • Corrige un problème d'accessibilité où le fait de double-taper sur la vue vidéo se focalisait sur la barre de recherche et provoquait une recherche inattendue dans la vidéo.

Modifications d'ExoPlayer :

  • ExoPlayerVideoDisplayComponent fournit désormais une méthode getter qui renvoie l'instance actuelle de WidevineMediaDrmCallback, ou une instance vide si elle doit être créée.

Modifications du plug-in des vignettes :

  • Correction d'un problème où les listes de lecture contenant un mélange de vidéos du nuage de vidéos et de vidéos distantes entraînaient l'affichage d'une vignette de la dernière vidéo du nuage de vidéos lue lors de la sélection d'une vidéo distante.

Version 6.18.2

24 mars 2022

Modifications du SDK :

  • Correction d'un problème en video_engagement raison duquel les événements Analytics pour les vidéos VOD à distance pouvaient avoir un video_seconds_viewed paramètre au lieu du paramètre de plage attendu.
  • Correction de l'écoute des clics sur les boutons du lecteur lors de l'utilisation de tables de dessin personnalisées.
  • Correction d'un problème à cause duquel un appel NumberUtil.safeLongToInt pouvait se bloquer lorsque son entrée était trop volumineuse. Désormais, lorsque l'entrée ne peut pas être convertie en toute sécurité, la méthode renvoie Integer.MIN_VALUE un message explicatif.

Modifications d'ExoPlayer :

  • Correction d'un problème où, dans le cas de listes de lecture mixtes contenant des contenus DRM et transparents, la lecture échouait si une vidéo transparente était chargée après la lecture d'une vidéo DRM.
  • Ajout de la prise en charge de la définition de la multiSession propriété (requise pour la rotation des touches) lors de la création du DefaultDrmSessionManager dans ExoPlayer.

Version 6.18.1

26 janvier 2022

Modifications d'ExoPlayer :

  • Ajout d'une vérification pour remédier à un plantage qui pourrait survenir si l'instance d'ExoPlayer devenait nulle et getCurrentManifest() était appelée dans le ExoPlayerVideoDisplayComponent.

Version 6.18.0

21 décembre 2021

Modifications du SDK :

  • IMPORTANT: La prise en charge des types de données entières dans les propriétés du lecteur, du contenu et des événements est obsolète dans les domaines suivants du contenu et de la diffusion des publicités :
    • Position de la tête de lecture, pour la vidéo à la demande et la lecture en direct
    • Durée de la vidéo

    Pour obtenir la liste complète des champs et des méthodes migrés, consultez le site Android : Document d' assistance sur la position de la tête de lecture et la durée de la vidéo.

Modifications du plug-in SSAI :

  • Avec cette version, le plugin SSAI a été remanié pour mieux prendre en charge les cas d'utilisation de la lecture et de la recherche.
  • Correction d'un problème où la recherche d'un lecteur en pause sur des publicités pouvait charger les mauvaises commandes du lecteur.

  • Pour une description complète des changements comportementaux et au niveau de l'API apportés à ce plugin, consultez le Modifications du plug-in SSAI avec Android SDK v6.18.0 pièce justificative.

Version 6.17.3

10 décembre 2021

Modifications du SDK :

  • Correction d'un problème de Generic Stream Concurrency (GSC) où la deuxième demande de heartbeat suivait la première demande 30 secondes plus tard, au lieu de la fréquence configurée par le compte.
  • Améliorations de la fonctionnalité de demande de battement de cœur du GSC pendant les événements du cycle de vie de l'activité du lecteur, du fragment de lecteur et de l'image dans l'image, ainsi que des tentatives de relance en cas d'échec de la demande de battement de cœur.

Version 6.17.2

19 Nov 2021

Modifications du SDK :

  • Cette version ajoute la prise en charge du Generic Stream Concurrency (GSC). Veuillez consulter les pages de support de Brightcove pour plus d'informations.
  • Contraintes
    • Le Chromecast n'est pas pris en charge dans cette version. La prise en charge de Chromecast sera incluse dans une prochaine version du SDK.
  • Problèmes connus
    • Lors de l'envoi de demandes au service heartbeat du SGC, la deuxième demande suivra la première demande 30 secondes plus tard, au lieu de la fréquence définie pour le compte. Ce problème ne se produit que lors de la deuxième demande de battement de cœur, n'affecte pas la lecture et sera résolu dans une prochaine version du SDK.

Version 6.17.1

14 oct. 2021

Modifications d'ExoPlayer :

  • Correction d'un problème de journalisation trop détaillée à partir du ExoPlayerVideoDisplayComponent

Version 6.17.0

8 oct. 2021

Modifications du SDK :

  • Le SDK natif de Brightcove pour Android prend désormais en charge Android 11

Modifications d'ExoPlayer :

  • Le SDK natif de Brightcove pour Android prend désormais en charge ExoPlayer 2.14.2. Veuillez prendre note des modifications suivantes :

    • Dans la ExoPlayerVideoDisplayComponent classe, la getBrightcoveDrmSession() : BrightcoveDrmSession méthode est obsolète. Au lieu de cela, veuillez utiliser ExoPlayerDrmSessionManager. See ExoPlayerVideoDisplayComponent:getExoPlayerDrmSessionManager(): ExoPlayerDrmSessionManage

    • Dans la ExoPlayerVideoDisplayComponent classe, dans la InfoListener sous-classe, la méthode onDecoderInitialized(AnalyticsListener.EventTime eventTime, int trackType, String decoderName,long initializationDurationMs) est obsolète. Veuillez plutôt utiliser onAudioDecoderInitialized(AnalyticsListener.EventTime eventTime, String decoderName, long initializationDurationMs) : void et/ou onVideoDecoderInitialized(AnalyticsListener.EventTime eventTime, String decoderName, long initializationDurationMs) : void

    • Le constructeur de la ExoPlayerDrmSessionManager classe est obsolète. Utilisez plutôt le ExoPlayerDrmSessionManager.Builder

    • Le constructeur de la OfflineLicenseManager classe est obsolète. Le utilise OfflineLicenseManager désormais le modèle Builder. Voir OfflineLicenseManager.Builder

    • Dans la classe BrightcoveSegmentTemplate, la méthode getSegmentCount(long periodDurationUs) est obsolète. Veuillez plutôt utiliser getSegmentCountLong(long periodDurationUs)

    • Cette version d'ExoPlayer nécessite que toute instance d'ExoPlayer soit créée et accessible dans le thread principal, de sorte que tout accès à la ExoPlayerVideoDisplayComponent.getExoPlayer méthode ou accès direct à une méthode ExoPlayer doit également se faire sur le fil principal. Version 6.16.6

Version 6.16.6

4 oct. 2021

Modifications du SDK :

  • Améliore la video_seconds_viewed mesure des video_engagement événements envoyés au backend de Brightcove Analytics

Modifications d'ExoPlayer :

  • Correction d'un problème où un appareil pouvait se mettre en veille pendant la lecture d'une publicité

Version 6.16.5

23 août 2021

Modifications du SDK :

  • Amélioration de la prise en charge des sous-titres 608/708 dotés d'un attribut de langue
  • Émettre un DID_SET_VIDEO_STILL_ERROR événement lorsque l'image de l'affiche d'une vidéo ne peut pas être chargée

Modifications d'ExoPlayer :

  • Émettre un événement AD_ERROR d'erreur si le chargement de la publicité est interrompu ou si l'ExoAdPlayer ou son contexte sont nuls

Modifications du plug-in de lecture hors ligne :

  • Correction d'un problème où la mise en arrière-plan ou la sortie de l'application pouvait entraîner l'échec de la lecture du contenu hors ligne

Version 6.16.4

4 août 2021

Modifications de la lecture hors ligne :

  • Correction d'un problème qui empêchait le téléchargement de certains fichiers images

Version 6.16.3

1 juillet 2021

Modifications du SDK :

  • Ajout de la prise en charge du filigrane médico-légal. Pour plus de détails, consultez le Filigrane médico-légal avec des SDK natifs document.
  • Mise à jour de la VideoUtils classe pour ajouter une méthode utilitaire permettant de supprimer les sources de sous-titres des sidecars de l'objet Video
  • Correction d'un problème en raison duquel le paramètre video_duration URL n'était pas inclus dans les demandes de création de rapports adressées au backend Analytics de Brightcove

Modifications du plug-in Cast :

  • Ajout de la prise en charge de la définition d'une URL vers un lecteur personnalisé pour l'application de récepteur Cast. Veuillez vous référer à la documentation de support Android SDK pour plus d'informations
  • Ajout de la prise en charge de l'envoi d'informations sur les sous-titres et les pistes audio sélectionnées à un récepteur Cast

Modifications de la lecture hors ligne :

  • Ajout de la prise en charge de la définition des propriétés dans la AbstractOfflineCatalog classe. Les propriétés du catalogue hors ligne peuvent être définies de deux manières :

    • Sous forme Map<String, String> de paires clé/valeur en utilisant la setProperties(Map<String, String>) méthode
    • Grâce à la getProperties().put(key, value) méthode
  • Ajout du support pour la création de NotificationChannels personnalisations dans la DownloadManager classe. Veuillez vous référer à la documentation de support Android SDK pour plus d'informations

Version 6.16.2

10 mai 2021

Modifications du SDK :

  • Correction d'un problème à cause duquel les pistes de texte de ce type n' subtitles étaient pas analysées ou affichées
  • Correction d'un problème où les pistes de texte qui ont le position attribut avec le supplément line-left ou line-right l'attribut n'était pas analysé ou affiché

Modifications d'ExoPlayer 2 :

  • Correction d'un problème où un index incorrect pouvait être utilisé pour obtenir la langue audio actuellement sélectionnée

Modifications du plug-in Omniture :

  • Correction d'un problème où le rythme cardiaque continuait après la destruction du joueur

Modifications du plug-in SSAI :

  • Ajout de la prise en charge de l'analyse pour les éléments d'extension VAST et VMAP imbriqués

  • Ajout du support d'analyse pour les AdVerification éléments VAST

Version 6.16.1

12 janv. 2021

Modifications du SDK :

  • Rapports d'engagement vidéo améliorés pour les vidéos SSAI VOD.
  • La DashWidevineAuthorizer classe est obsolète. Veuillez utiliser le WidevineAuthorizer classe à la place.

Modifications du plug-in IMA :

  • Le SDK Google IMA a été mis à jour vers la version 3.21.1.
  • Amélioration de la prise en charge des publicités désactivables et correction d'un problème où les publicités désactivables pouvaient ne pas se fermer correctement et l'audio des publicités pouvait être entendu après la reprise de la lecture du contenu.
  • Correction d'un problème avec la définition des types mime pour les publicités, où les types mime fournis par l'utilisateur n'étaient pas définis par le constructeur du plug-in.
  • Ajout de méthodes pratiques de plugin Builder pour :
    • Définition de types ad MIME dans l' AdsRenderingSettings objet - voir Builder.setMimeTypes(List) : void
    • Réglage du délai de chargement de la vidéo publicitaire dans l' AdsRenderingSettings objet - voir Builder.setLoadVideoTimeout(int) : void
    • Configuration du mode de débogage dans l' ImaSdkSettings objet - voir Builder.setDebugMode(boolean) : void
  • Veuillez noter :

    Ces méthodes pratiques sont des méthodes membres dans le AdsRenderingSettings et ImaSdkSettings Objets du SDK IMA Google. Lorsqu'elles sont appelées directement via le générateur, ces méthodes configureront le AdsRenderingSettings et ImaSdkSettings objets créés par défaut dans le générateur.

    Si vous décidez de créer des objets personnalisés AdsRenderingSettings et des objets du SDK ImaSdkSettings Google IMA à utiliser dans le plugin IMA, vous pouvez appeler directement les méthodes de ces objets :

    • AdsRenderingSettings.setMimeTypes(List) : void
    • AdsRenderingSettings.setLoadVideoTimeout(int) : void
    • ImaSdkSettings.setDebugMode(boolean) : void

Modifications du plug-in SSAI :

  • Ajout de la prise en charge des flux Live SSAI créés en tant qu'objets vidéo distants.

Version 6.16.0

14 oct. 2020

Modifications du plug-in Cast :

  • Le plugin Cast a été repensé et prend désormais en charge le Brightcove Cast Receiver v2.0.
  • Veuillez vous reporter à la documentation du Brightcove Android Native SDK et aux exemples d'applications Brightcove Android Native SDK pour plus d'informations et des exemples de code.

Version 6.15.1

22 sept. 2020

Modifications du SDK :

  • Le Brightcove Native SDK pour Android prend désormais en charge la langue arabe (RTL) dans les commandes de lecteur et les étiquettes d'interface utilisateur.

  • Veuillez noter : Bien que le texte en langue arabe (RTL) soit pris en charge, seules les dispositions de contrôle de lecteur de gauche à droite (LTR) sont actuellement prises en charge.

  • Correction d'un problème où certains video_view et video_engagement Les paramètres d'événement Analytics peuvent inclure des chiffres arabes non occidentaux pour les paramètres suivants :

    • :video_view
      • start_time_ms
      • load_time_ms
    • :video_engagement
      • range
      • video_seconds_viewed

Modifications du plug-in Cast :

  • Le plug-in Cast prend désormais en charge le texte arabe (RTL) dans les contrôles de diffusion et les étiquettes d'interface utilisateur.
  • Veuillez noter que la prise en charge de la langue arabe ne s'étend pas aux affichages (temps écoulé et durée de la vidéo) dans le contrôleur étendu Cast.

  • L'affichage de ces composants est contrôlé par l'API Google Cast.

Modifications du plug-in de lecture hors ligne :

  • Le plug-in de lecture hors ligne prend désormais en charge le texte arabe (RTL) dans les étiquettes d'interface utilisateur.

Modifications du plug-in Pulse :

  • Le plug-in Pulse prend désormais en charge le texte arabe (RTL) dans les contrôles publicitaires et les étiquettes d'interface utilisateur.

Modifications du plug-in SSAI :

  • Le plug-in SSAI prend désormais en charge le texte arabe (RTL) dans les contrôles publicitaires et les étiquettes d'interface utilisateur.

Version 6.15.0

25 août 2020

Modifications du SDK :

  • Implémentation d'une vérification nulle supplémentaire pour les URI de légende

Modifications d'ExoPlayer :

  • Correction d'une régression dans le ExoPlayerVideoDisplayComponent setPeakBitrate() méthode où le débit binaire spécifié serait ignoré et le débit binaire le plus élevé sélectionné à la place.

Modifications du plug-in IMA :

  • Le SDK Google IMA a été mis à jour vers la version 3.19.4. Certains des changements incluent :

    • SdkFactory.createAdDisplayContainer() est obsolète
    • AdDisplayContainer.setPlayer(VideoAdPlayer) est obsolète
    • AdDisplayContainer.setAdContainer(ViewGroup) est obsolète
    • AdsRequest.setAdDisplayContainer(AdDisplayContainer) est retiré

      Pour la liste complète des modifications, veuillez vous référer à l'historique des versions du SDK Google IMA Android.

  • Les GoogleIMAComponent utilise maintenant un Builder pour sa construction.
  • Le plugin IMA crée automatiquement le AdDisplayContainer en utilisant le BrightcoveVideoView par défaut.

    Vous pouvez fournir un AdDisplayContainerFactory à la GoogleIMAComponent.Builder fournir le vôtre AdDisplayContainer.

  • Les méthodes suivantes étaient obsolètes dans la GoogleIMAVideoAdPlayer classe :
    • playAd(). Use playAd(AdMediaInfo) au lieu
    • loadAd(String). Use loadAd(AdMediaInfo, AdPodInfo) au lieu
    • stopAd(). Use stopAd(AdMediaInfo) au lieu
    • resumeAd(). Use playAd(AdMediaInfo) au lieu
    • pauseAd(). Use pauseAd(AdMediaInfo) au lieu

  • Correction d'un problème à cause duquel le plugin IMA n'émettait pas les AD_PAUSED/AD_RESUME événements lors de l'appel GoogleIMAVideoAdPlayer.pauseAd et GoogleIMAVideoAdPlayer.resumeAd, respectivement.

    Pour plus d'informations, veuillez consulter la présentation du kit de développement logiciel Brightcove Android sur le site d'assistance de Brightcove.

Modifications du plug-in VMAP :

  • Le plug-in VMAP obsolète a été supprimé du Brightcove Native SDK pour Android. Pour la diffusion d'annonces VMAP, veuillez continuer à utiliser le plug-in IMA.

Modifications du plugin OnceUx :

  • Le plug-in OnceUx obsolète a été supprimé du Brightcove Native SDK pour Android. Veuillez utiliser le plugin SSAI à la place.

Version 6.14.1

7 août 2020

Modifications du plug-in SSAI :

  • Résout un problème où le CustomClick l'élément ne parviendrait pas à analyser.

  • Résout un problème d'analyse de l'élément d'extension VAST.

Version 6.14.0

8 juil. 2020

Modifications du SDK :

  • Intégration améliorée avec Android TalkBack (et Samsung Voice Assistant).

  • Les VideoParser ignorera désormais toute source DRM qui ne contient pas de systèmes de clés Widevine.

  • Correction d'un problème où le VideoParser ne parviendrait pas à analyser une source VTT miniature qui ne contient pas la propriété de bande passante.

  • Correction d'un problème sur les plates-formes Android TV où le bouton Options du lecteur ne s'affichait pas une fois l'insertion publicitaire côté serveur terminée.

Modifications du plug-in IMA :

  • ExoPlayer est maintenant utilisé pour la lecture d'annonces au lieu de MediaPlayer.

Version 6.13.3

21 mai 2020

Modifications du SDK :

  • Amélioration du rendu du texte ruby dans les sous-titres codés side-car. Une amélioration similaire pour les sous-titres dans le manifeste est à venir.

Modifications du plug-in Cast :

  • Correction d'un problème où l'activité n'était pas libérée comme prévu lorsque le plugin Chromecast est utilisé.

Modifications du plug-in IMA :

  • Ajout de la prise en charge du ciblage par segment d'audience (annonce), dans lequel des paires clé/valeur sont ajoutées au paramètre cust_params de l'URL du tag d'emplacement publicitaire.

Modifications du plug-in SSAI :

  • Ajout de la prise en charge du ciblage par segment d'audience (annonce), par lequel des paires clé/valeur sont ajoutées à l'URL source VMAP.

  • Correction d'un problème où une URL vide ou mal formée dans un élément de suivi VAST peut provoquer un plantage de l'application

Version 6.13.2

24 avr. 2020

Modifications de la lecture hors ligne :

  • Mise à niveau de la dépendance FileDownloader vers la v1.7.7

    Cette mise à niveau résout un problème où le téléchargement pendant que l'application est en arrière-plan pouvait s'interrompre de manière inattendue.

Modifications du plug-in des vignettes :

  • Correction d'un problème d'alignement entre le scrubber et l'aperçu des vignettes sur Android TV

Version 6.13.1

16 avr. 2020

Modifications du SDK :

  • Ajout de la prise en charge des vidéos HEVC.

    Sur les appareils prenant en charge HEVC (avec API de niveau 21 et supérieur), la lecture de HEVC est désormais automatiquement disponible. Voir la documentation pour les détails techniques.

Modifications du plug-in Pulse :

  • Ajout de la recherche sans prise en charge des annonces lors de la configuration adsDisabled au VideoPlaybackController

  • Ajout de la prise en charge de la lecture des annonces de renvoi Pulse

  • Ajout d'un message pour indiquer quand l'utilisateur est dans une annonce en pause

Modifications du plug-in des vignettes :

  • Augmentation de la taille de l'image miniature affichée sur les tablettes

  • Augmentation de la vitesse de déplacement des vignettes sur Android TV

Modifications du plug-in SSAI :

  • Correction d'un problème où les sous-titres pouvaient être désynchronisés avec la vidéo

Version 6.12.0

5 mars 2020

Modifications du SDK :

  • Obsolète BrightcoveSurfaceView.isVideo360Supported(). Sur la base des versions actuellement prises en charge, il renvoie toujours true.

Plugin d'impulsion :

  • Avec cette version, le Brightcove Native SDK pour Android implémente le plug-in Pulse Advertising.

Version 6.11.0

7 févr. 2020

Modifications du SDK :

  • Ajout de la prise en charge du service de gestion des droits de lecture Brightcove.

  • Changement radical: L'objet Playlist est désormais immuable.

  • L'objet Playlist peut désormais contenir un mélange de vidéos avec statut Status.OK et Status.ERROR

  • :Playlist.getErrorVideos() Cette nouvelle méthode renverra uniquement les vidéos avec le statut de Status.ERROR

  • :Playlist.getAllVideosAndErrors() Cette nouvelle méthode renverra toutes les vidéos avec leur statut Status.OK et Status.ERROR, selon le même ordre que celui indiqué dans la réponse du service de gestion des droits de lecture

  • Remarque : Playlist.getVideos() et Playlist.getCount() se comportent de la même manière que les versions précédentes, c'est-à-dire qu'elles ne prennent en compte que les vidéos avec statut Status.OK

  • Ajoutée ErrorListener.onError(List) rappeler.

  • Obsolète ErrorListener.onError(String) rappeler.

  • L'objet Vidéo a maintenant un code d'état, qui peut être soit Status.OK ou Status.ERROR. Vous pouvez récupérer le statut via Video.getStatus():Status.

  • :Status.OK La Vidéo a toutes les propriétés attendues et n'a pas Video.Fields.ERRORS dedans.

  • :Status.ERROR La vidéo a Video.Fields.ERRORS dans ses propriétés sous forme de List<CatalogError>.

Plugin VMAP :

  • Le plugin VMAP a été déprécié. Pour la publicité côté client avec des documents VMAP et VAST, veuillez utiliser le plugin IMA.

Version 6.10.1

17 janv. 2020

Modifications d'ExoPlayer :

  • Correction d'un plantage lors de la tentative de lecture d'un flux HLS Live.

Modifications de la lecture hors ligne :

  • Correction d'un problème où certains fichiers de sous-titres VTT ne se téléchargeaient pas avec succès.

Plugin Cast :

  • Ajout de nouveau CastMediaUtil.toMediaInfo méthodes sans le paramètre Android Context inutile.

  • Obsolète CastMediaUtil.toMediaInfo méthodes avec le paramètre Android Context inutile.

Version 6.10.0

19 déc. 2019

Modifications du SDK :

  • Changement radical: Le Brightcove Android Native SDK est désormais conçu à l'aide des bibliothèques AndroidX (JetPack). Veuillez vous référer aux pages de support Android SDK pour plus d'informations sur ce changement et les étapes requises pour migrer votre code d'application.

  • Correction d'un problème avec le backgroundOpacity méthode dans BrightcoveCaptionStyle où cette méthode ne définissait pas l'opacité de l'arrière-plan sur les légendes comme prévu.

  • Correction d'un problème où la fonctionnalité plein écran ne fonctionnait pas comme prévu dans le BrightcovePlayerFragment.

Modifications d'ExoPlayer :

  • La prise en charge d'ExoPlayer dans le Brightcove Android Native SDK a été mise à niveau vers 2.10.8.

  • Correction d'un problème dans la sélection des pistes audio où les rendus à débit binaire plus élevé ne pouvaient pas être sélectionnés après avoir changé de langue.

Modifications du plug-in IMA :

  • Ajoute la prise en charge du contenu en direct avec des publicités pré-roll côté client.

Modifications du plug-in SSAI :

  • Correction d'un problème où le bouton Légendes ne s'affichait pas systématiquement pendant la lecture du contenu. Veuillez noter que ce problème n'est actuellement résolu que pour les appareils mobiles ; une solution pour les appareils Android TV suivra dans une prochaine version.

Version 6.9.0

22 oct. 2019

Modifications du SDK :

  • Le SDK Android cible et prend désormais en charge Android 10 (targetSdkVersion 29).

  • Corrige une RunTimeException : « Canvas : essayer d'utiliser un bitmap recyclé », lors de la tentative d'affichage de l'image de l'affiche.

  • Ajout des constantes de commodité suivantes en tant que clé de paramètres de requête HttpRequestConfig :

    • HttpRequestConfig.KEY_DELIVERY_RULE_CONFIG_ID Utilisé pour ajouter un ID de configuration des règles de livraison
    • HttpRequestConfig.KEY_AD_CONFIG_ID Utilisé pour ajouter un ID de configuration d'annonce SSAI

Modifications d'ExoPlayer v1 :

  • Toute la prise en charge d'ExoPlayer 1.x a été supprimée du Brightcove Native SDK pour Android. Veuillez vous assurer d'utiliser ExoPlayer v2. Pour plus de détails, consultez le Migration vers le framework ExoPlayer 2 document.

Modifications du plug-in SSAI :

  • Les flux DVR en direct et en direct avec l'insertion d'annonces côté serveur (Live SSAI) sont désormais pris en charge.

  • Changement radical: Le Event.PLAYHEAD_POSITION propriété dans les deux événements, EventType.PROGRESS et EventType.AD_PROGRESS , contient désormais la position absolue de la tête de lecture, qui est la même position de la tête de lecture donnée par le lecteur sous-jacent.
    Veuillez utiliser à la Event.PROGRESS_BAR_PLAYHEAD_POSITION place pour obtenir la position relative de la tête de lecture.

  • Les Event.PROGRESS_BAR_PLAYHEAD_POSITION propriété a été introduite pour les deux EventType.PROGRESS et EventType.AD_PROGRESS événements qui contiennent la position relative de la tête de lecture (comme Event.PLAYHEAD_POSITION fait dans les anciennes versions).

  • Ajout de commandes publicitaires pour Android TV.

  • Correction d'un problème où le bouton de rembobinage ne rembobinait pas correctement après des clics consécutifs.

Version 6.8.1

31 mai 2019

Modifications d'ExoPlayer2 :

  • ExoPlayer2 a été rétrogradé à la version 2.9.3 en raison d'un problème avec les pistes audio multiples HLS dans la version 2.9.6.

Modifications de la lecture hors ligne :

  • Ajoutez la prise en charge du service d'authentification de lecture (PAS).

  • Les méthodes suivantes sont ajoutées au com.brightcove.player.edge.AbstractOfflineCatalog:

    • findOfflineVideoById(String, @NonNull HttpRequestConfig): Video
    • findOfflineVideoById(String, @NonNull HttpRequestConfig, @NonNull OfflineCallback<Video>): void
    • requestPurchaseLicense(@NonNull Video, @NonNull EventListener, @NonNull HttpRequestConfig): void
    • requestRentalLicense(@NonNull Video, @NonNull Date, long, @NonNull EventListener, @NonNull HttpRequestConfig): void
  • La méthode suivante est supprimée du com.brightcove.player.edge.AbstractOfflineCatalog

    • renewLicense(@NonNull Video, @NonNull EventListener): void
  • Résout un problème de chargement des images d'affiches pour les vidéos téléchargées. Lorsqu'elle est disponible, une image locale sera chargée.

Modifications du plug-in FreeWheel :

  • Ajoute la prise en charge du contenu en direct avec des publicités pré-roll côté client

Modifications du plug-in SSAI :

  • Résout un problème où une source de contenu pouvait être chargée directement à partir du src dans la réponse de l'API Playback, au lieu de l'attribut contenturi attribut dans le VMAP.

Version 6.8.0

1 mai 2019

Modifications du SDK :

  • La version minimale du SDK Android prise en charge par le Brightcove Native SDK pour Android est désormais de 19.

  • Le Brightcove Native SDK pour Android est désormais compatible Java 8. Veuillez noter que les applications Android développées à l'aide de cette version du SDK Android peuvent nécessiter l'ajout de la directive suivante au fichier build.gradle pour garantir la compatibilité du bytecode :

    compileOptions{
    targetCompatibility JavaVersion.VERSION_1_8
    sourceCompatibility JavaVersion.VERSION_1_8
    }

Modifications d'ExoPlayer2 :

  • ExoPlayer2 a été mis à niveau vers la version 2.9.6

  • Veuillez noter que cette mise à niveau comporte les modifications d'API suivantes :

  • Modification majeure supprimée :constructor TrackSelectorHelper(@NonNull ExoPlayer player, @NonNull MappingTrackSelector trackSelector)

    Utilisation constructor TrackSelectorHelper(@NonNull ExoPlayer player, @NonNull DefaultTrackSelector trackSelector)

  • Modification majeure supprimée : setTrackSelector(@NonNull MappingTrackSelector trackSelector)

    Utilisation setTrackSelector(@NonNull DefaultTrackSelector trackSelector)

  • Supprimé getTrackSelector(): MappingTrackSelector

    Utilisation getTrackSelector(): DefaultTrackSelector

Modifications du plug-in FreeWheel :

  • Le plugin FreeWheel a été mis à jour pour prendre en charge FreeWheel AdManager version 6.28.0.

  • Veuillez noter que FreeWheel conditionne désormais la bibliothèque AdManager en tant qu'archive Android (AAR).

Modifications du plug-in IMA :

  • Le plug-in IMA a été mis à jour pour prendre en charge Google IMA SDK version 3.11.2.

  • Cette version du SDK Google IMA prend en charge les normes Open Measurement.

  • Veuillez vous référer au Documentation du SDK Android Brightcove pour plus d'informations.

  • Correction d'un problème où les annonces midroll appelées après de longues périodes de lecture de contenu ne pouvaient pas être lues.

Modifications du plug-in SSAI :

  • Le plug-in SSAI prend désormais en charge la diffusion de contenu via le service d'autorisation de lecture Brightcove (PAS).

  • Veuillez noter que PAS fonctionne uniquement avec le plugin SSAI. PAS avec le plugin OnceUx obsolète n'est pas pris en charge.

Version 6.7.0

5 avr. 2019

Plugin SSAI :

  • Avec cette version, le Brightcove Native SDK pour Android implémente le plug-in SSAI. Pour plus d'informations sur ce nouveau plug-in, veuillez consulter la présentation du kit de développement logiciel Brightcove Android sur le site d'assistance de Brightcove.

Modifications du plugin OnceUx :

  • Avec cette version, le plugin OnceUx est obsolète. Veuillez utiliser le nouveau plug-in SSAI à la place. Pour plus d'informations, veuillez consulter la présentation du kit de développement logiciel Brightcove Android sur le site d'assistance de Brightcove.

Version 6.6.0

29 mars 2019

Modifications du SDK :

  • Une nouvelle classe, HttpRequestConfig a été ajoutée. Cette classe prend en charge l'ajout de paramètres d'URL de demande et/ou d'en-têtes de demande pouvant être requis par les services Brightcove (par exemple, l'API Brightcove Edge ou le service d'autorisation de lecture Brightcove (PAS)). Veuillez vous référer à la documentation d'assistance Brightcove pour plus d'informations sur l'utilisation de cette classe.

  • Outre la classe HttpRequestConfig, les méthodes suivantes sont ajoutées à la classe com.brightcove.player.edge.catalog : FindPlaylistById (String, HttpRequestConfig, PlaylistListener) : void findPlaylistByReferenceId (String, HttpRequestConfig, PlaylistListener) : void FindVideoById (String, HttpRequestConfig, VideoListener) : void FindVideoById (String, HttpRequestConfig, VideoListener) : void FindVideoByReferenceId (chaîne, HttpRequestConfig, VideoListener) : void

  • Les méthodes FindPlaylist suivantes sont obsolètes dans com.brightcove.player.edge.catalog : FindPlaylistById (String, Map String, String>, PlayListListener) : void FindPlaylistById (String, Map<String, String>, PlayListListener) : void FindPlaylistByReferenceId (String, Map<String, String>, PlayListListener) : void FindPlaylistByReferenceId (<String, Map String, String>, PlayListListener) : void FindPlaylistByReferenceId (String, Map String, String>, PlaylistListener) : void FindPlaylistByReferenceId (<String, Map String, String>, PlaylistListener ListByReferenceId (chaîne, carte)<Chaîne, chaîne>,<chaîne de mappage, chaîne>, PlayListListener) : void

  • Les méthodes FindVideo suivantes sont obsolètes dans com.brightcove.player.edge.catalog : FindVideoById (String VideoID, Map<String, String>, VideoListener) : void FindVideoById (String VideoById, Map<String, String>, VideoListener) : void FindVideoByReferenceId (String, Map<String, String>, VideoListener) : void FindVideoByReferenceId (chaîne, carte)<<Chaîne, chaîne>,<chaîne de mappage, chaîne>, VideoListener) : void

Prise en charge du Brightcove Native SDK pour Android pour le Brightcove Playback Authorization Service (PAS)

  • Dans la version à disponibilité limitée du Brightcove Playback Authorization Service (PAS), les fonctionnalités suivantes sont prises en charge par le SDK Brightcove Native pour Android :

    • Diffusion en ligne de contenu DRM avec PAS

    • Streaming en ligne de contenu HLSe avec PAS

  • Dans la version à disponibilité limitée du Brightcove Playback Authorization Service (PAS), les fonctionnalités suivantes ne sont actuellement pas prises en charge par le SDK Brightcove Native pour Android et seront mises en œuvre dans une prochaine version :

    • Insertion d'annonces côté serveur avec le plugin OnceUx avec PAS

    • Lecture hors ligne avec PAS

    • Chromecast avec PAS

  • Remarque importante à propos d'ExoPlayer 1 :

    • ExoPlayer 1 est obsolète et sera en fin de vie d'ici la fin du troisième trimestre 2019, date à laquelle il ne sera plus disponible dans le SDK Brightcove Native pour Android.

Version 6.5.1

12 févr. 2019

Modifications du plugin OnceUx :

  • Correction d'un problème où l'élément IFrameResource était incorrectement analysé à partir des sources VMAP.

Version 6.5.0

6 déc. 2018

Modifications du SDK :

  • Suppression des dépendances inutiles dans le Brightcove Android SDK.

  • Des versions asynchrones des méthodes suivantes ont été ajoutées à la classe OfflineCatalog : GetVideoDownloadStatus FindAllQueuedVideoDownload FindAllVideoDownload FindOfflineVideoByID DownloadVideo CancelVideoDownload PauseVideoDownload ResumeVideoDownload DeleteVideo GetMediaFormatTracksAvailable

  • Correction d'un problème où la méthode estimateSize dans la classe OfflineCatalog renvoyait une valeur inattendue.

  • Correction d'un problème où une vidéo hors ligne créée à l'aide de VideoParser.buildVideoFromJSON() ne jouait pas comme prévu.

Modifications du plugin OnceUx :

  • Correction d'un problème où les éléments de menu de légende en double apparaissaient.

Plugin Cast : Mise à jour de la note de version : Bien que le plugin Cast n'ait pas changé dans cette version, il est important de noter ces clarifications dans les fonctionnalités actuellement prises en charge de ce plugin.

  • Android 9 - Les tests ont montré que l'autorisation suivante est requise pour utiliser Chromecast avec Android 9, en particulier lorsque l'application est en arrière-plan et ramenée au premier plan, et pour utiliser les notifications pour contrôler une session de casting. Cette balise uses-permission doit être ajoutée au fichier AndroidManifest.xml d'une application : <uses-permission android:name="android.permission.foreground_service » />

  • Sous-titres : des tests ont montré que seuls les sous-titres intégrés au manifeste avec Dynamic Delivery DASH s'affichent comme prévu.

  • Sous-titres : les sous-titres intégrés au manifeste avec HLS ne sont actuellement pas pris en charge.

  • Sous-titres : les sous-titres des side-cars, quelle que soit la configuration vidéo, ne sont actuellement pas pris en charge. Cette précision est également présente dans la note de mise à jour du plugin Cast pour la version 6.3.0 du SDK Brightcove Android.

Version 6.4.0

17 oct. 2018

Modifications du SDK :

  • Le SDK natif Brightcove pour Android est désormais compatible avec Android 9.0 (Pie). Veuillez noter qu'avec la version Android Pie, vous devez être conscient de certains changements importants, tels que Network TLS activé par défaut, la dépréciation du client Apache HTTP et la dépréciation des constantes Android ConnectivityManager. Vous devrez peut-être apporter des modifications supplémentaires à votre application. Pour plus d'informations, veuillez visiter https://support.brightcove.com/android-pie-support-native-sdk-android.

  • Le DefaultSourceSelectionController et l'ExoPlayerSourceSelectionController préféreront désormais les sources HTTPS dans leur sélection si disponibles, sinon le contrôleur de sélection sélectionnera la première source disponible.

Versions plus anciennes

Version 6.3.2

24 sept. 2018

Modifications du SDK :

  • Correction d'un problème où le bouton Paramètres dans Android TV ne fonctionnait pas comme prévu.

  • Correction d'un problème où getRefereiceId() et getDescription() dans la classe Video ne fonctionnaient pas comme prévu.

  • Ajout d'une méthode, getLongDescription(), à la classe Video.

  • Correction d'un problème dans la classe OfflineCatalog où l'appel de setDownloadPath avec un argument null provoquait une NullPointerException.

  • Correction d'un problème dans la classe OfflineCatalog où l'appel de la méthode estimateSize pouvait renvoyer une valeur anormalement élevée.

  • Correction d'un problème où une activité qui n'était pas activée pour Picture-In-Picture renvoyait une IllegalStateException non fatale. L'erreur est maintenant enregistrée en tant qu'avertissement.

  • Prise en charge obsolète de la classe BrightcoveClosedCaptioningSurfaceView.

Modifications du plugin OnceUx :

  • Ajout de la prise en charge de l'élément VAST Icon.

Version 6.3.1

09 août 2018

Modifications du SDK :

  • Correction d'un problème où Android Studio lèverait une exception dans l'éditeur de mise en page lors du rendu de BrightcoveVideView.

Modifications d'ExoPlayer v2 :

  • Ajout des classes LoadControlConfig et AllocatorConfig. Les valeurs définies dans ces classes seront utilisées pour créer l'objet ExoPlayer DefaultLoadControl, qui est utilisé lors de la création de l'instance ExoPlayer. Le AllocatorConfig peut être défini lors de la création du LoadControlConfig. Le LoadControlConfig peut être défini sur l'instance ExoPlayerVideoDisplayComponent.

Modifications du plugin OnceUx :

  • Correction d'un problème où l'image de l'affiche par défaut affichée dans BrightcoveVideoView ne disparaissait pas après le début de la lecture du preroll.

Version 6.3.0

27 juillet 2018

Modifications du plug-in Cast : Le plugin Cast a été mis à jour avec une dépendance sur l'ExoPlayer Cast Extension v2.7.0. Veuillez noter que certaines fonctionnalités de VideoCloud ont une prise en charge limitée ou ne sont pas encore prises en charge lors de l'utilisation du plug-in Cast avec l'application de réception d'exemples Google.

  • Android 9 - Les tests ont montré que l'autorisation suivante est requise pour utiliser Chromecast avec Android 9, en particulier lorsque l'application est en arrière-plan et ramenée au premier plan, et pour utiliser les notifications pour contrôler une session de casting. Cette balise uses-permission doit être ajoutée au fichier AndroidManifest.xml d'une application : <uses-permission android:name="android.permission.foreground_service » />

  • Sous-titres : des tests ont montré que seuls les sous-titres intégrés au manifeste avec Dynamic Delivery DASH s'affichent comme prévu.

  • Sous-titres : les sous-titres intégrés au manifeste avec HLS ne sont actuellement pas pris en charge.

  • Sous-titres : les sous-titres des side-cars, quelle que soit la configuration vidéo, ne sont actuellement pas pris en charge.

  • Widevine Modular DRM n'est pas pris en charge lors de l'utilisation du plug-in Cast avec l'application de réception d'échantillons Google.

  • Les pistes audio multiples ne sont pas prises en charge lors de l'utilisation du plug-in Cast avec l'application de réception d'échantillons Google.

  • La publicité côté client et côté serveur n'est pas prise en charge lors de l'utilisation du plug-in Cast avec l'exemple d'application de récepteur Google.

  • Les flux DVR en direct et en direct ne sont pas pris en charge lors de l'utilisation du plug-in Cast avec l'application de réception d'échantillons Google.

Modifications du plug-in FreeWheel :

  • Le plugin FreeWheel a été mis à jour pour prendre en charge FreeWheel AdManager v6.23.0. Veuillez noter qu'il s'agit d'un changement radical et que cette version du Brightcove Native SDK pour Android ne fonctionnera pas avec les versions précédentes de FreeWheel AdManager. Veuillez vous référer aux notes de publication dans FreeWheel AdManager v6.23.0 pour plus d'informations sur les modifications apportées à cette version.

Modifications du plug-in IMA :

  • Le plugin IMA est désormais compatible avec la version 3.9.0 du SDK Google IMA pour Android.

Version 6.2.3

16 juillet 2018

Modifications du SDK :

  • Lecture hors ligne : Mise à niveau de la version de la bibliothèque FileDownloader vers la 1.7.4.

  • Lecture hors ligne : Correction d'un problème où la mise en arrière-plan de l'application et la modification de l'état du réseau pouvaient générer une IllegalArgumentException.

Version 6.2.2

9 juillet 2018

Modifications d'ExoPlayer v2 :

  • Correction d'un problème où les valeurs du champ HEADERS de l'objet Video n'étaient pas ajoutées comme prévu.

Modifications du plugin OnceUx :

  • Correction d'un problème où la recherche sans publicité pendant la vidéo pouvait entraîner le déclenchement d'événements publicitaires.

Version 6.2.1

5 juin 2018

Modifications d'ExoPlayer v2 :

  • Le Brightcove ExoPlayer est revenu à la version 2.7.0, afin de contourner une régression du comportement de recherche en arrière dans les diffusions en direct et une modification inattendue de la façon dont la valeur de la plage de fenêtres dynamiques est calculée.

  • Correction d'un problème avec le calcul de BrightcoveSegmentTemplate.getSegmentCount lorsque le manifeste DASH a le paramètre startNumber différent de 0.

  • Ajout d'une validation pour une potentielle NullPointerException dans ExoPlayerVideoDisplayComponent.reportPlayerState

Version 6.2.0

18 mai 2018

Modifications du SDK :

  • Ajout d'une classe VideoParser avec des méthodes pour créer une vidéo et une liste de lecture à partir d'un objet JSON, en suivant le format de réponse de Brightcove Playback API.

  • Surcharge des méthodes requestPurchaseLicense() et requestRentalLicense() dans la classe OfflineCatalog afin de définir OutputProtection via l'objet CustomerRightsTokenConfig.

  • Mise à jour de la bibliothèque FileDownloader vers 1.7.3 pour la lecture hors ligne.

  • Correction d'une condition de concurrence pour la lecture hors ligne lors de la suppression de plusieurs vidéos lors du téléchargement.

Modifications d'ExoPlayer v2 :

  • Le Brightcove ExoPlayer a été mis à jour vers la version 2.7.3.

  • Les méthodes suivantes ont été dépréciées de l'interface BrightcoveDrmSession :

    • DrmException getDrmError()

    • Map<String, String> queryKeyStatus()

    • byte[] getOfflineLicenseKeySetId()

Modifications du plugin OnceUx :

  • Ajout de la prise en charge de l'analyse et de la lecture de tous les ID de création publicitaire de SSAI VMAP.

  • Suppression de l'exigence relative à l'attribut id dans le tag d'emplacement publicitaire.

Version 6.1.2

24 avr. 2018

Modifications du SDK :

  • Correction d'un problème où le téléchargement ne reprenait pas dans les réseaux lents (jusqu'à 256 kbps) après avoir tué et redémarré l'application.

Modifications du plugin OnceUx :

  • Correction d'un problème où toutes les annonces étaient diffusées après avoir recherché plusieurs modules d'annonces.

Version 6.1.1

6 avr. 2018

Modifications du SDK :

  • Correction d'une dépendance d'analyse hors ligne qui augmentait de manière inattendue la taille des applications.

  • Correction d'un problème avec la lecture hors ligne où certains téléchargements étaient suspendus à 99%.

Version 6.1.0

29 mars 2018

Modifications du SDK :

  • Ajout de la prise en charge de Picture-in-Picture sur Android Oreo.

  • Correction d'un problème de performances de l'interface utilisateur pour la lecture hors ligne lors du téléchargement d'une vidéo en effectuant tous les rappels du gestionnaire de téléchargement sur un fil d'arrière-plan.

  • Amélioration des vitesses de téléchargement pour la lecture hors ligne.

  • Correction d'un problème de lecture hors ligne où le paramètre download_id manquait dans les événements video_download_request et video_download_cancellation pour des téléchargements clairs.

  • Correction d'un problème avec les sous-titres WebVTT où l'utilisation de l'attribut « ligne : » sans caractère de pourcentage (%) empêchait l'affichage des sous-titres.

  • La méthode AbstractOfflineCatalog.renewLicense est obsolète et n'est plus fonctionnelle. Pour renouveler une licence hors ligne, veuillez utiliser AbstractOfflineCatalog.requestRentalLicense(Video, Date, long, EventListener) ou AbstractOfflineCatalog.requestPurchaseLicense(Video, EventListener)

Modifications d'ExoPlayer2 :

  • ExoPlayer2 rapporte désormais le nombre cumulé d'octets téléchargés via l'événement d'engagement vidéo actuel et l'envoie au serveur Analytics en tant que media_bytes_transferred.

  • Ajout d'une méthode pratique pour définir le débit binaire maximal avant de préparer le lecteur pour une nouvelle vidéo, ou à chaque fois que ExoPlayerVideoDisplayComponent.setPeakBitrate(int peakBitrate) est appelé.

Version 6.0.2

30 janv. 2018

Modifications du SDK :

  • Ajout de la prise en charge des analyses de lecture hors ligne.

  • Le plugin obsolète Widevine Classic a été supprimé.

Modifications du plug-in IMA :

  • Correction d'un problème où les balises viewable_impression n'étaient pas déclenchées comme prévu.

Modifications du plugin OnceUX :

  • Correction d'un problème où les marqueurs publicitaires n'étaient pas affichés à leurs emplacements attendus.

  • Correction de problèmes impliquant la recherche de publicités passées et la reprise de la lecture à partir de la position de recherche prévue.

  • Correction de problèmes où les commandes du lecteur apparaissaient dans les publicités SSAI lors des changements d'orientation.

Version 6.0.1

18 déc. 2017

Modifications du SDK :

  • Les classes d'API Media héritées obsolètes, celles du package com.brightcove.player.media, ont été supprimées du Brightcove Native SDK pour Android.

  • Les classes suivantes ont été déplacées de com.brightcove.player.media vers com.brightcove.player.model. Veuillez noter qu'il s'agit d'un changement décisif :

    • Type de livraison

    • Type de légende

    • Champs d'erreur

    • Champs vidéo

Modifications d'ExoPlayer v2 :

  • Le Brightcove Native SDK pour Android utilisant ExoPlayer 2 (v2.5.3) est en disponibilité générale.

  • Ajout de la prise en charge du plugin Omniture lors de l'utilisation d'ExoPlayer 2.

  • Plusieurs corrections de bugs.

Modifications d'ExoPlayer v1 :

  • Le Brightcove Native SDK pour Android utilisant ExoPlayer 1 est obsolète. Pour plus d'informations sur le processus de migration, veuillez visiter https://support.brightcove.com/migrating-exoplayer-2-framework

Notes de version complètes

Pour une liste complète des notes de version, consultez le Notes de version du SDK natif Brightcove pour Android.