diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 3f5d19c91..f15d36ada 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.403", - "_release": "1.4.403", + "version": "1.4.405", + "_release": "1.4.405", "_resolution": { "type": "version", - "tag": "1.4.403", - "commit": "0ff81a5c3db2a4711c14292449fe18ba9d5fd040" + "tag": "1.4.405", + "commit": "6745a06a14f978824ceaf9cebdb07f8bca2677e1" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 609f9505d..f0765cc53 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -208,33 +208,7 @@ define(['browser'], function (browser) { function getMaxBitrate() { - if (browser.edgeUwp) { - return 40000000; - } - - // 10mbps - if (browser.xboxOne) { - return 10000000; - } - - if (browser.ps4) { - return 8000000; - } - - var userAgent = navigator.userAgent.toLowerCase(); - - if (browser.tizen) { - - // 2015 models - if (userAgent.indexOf('tizen 2.3') !== -1) { - return 20000000; - } - - // 2016 models - return 40000000; - } - - return 100000000; + return 120000000; } return function (options) { @@ -583,6 +557,75 @@ define(['browser'], function (browser) { }); } + var isTizenFhd = false; + var globalMaxVideoBitrate = browser.ps4 ? '8000000' : + (browser.xboxOne ? '10000000' : + (browser.edgeUwp ? '40000000' : + (browser.tizen && isTizenFhd ? '20000000' : ''))); + + var h264MaxVideoBitrate = globalMaxVideoBitrate; + if (browser.tizen && !isTizenFhd) { + + h264MaxVideoBitrate = '60000000'; + } + + if (h264MaxVideoBitrate) { + profile.CodecProfiles[profile.CodecProfiles.length - 1].Conditions.push({ + Condition: 'LessThanEqual', + Property: 'VideoBitrate', + Value: h264MaxVideoBitrate, + IsRequired: true + }); + } + + if (globalMaxVideoBitrate) { + profile.CodecProfiles.push({ + Type: 'Video', + Conditions: [ + { + Condition: 'LessThanEqual', + Property: 'VideoBitrate', + Value: globalMaxVideoBitrate + }] + }); + } + + if (browser.tizen && !isTizenFhd) { + profile.CodecProfiles.push({ + Type: 'Video', + Codec: 'vp9', + Conditions: [ + { + Condition: 'LessThanEqual', + Property: 'VideoBitrate', + Value: '40000000' + } + ] + }); + profile.CodecProfiles.push({ + Type: 'Video', + Codec: 'mpeg4,vc1,mpeg2video,mpeg1video,msmpeg4,h263,vp6,vp8', + Conditions: [ + { + Condition: 'LessThanEqual', + Property: 'VideoBitrate', + Value: '20000000' + } + ] + }); + // All others fall here + profile.CodecProfiles.push({ + Type: 'Video', + Conditions: [ + { + Condition: 'LessThanEqual', + Property: 'VideoBitrate', + Value: '80000000' + } + ] + }); + } + // Subtitle profiles // External vtt or burn in profile.SubtitleProfiles = []; diff --git a/dashboard-ui/bower_components/emby-webcomponents/sync/syncjobeditor.js b/dashboard-ui/bower_components/emby-webcomponents/sync/syncjobeditor.js index 94dfe18d8..91d5ba2a4 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/sync/syncjobeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/sync/syncjobeditor.js @@ -30,7 +30,7 @@ html += '