Skip to content

Commit

Permalink
fix(FEC-9137): Samsung smart tv doesn't success playing playready (#267)
Browse files Browse the repository at this point in the history
configure SmartTV to play DRM with WIDEVINE, we'll be fixed by next version of shaka player
  • Loading branch information
Yuvalke authored Aug 28, 2019
1 parent cd6042f commit c14a319
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions src/common/utils/setup-helpers.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @flow
import {setDefaultAnalyticsPlugin} from 'player-defaults';
import {Env, TextStyle, Utils, setCapabilities, EngineType} from '@playkit-js/playkit-js';
import {Env, TextStyle, Utils, setCapabilities, EngineType, DrmScheme} from '@playkit-js/playkit-js';
import {ValidationErrorType} from './validation-error';
import StorageManager from '../storage/storage-manager';
import type {LogLevelObject} from './logger';
Expand Down Expand Up @@ -362,10 +362,15 @@ function _configureAdsWithMSE(options: KPOptionsObject): void {
* @returns {void}
*/
function configureLGTVDefaultOptions(options: KPOptionsObject): void {
if (isSmartTv()) {
if (Env.isSmartTV) {
//relevant for LG SDK 4 which doesn't support our check for autoplay
setCapabilities(EngineType.HTML5, {autoplay: true});
_configureAdsWithMSE(options);

const keySystem = Utils.Object.getPropertyPath(options, 'drm.keySystem');
if (!keySystem) {
options = Utils.Object.createPropertyPath(options, 'drm.keySystem', DrmScheme.WIDEVINE);
}
if (options.plugins && options.plugins.ima) {
const imaForceReload = Utils.Object.getPropertyPath(options, 'plugins.ima.forceReloadMediaAfterAds');
const delayUntilSourceSelected = Utils.Object.getPropertyPath(options, 'plugins.ima.delayInitUntilSourceSelected');
Expand Down Expand Up @@ -434,7 +439,7 @@ function configureBumperDefaultOptions(options: KPOptionsObject): void {
const newBumperConfig: Object = {};
if (
typeof bumperConfig.playOnMainVideoTag !== 'boolean' &&
(isSmartTv() || (isIos() && options.playback && options.playback.playsinline === false))
(Env.isSmartTV || (isIos() && options.playback && options.playback.playsinline === false))
) {
newBumperConfig['playOnMainVideoTag'] = true;
}
Expand Down Expand Up @@ -555,15 +560,6 @@ function isIos(): boolean {
return Env.os.name === 'iOS';
}
/**
* Returns true if user agent indicate that browser is smart TV
* @private
* @returns {boolean} - if browser is in LG TV
*/
function isSmartTv(): boolean {
return Env.os.name.toLowerCase() === 'web0s' || Env.os.name.toLowerCase() === 'tizen';
}
/**
* set stream priority according to playerConfig
* @param {Player} player - player
Expand Down

0 comments on commit c14a319

Please sign in to comment.