Remove references to Orsay and Chromecast in browserDeviceProfile
This commit is contained in:
parent
7b0fbc7c7a
commit
49491d013e
1 changed files with 37 additions and 116 deletions
|
@ -6,18 +6,10 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function canPlayH265(videoTestElement, options) {
|
||||
if (browser.tizen || browser.orsay || browser.xboxOne || browser.web0s || options.supportsHevc) {
|
||||
if (browser.tizen || browser.xboxOne || browser.web0s || options.supportsHevc) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var userAgent = navigator.userAgent.toLowerCase();
|
||||
if (browser.chromecast) {
|
||||
var isChromecastUltra = userAgent.indexOf('aarch64') !== -1;
|
||||
if (isChromecastUltra) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (browser.ps4) {
|
||||
return false;
|
||||
}
|
||||
|
@ -31,7 +23,7 @@ define(['browser'], function (browser) {
|
|||
|
||||
var _supportsTextTracks;
|
||||
function supportsTextTracks() {
|
||||
if (browser.tizen || browser.orsay) {
|
||||
if (browser.tizen) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -53,7 +45,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function canPlayNativeHls() {
|
||||
if (browser.tizen || browser.orsay) {
|
||||
if (browser.tizen) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -72,7 +64,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function supportsAc3(videoTestElement) {
|
||||
if (browser.edgeUwp || browser.tizen || browser.orsay || browser.web0s) {
|
||||
if (browser.edgeUwp || browser.tizen || browser.web0s) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -80,7 +72,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function supportsEac3(videoTestElement) {
|
||||
if (browser.tizen || browser.orsay || browser.web0s) {
|
||||
if (browser.tizen || browser.web0s) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -88,7 +80,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function supportsAc3InHls(videoTestElement) {
|
||||
if (browser.tizen || browser.orsay || browser.web0s) {
|
||||
if (browser.tizen || browser.web0s) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -104,11 +96,11 @@ define(['browser'], function (browser) {
|
|||
var typeString;
|
||||
|
||||
if (format === 'flac') {
|
||||
if (browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp) {
|
||||
if (browser.tizen || browser.web0s || browser.edgeUwp) {
|
||||
return true;
|
||||
}
|
||||
} else if (format === 'wma') {
|
||||
if (browser.tizen || browser.orsay || browser.edgeUwp) {
|
||||
if (browser.tizen || browser.edgeUwp) {
|
||||
return true;
|
||||
}
|
||||
} else if (format === 'asf') {
|
||||
|
@ -143,7 +135,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function testCanPlayMkv(videoTestElement) {
|
||||
if (browser.tizen || browser.orsay || browser.web0s) {
|
||||
if (browser.tizen || browser.web0s) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -152,23 +144,6 @@ define(['browser'], function (browser) {
|
|||
return true;
|
||||
}
|
||||
|
||||
// Unfortunately there's no real way to detect mkv support
|
||||
if (browser.chrome) {
|
||||
// Not supported on opera tv
|
||||
if (browser.operaTv) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var userAgent = navigator.userAgent.toLowerCase();
|
||||
|
||||
// Filter out browsers based on chromium that don't support mkv
|
||||
if (userAgent.indexOf('vivaldi') !== -1 || userAgent.indexOf('opera') !== -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (browser.edgeUwp) {
|
||||
return true;
|
||||
}
|
||||
|
@ -177,15 +152,15 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function testCanPlayTs() {
|
||||
return browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
return browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
}
|
||||
|
||||
function supportsMpeg2Video() {
|
||||
return browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
return browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
}
|
||||
|
||||
function supportsVc1() {
|
||||
return browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
return browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
}
|
||||
|
||||
function getDirectPlayProfileForVideoContainer(container, videoAudioCodecs, videoTestElement, options) {
|
||||
|
@ -195,11 +170,11 @@ define(['browser'], function (browser) {
|
|||
|
||||
switch (container) {
|
||||
case 'asf':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
videoAudioCodecs = [];
|
||||
break;
|
||||
case 'avi':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
// New Samsung TV don't support XviD/DivX
|
||||
// Explicitly add supported codecs to make other codecs be transcoded
|
||||
if (browser.tizenVersion >= 4) {
|
||||
|
@ -212,24 +187,24 @@ define(['browser'], function (browser) {
|
|||
break;
|
||||
case 'mpg':
|
||||
case 'mpeg':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
break;
|
||||
case 'flv':
|
||||
supported = browser.tizen || browser.orsay;
|
||||
supported = browser.tizen;
|
||||
break;
|
||||
case '3gp':
|
||||
case 'mts':
|
||||
case 'trp':
|
||||
case 'vob':
|
||||
case 'vro':
|
||||
supported = browser.tizen || browser.orsay;
|
||||
supported = browser.tizen;
|
||||
break;
|
||||
case 'mov':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.chrome || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.chrome || browser.edgeUwp;
|
||||
videoCodecs.push('h264');
|
||||
break;
|
||||
case 'm2ts':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
videoCodecs.push('h264');
|
||||
if (supportsVc1()) {
|
||||
videoCodecs.push('vc1');
|
||||
|
@ -239,7 +214,7 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
break;
|
||||
case 'wmv':
|
||||
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
|
||||
supported = browser.tizen || browser.web0s || browser.edgeUwp;
|
||||
videoAudioCodecs = [];
|
||||
break;
|
||||
case 'ts':
|
||||
|
@ -274,21 +249,6 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
|
||||
function getGlobalMaxVideoBitrate() {
|
||||
var userAgent = navigator.userAgent.toLowerCase();
|
||||
if (browser.chromecast) {
|
||||
var isChromecastUltra = userAgent.indexOf('aarch64') !== -1;
|
||||
if (isChromecastUltra) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// This is a hack to try and detect chromecast on vizio
|
||||
if (self.screen && self.screen.width >= 3800) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return 30000000;
|
||||
}
|
||||
|
||||
var isTizenFhd = false;
|
||||
if (browser.tizen) {
|
||||
try {
|
||||
|
@ -338,7 +298,7 @@ define(['browser'], function (browser) {
|
|||
|| videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp3"').replace(/no/, '');
|
||||
|
||||
// Not sure how to test for this
|
||||
var supportsMp2VideoAudio = browser.edgeUwp || browser.tizen || browser.orsay || browser.web0s;
|
||||
var supportsMp2VideoAudio = browser.edgeUwp || browser.tizen || browser.web0s;
|
||||
|
||||
var maxVideoWidth = browser.xboxOne ?
|
||||
(self.screen ? self.screen.width : null) :
|
||||
|
@ -350,11 +310,6 @@ define(['browser'], function (browser) {
|
|||
|
||||
var canPlayAacVideoAudio = videoTestElement.canPlayType('video/mp4; codecs="avc1.640029, mp4a.40.2"').replace(/no/, '');
|
||||
|
||||
if (canPlayAacVideoAudio && browser.chromecast && physicalAudioChannels <= 2) {
|
||||
// prioritize this first
|
||||
videoAudioCodecs.push('aac');
|
||||
}
|
||||
|
||||
// Only put mp3 first if mkv support is there
|
||||
// Otherwise with HLS and mp3 audio we're seeing some browsers
|
||||
// safari is lying
|
||||
|
@ -377,11 +332,6 @@ define(['browser'], function (browser) {
|
|||
}
|
||||
}
|
||||
|
||||
if (canPlayAacVideoAudio && browser.chromecast && videoAudioCodecs.indexOf('aac') === -1) {
|
||||
// prioritize this first
|
||||
videoAudioCodecs.push('aac');
|
||||
}
|
||||
|
||||
if (supportsMp3VideoAudio) {
|
||||
videoAudioCodecs.push('mp3');
|
||||
|
||||
|
@ -416,7 +366,7 @@ define(['browser'], function (browser) {
|
|||
videoAudioCodecs.push('mp2');
|
||||
}
|
||||
|
||||
var supportsDts = browser.tizen || browser.orsay || browser.web0s || options.supportsDts;
|
||||
var supportsDts = browser.tizen || browser.web0s || options.supportsDts;
|
||||
|
||||
// DTS audio not supported in 2018 models (Tizen 4.0)
|
||||
if (browser.tizenVersion >= 4) {
|
||||
|
@ -428,7 +378,7 @@ define(['browser'], function (browser) {
|
|||
videoAudioCodecs.push('dts');
|
||||
}
|
||||
|
||||
if (browser.tizen || browser.orsay || browser.web0s) {
|
||||
if (browser.tizen || browser.web0s) {
|
||||
videoAudioCodecs.push('pcm_s16le');
|
||||
videoAudioCodecs.push('pcm_s24le');
|
||||
}
|
||||
|
@ -437,7 +387,7 @@ define(['browser'], function (browser) {
|
|||
videoAudioCodecs.push('truehd');
|
||||
}
|
||||
|
||||
if (browser.tizen || browser.orsay) {
|
||||
if (browser.tizen) {
|
||||
videoAudioCodecs.push('aac_latm');
|
||||
}
|
||||
|
||||
|
@ -485,7 +435,7 @@ define(['browser'], function (browser) {
|
|||
mp4VideoCodecs.push('vc1');
|
||||
}
|
||||
|
||||
if (browser.tizen || browser.orsay) {
|
||||
if (browser.tizen) {
|
||||
mp4VideoCodecs.push('msmpeg4v2');
|
||||
}
|
||||
|
||||
|
@ -497,7 +447,7 @@ define(['browser'], function (browser) {
|
|||
mp4VideoCodecs.push('vp9');
|
||||
}
|
||||
|
||||
if (canPlayVp8 || browser.tizen || browser.orsay) {
|
||||
if (canPlayVp8 || browser.tizen) {
|
||||
videoAudioCodecs.push('vorbis');
|
||||
}
|
||||
|
||||
|
@ -629,7 +579,7 @@ define(['browser'], function (browser) {
|
|||
});
|
||||
});
|
||||
|
||||
if (canPlayMkv && !browser.tizen && !browser.orsay && options.enableMkvProgressive !== false) {
|
||||
if (canPlayMkv && !browser.tizen && options.enableMkvProgressive !== false) {
|
||||
profile.TranscodingProfiles.push({
|
||||
Container: 'mkv',
|
||||
Type: 'Video',
|
||||
|
@ -694,7 +644,7 @@ define(['browser'], function (browser) {
|
|||
|
||||
profile.CodecProfiles = [];
|
||||
|
||||
var supportsSecondaryAudio = browser.tizen || browser.orsay || videoTestElement.audioTracks;
|
||||
var supportsSecondaryAudio = browser.tizen || videoTestElement.audioTracks;
|
||||
|
||||
var aacCodecProfileConditions = [];
|
||||
|
||||
|
@ -717,15 +667,6 @@ define(['browser'], function (browser) {
|
|||
});
|
||||
}
|
||||
|
||||
if (browser.chromecast) {
|
||||
aacCodecProfileConditions.push({
|
||||
Condition: 'LessThanEqual',
|
||||
Property: 'AudioChannels',
|
||||
Value: '2',
|
||||
IsRequired: true
|
||||
});
|
||||
}
|
||||
|
||||
if (aacCodecProfileConditions.length) {
|
||||
profile.CodecProfiles.push({
|
||||
Type: 'VideoAudio',
|
||||
|
@ -751,7 +692,7 @@ define(['browser'], function (browser) {
|
|||
var maxH264Level = 42;
|
||||
var h264Profiles = 'high|main|baseline|constrained baseline';
|
||||
|
||||
if (browser.tizen || browser.orsay || browser.web0s ||
|
||||
if (browser.tizen || browser.web0s ||
|
||||
videoTestElement.canPlayType('video/mp4; codecs="avc1.640833"').replace(/no/, '')) {
|
||||
maxH264Level = 51;
|
||||
}
|
||||
|
@ -761,7 +702,7 @@ define(['browser'], function (browser) {
|
|||
maxH264Level = 52;
|
||||
}
|
||||
|
||||
if (browser.tizen || browser.orsay ||
|
||||
if (browser.tizen ||
|
||||
videoTestElement.canPlayType('video/mp4; codecs="avc1.6e0033"').replace(/no/, '')) {
|
||||
|
||||
// These tests are passing in safari, but playback is failing
|
||||
|
@ -795,20 +736,13 @@ define(['browser'], function (browser) {
|
|||
]
|
||||
});
|
||||
|
||||
if (!browser.edgeUwp && !browser.tizen && !browser.orsay && !browser.web0s) {
|
||||
//profile.CodecProfiles[profile.CodecProfiles.length - 1].Conditions.push({
|
||||
// Condition: 'NotEquals',
|
||||
// Property: 'IsAVC',
|
||||
// Value: 'false',
|
||||
// IsRequired: false
|
||||
//});
|
||||
|
||||
//profile.CodecProfiles[profile.CodecProfiles.length - 1].Conditions.push({
|
||||
// Condition: 'NotEquals',
|
||||
// Property: 'IsInterlaced',
|
||||
// Value: 'true',
|
||||
// IsRequired: false
|
||||
//});
|
||||
if (!browser.edgeUwp && !browser.tizen && !browser.web0s) {
|
||||
profile.CodecProfiles[profile.CodecProfiles.length - 1].Conditions.push({
|
||||
Condition: 'NotEquals',
|
||||
Property: 'IsInterlaced',
|
||||
Value: 'true',
|
||||
IsRequired: false
|
||||
});
|
||||
}
|
||||
|
||||
if (maxVideoWidth) {
|
||||
|
@ -859,19 +793,6 @@ define(['browser'], function (browser) {
|
|||
});
|
||||
}
|
||||
|
||||
if (browser.chromecast) {
|
||||
profile.CodecProfiles.push({
|
||||
Type: 'Audio',
|
||||
Codec: 'flac',
|
||||
Conditions: [
|
||||
{
|
||||
Condition: 'LessThanEqual',
|
||||
Property: 'AudioSampleRate',
|
||||
Value: '96000'
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
// Subtitle profiles
|
||||
// External vtt or burn in
|
||||
profile.SubtitleProfiles = [];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue