EmbyCrackedClient/web/modules/browserdeviceprofile.js
2025-06-25 11:46:04 +08:00

1 line
No EOL
20 KiB
JavaScript

import browser from"./browser.js";let isNativeWindows="winjs"===globalThis.appMode,isNativeTizen="tizen"===globalThis.appMode,isNativeLG="webos"===globalThis.appMode;function canPlayH264(){return canPlayVideoType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')}let VideoCanPlays={},AudioCanPlays={},SupportsAudioTracks=void 0!==document.createElement("video").audioTracks;function canPlayAudioType(type){let val=AudioCanPlays[type];return null==val&&(val=document.createElement("audio").canPlayType(type).replace(/no/,""),AudioCanPlays[type]=val),val}function canPlayVideoType(type){let val=VideoCanPlays[type];return null==val&&(val=document.createElement("video").canPlayType(type).replace(/no/,""),VideoCanPlays[type]=val),val}function getSupportedHevcCodecTags(protocol,usefMp4,usingHlsJs){var tags;return isNativeLG&&browser.sdkVersion&&browser.sdkVersion<2&&browser.isFhd||browser.ps4?[]:isNativeTizen?["*"]:(tags=[],"hls"!==protocol||usefMp4||usingHlsJs||isNativeLG?((canPlayVideoType('video/mp4; codecs="hvc1.1.L0.0"')||canPlayVideoType('video/mp4 ; codecs="hvc1.1.6.L93.B0"'))&&tags.push("hvc1"),(canPlayVideoType('video/mp4; codecs="hev1.1.L0.0"')||canPlayVideoType('video/mp4; codecs="hev1.1.2.L150"'))&&tags.push("hev1"),(canPlayVideoType('video/mp4; codecs="dvh1.04.07"')||canPlayVideoType('video/mp4; codecs="dvh1.05.07"')||canPlayVideoType('video/mp4; codecs="dvh1.08.07"'))&&tags.push("dvh1"),(canPlayVideoType('video/mp4; codecs="dvhe.04.07"')||canPlayVideoType('video/mp4; codecs="dvhe.05.07"')||canPlayVideoType('video/mp4; codecs="dvhe.08.07"'))&&tags.push("dvhe")):((canPlayVideoType('video/mp2t; codecs="hvc1.1.L0.0"')||canPlayVideoType('video/mp2t ; codecs="hvc1.1.6.L93.B0"'))&&tags.push("hvc1"),(canPlayVideoType('video/mp2t; codecs="hev1.1.L0.0"')||canPlayVideoType('video/mp2t; codecs="hev1.1.2.L150"'))&&tags.push("hev1"),(canPlayVideoType('video/mp2t; codecs="dvh1.04.07"')||canPlayVideoType('video/mp2t; codecs="dvh1.05.07"')||canPlayVideoType('video/mp2t; codecs="dvh1.08.07"'))&&tags.push("dvh1"),(canPlayVideoType('video/mp2t; codecs="dvhe.04.07"')||canPlayVideoType('video/mp2t; codecs="dvhe.05.07"')||canPlayVideoType('video/mp2t; codecs="dvhe.08.07"'))&&tags.push("dvhe")),tags.length&&(tags.push("hevc"),tags.push("hdmv")),tags)}function canPlayH265(protocol,usefMp4,usingHlsJs){return 0<getSupportedHevcCodecTags(protocol,usefMp4,usingHlsJs).length}function canPlayAV1(){return isNativeTizen&&browser.sdkVersion?!!(6<=browser.sdkVersion||5.5<=browser.sdkVersion&&browser.isTizenUhd):canPlayVideoType('video/mp4; codecs="av01.0.00M.08"')}function supportsAc3InHls(options){return!(!isNativeTizen&&!isNativeLG)||canPlayVideoType('application/x-mpegurl; codecs="avc1.42E01E, ac-3"')||canPlayVideoType('application/vnd.apple.mpegURL; codecs="avc1.42E01E, ac-3"')}let _supportsTextTracks;function supportsTextTracks(){return!!isNativeTizen||(_supportsTextTracks=null==_supportsTextTracks?null!=document.createElement("video").textTracks:_supportsTextTracks)}function canPlayNativeHls(){return!!isNativeTizen||!(!canPlayVideoType("application/x-mpegURL")&&!canPlayVideoType("application/vnd.apple.mpegURL"))}function canPlayHlsWithMSE(){return null!=globalThis.MediaSource||null!=globalThis.ManagedMediaSource}function canPlayAudioFormat(format){let typeString;if("flac"===format){if(isNativeTizen||isNativeLG)return!0}else if("wma"===format){if(isNativeTizen)return!0;if(isNativeWindows)return!0}else if("asf"===format){if(isNativeTizen)return!0;if(isNativeWindows)return!0}else if("opus"===format)return!(isNativeLG&&browser.sdkVersion&&browser.sdkVersion<4||!canPlayAudioType(typeString='audio/ogg; codecs="opus"'));if("webma"===format)typeString="audio/webm";else if("mp2"===format)typeString="audio/mpeg";else if("alac"===format){if(browser.firefox)return!1;typeString='audio/mp4 codecs="alac"'}else{if(("ogg"===format||"oga"===format)&&isNativeLG&&browser.sdkVersion&&browser.sdkVersion<4)return!1;typeString="audio/"+format}return!!canPlayAudioType(typeString)}function isChromium(){var brands=navigator.userAgentData?.brands||[];for(let i=0,length=brands.length;i<length;i++)if("chromium"===(brands[i].brand||"").toLowerCase())return!0;return browser.chrome}function testCanPlayMkv(){return!(!(isNativeTizen||isNativeLG||isNativeWindows)&&!canPlayVideoType("video/x-matroska")&&!canPlayVideoType("video/mkv")&&(browser.operaTv||!isChromium()))}function testCanPlayTs(){return isNativeTizen||isNativeLG||isNativeWindows}function supportsMpeg2Video(){return isNativeTizen||isNativeWindows||isNativeLG}function supportsVc1(){return isNativeTizen||isNativeWindows||isNativeLG}function getFlvMseDirectPlayProfile(){var videoAudioCodecs=["aac"];return videoAudioCodecs.push("mp3"),{Container:"flv",Type:"Video",VideoCodec:"h264",AudioCodec:videoAudioCodecs.join(",")}}function getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,options){let supported=!1,profileContainer=container;var videoCodecs=[];switch(container){case"asf":supported=isNativeTizen||isNativeWindows||isNativeLG,videoAudioCodecs=[];break;case"avi":supported=isNativeTizen||isNativeWindows||isNativeLG;break;case"mpg":case"mpeg":supported=isNativeWindows||isNativeTizen||isNativeLG;break;case"flv":if(!(supported=isNativeTizen)&&null!=globalThis.MediaSource&&canPlayH264())return getFlvMseDirectPlayProfile();break;case"3gp":supported=!(!isNativeTizen&&!isNativeLG)||canPlayVideoType("video/3gpp");break;case"mts":case"trp":case"vob":case"vro":supported=isNativeTizen;break;case"mov":supported=!browser.edge||isNativeWindows,videoCodecs.push("h264");break;case"m2ts":supported=isNativeTizen||isNativeLG||isNativeWindows,videoCodecs.push("h264"),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video");break;case"wmv":supported=isNativeTizen||isNativeLG||isNativeWindows,videoAudioCodecs=[];break;case"ts":supported=testCanPlayTs(),videoCodecs.push("h264"),canPlayH265()&&(videoCodecs.push("h265"),videoCodecs.push("hevc")),supportsVc1()&&videoCodecs.push("vc1"),supportsMpeg2Video()&&videoCodecs.push("mpeg2video"),profileContainer="ts,mpegts";break;case"rm":supported=isNativeTizen||isNativeLG,videoAudioCodecs=[]}return supported?{Container:profileContainer,Type:"Video",VideoCodec:videoCodecs.join(","),AudioCodec:videoAudioCodecs.join(",")}:null}function getGlobalMaxVideoBitrate(){return isNativeTizen?browser.isTizenFhd?2e7:null:isNativeTizen?2e7:browser.ps4?8e6:null}function supportsAc3(){return!(!isNativeTizen&&!isNativeLG)||canPlayVideoType('audio/mp4; codecs="ac-3"')}function supportsAc4(){return isNativeTizen&&browser.sdkVersion?!!(6<=browser.sdkVersion||4<=browser.sdkVersion&&browser.isTizenUhd):canPlayVideoType('audio/mp4; codecs="ac-4"')||canPlayVideoType('video/mp4; codecs="ac-4"')}function supportsEac3(){return!!(isNativeLG&&browser.sdkVersion&&3.5<=browser.sdkVersion)||!!isNativeTizen||canPlayVideoType('audio/mp4; codecs="ec-3"')}function getDefaultDecodingInfo(){return Promise.resolve({supported:!0,smooth:!0,isDummyInfo:!0})}function getDecodingInfo(mediaConfig){var mimeType,codecs;return globalThis.cast&&cast.framework&&cast.framework.CastReceiverContext&&cast.framework.CastReceiverContext.getInstance().canDisplayType?(mimeType=mediaConfig.video.contentType.split(";")[0],codecs=(codecs=mediaConfig.video.contentType.split('"'))[codecs.length-2],Promise.resolve({supported:cast.framework.CastReceiverContext.getInstance().canDisplayType(mimeType,codecs,mediaConfig.video.width,mediaConfig.video.height,parseInt(mediaConfig.video.framerate)),smooth:!0})):navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo?navigator.mediaCapabilities.decodingInfo(mediaConfig).catch(getDefaultDecodingInfo):getDefaultDecodingInfo()}function enableHlsJsPlayer(runTimeTicks,mediaType){if(isNativeTizen)return!1;if(!canPlayHlsWithMSE())return!1;if(isNativeLG)return!1;if(browser.edge)return!1;if(canPlayNativeHls()){if(browser.android&&"Audio"===mediaType)return!0;if(runTimeTicks&&"Audio"===mediaType)return!1}return!0}export default function(options){return options=options||{},Promise.all([getDecodingInfo({type:"file",video:{contentType:'video/mp4; codecs="avc1.42E01E"',width:3840,height:2160,bitrate:3e7,framerate:"24"}})]).then(function(responses){let physicalAudioChannels=options.audioChannels||(browser.tv||browser.chromecast?6:2);var canPlayVp8=canPlayVideoType('video/webm; codecs="vp8"'),canPlayVp9=canPlayVideoType('video/webm; codecs="vp9"'),webmAudioCodecs=["vorbis"],canPlayMkv=testCanPlayMkv();let profile={},videoAudioCodecs=(profile.MaxStreamingBitrate=profile.MaxStaticBitrate=14e7,options.maxStaticMusicBitrate&&(profile.MaxStaticMusicBitrate=options.maxStaticMusicBitrate),profile.MusicStreamingTranscodingBitrate=192e3,profile.DirectPlayProfiles=[],[]);var hlsVideoAudioCodecs=[],supportsMp3VideoAudio=canPlayVideoType('video/mp4; codecs="avc1.640029, mp4a.69"')||canPlayVideoType('video/mp4; codecs="avc1.640029, mp4a.6B"'),supportsMp2VideoAudio=isNativeWindows||isNativeTizen||isNativeLG;let maxVideoWidth=responses[0].supported&&responses[0].smooth?null:1920;var responses=canPlayVideoType('video/mp4; codecs="avc1.640029, mp4a.40.2"'),aacAudioChannelLimit=browser.chromecast?2:browser.xboxOne?6:0,item=(responses&&browser.chromecast&&physicalAudioChannels<=2&&videoAudioCodecs.push("aac"),options.item);let usingHlsJs=!1,supportsDts=(item&&enableHlsJsPlayer(item.RunTimeTicks,item.MediaType)&&(usingHlsJs=!0),supportsAc3()&&(videoAudioCodecs.push("ac3"),(eAc3=supportsEac3())&&videoAudioCodecs.push("eac3"),usingHlsJs||supportsAc3InHls(options))&&(hlsVideoAudioCodecs.push("ac3"),!eAc3||usingHlsJs||isNativeTizen||hlsVideoAudioCodecs.push("eac3")),supportsAc4()&&videoAudioCodecs.push("ac4"),responses&&browser.chromecast&&!videoAudioCodecs.includes("aac")&&videoAudioCodecs.push("aac"),supportsMp3VideoAudio&&(videoAudioCodecs.push("mp3"),browser.ps4||physicalAudioChannels<=2&&hlsVideoAudioCodecs.push("mp3")),responses&&(videoAudioCodecs.includes("aac")||videoAudioCodecs.push("aac"),hlsVideoAudioCodecs.push("aac")),!supportsMp3VideoAudio||browser.ps4||hlsVideoAudioCodecs.includes("mp3")||hlsVideoAudioCodecs.push("mp3"),supportsMp2VideoAudio&&videoAudioCodecs.push("mp2"),isNativeTizen||browser.supportsDts||options.supportsDts);(supportsDts=isNativeTizen&&browser.sdkVersion&&4<=browser.sdkVersion?!1:supportsDts)&&(videoAudioCodecs.push("dca"),videoAudioCodecs.push("dts")),(isNativeTizen||isNativeLG)&&(videoAudioCodecs.push("pcm_u8"),videoAudioCodecs.push("pcm_s16le"),videoAudioCodecs.push("pcm_s24le")),options.supportsTrueHd&&videoAudioCodecs.push("truehd"),isNativeTizen&&browser.sdkVersion&&browser.sdkVersion<6&&videoAudioCodecs.push("aac_latm"),canPlayAudioFormat("opus")&&(videoAudioCodecs.push("opus"),usingHlsJs||hlsVideoAudioCodecs.push("opus"),webmAudioCodecs.push("opus")),canPlayAudioFormat("flac")&&!isNativeTizen&&videoAudioCodecs.push("flac");var eAc3=[],responses=[],supportsMp3VideoAudio=!!(browser.chromecast&&item&&-1===(item.Container||"").indexOf("ts")&&-1===(item.Path||"").indexOf(".avi")&&item.RunTimeTicks),supportsMp2VideoAudio=!isNativeTizen&&!isNativeLG&&!usingHlsJs,item=(canPlayH264()&&(eAc3.push("h264"),responses.push("h264")),canPlayH265()&&(eAc3.push("h265"),eAc3.push("hevc")),canPlayH265("hls",supportsMp2VideoAudio,usingHlsJs)&&(responses.push("h265"),responses.push("hevc")),[]),canPlayVp9=(canPlayAV1()&&(eAc3.push("av1"),item.push("av1"),responses.push("av1")),supportsMpeg2Video()&&eAc3.push("mpeg2video"),supportsVc1()&&eAc3.push("vc1"),isNativeTizen&&(eAc3.push("msmpeg4v2"),responses.push("mpeg2video")),(isNativeTizen||isNativeLG)&&eAc3.push("mpeg4"),canPlayVp8&&eAc3.push("vp8"),canPlayVp9&&eAc3.push("vp9"),(canPlayVp8||isNativeTizen)&&videoAudioCodecs.push("vorbis"),eAc3.length&&profile.DirectPlayProfiles.push({Container:"mp4,m4v",Type:"Video",VideoCodec:eAc3.join(","),AudioCodec:videoAudioCodecs.join(",")}),canPlayMkv&&eAc3.length&&profile.DirectPlayProfiles.push({Container:"mkv",Type:"Video",VideoCodec:eAc3.join(","),AudioCodec:videoAudioCodecs.join(",")}),["m2ts","wmv","ts","asf","avi","mpg","mpeg","flv","3gp","mts","trp","vob","vro","mov","rm"].map(function(container){return getDirectPlayProfileForVideoContainer(container,videoAudioCodecs,options)}).filter(function(i){return null!=i}).forEach(function(i){profile.DirectPlayProfiles.push(i)}),["opus","mp3","mp2","aac","flac","alac","webma","wma","asf","wav","ogg","oga"].filter(canPlayAudioFormat).forEach(function(audioFormat){"mp2"===audioFormat?profile.DirectPlayProfiles.push({Container:"mp2,mp3",Type:"Audio",AudioCodec:audioFormat}):"mp3"===audioFormat?profile.DirectPlayProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat}):"wav"===audioFormat?profile.DirectPlayProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:"PCM_S16LE,PCM_S24LE"}):"aac"===audioFormat?(browser.iOS||browser.osx||browser.firefox||profile.DirectPlayProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat}),profile.DirectPlayProfiles.push({Container:"m4a",AudioCodec:audioFormat,Type:"Audio"}),browser.tizen||profile.DirectPlayProfiles.push({Container:"mp4",AudioCodec:audioFormat,Type:"Audio"})):profile.DirectPlayProfiles.push({Container:"webma"===audioFormat?"webma,webm":audioFormat,Type:"Audio"}),"alac"===audioFormat&&profile.DirectPlayProfiles.push({Container:"m4a",AudioCodec:audioFormat,Type:"Audio"})}),canPlayVp8&&item.push("VP8"),canPlayVp9&&item.push("VP9"),item.length&&profile.DirectPlayProfiles.push({Container:"webm",Type:"Video",AudioCodec:webmAudioCodecs.join(","),VideoCodec:item.join(",")}),profile.TranscodingProfiles=[],!(!(browser.iOS||browser.osx||browser.edge)&&canPlayNativeHls())),webmAudioCodecs=canPlayNativeHls()||usingHlsJs,item=browser.edge||usingHlsJs||isNativeTizen,eAc3=(webmAudioCodecs&&!1!==options.enableHls&&profile.TranscodingProfiles.push({Container:browser.edge?"ts":"aac",Type:"Audio",AudioCodec:"aac",Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:"1",BreakOnNonKeyFrames:canPlayVp9}),["aac","mp3","opus","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),["opus","mp3","aac","wav"].filter(canPlayAudioFormat).forEach(function(audioFormat){profile.TranscodingProfiles.push({Container:audioFormat,Type:"Audio",AudioCodec:audioFormat,Context:"Static",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()})}),canPlayMkv&&supportsMp3VideoAudio&&profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:eAc3.join(","),Context:"Streaming",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),canPlayMkv&&profile.TranscodingProfiles.push({Container:"mkv",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:eAc3.join(","),Context:"Static",MaxAudioChannels:physicalAudioChannels.toString(),CopyTimestamps:!0}),webmAudioCodecs&&responses.length&&!1!==options.enableHls&&(supportsMp3VideoAudio=[],supportsMp2VideoAudio&&supportsMp3VideoAudio.push("m4s"),supportsMp3VideoAudio.push("ts"),canPlayMkv={Container:supportsMp3VideoAudio.join(","),Type:"Video",AudioCodec:hlsVideoAudioCodecs.join(","),VideoCodec:responses.join(","),Context:"Streaming",Protocol:"hls",MaxAudioChannels:physicalAudioChannels.toString(),MinSegments:"1",BreakOnNonKeyFrames:canPlayVp9,ManifestSubtitles:item?"vtt":null},isNativeTizen&&(canPlayMkv.MaxManifestSubtitles=10,canPlayMkv.AllowInterlacedVideoStreamCopy=!1),profile.TranscodingProfiles.push(canPlayMkv)),canPlayVp8&&profile.TranscodingProfiles.push({Container:"webm",Type:"Video",AudioCodec:"vorbis",VideoCodec:"vpx",Context:"Streaming",Protocol:"http",MaxAudioChannels:physicalAudioChannels.toString()}),profile.TranscodingProfiles.push({Container:"mp4",Type:"Video",AudioCodec:videoAudioCodecs.join(","),VideoCodec:"h264",Context:"Static",Protocol:"http"}),profile.ContainerProfiles=[],profile.CodecProfiles=[],isNativeTizen||SupportsAudioTracks&&globalThis.AudioTrack),supportsMp2VideoAudio=[];eAc3||supportsMp2VideoAudio.push({Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"}),aacAudioChannelLimit&&supportsMp2VideoAudio.push({Condition:"LessThanEqual",Property:"AudioChannels",Value:aacAudioChannelLimit.toString(),IsRequired:!0}),supportsMp2VideoAudio.length&&profile.CodecProfiles.push({Type:"VideoAudio",Codec:"aac",Conditions:supportsMp2VideoAudio}),isNativeLG&&browser.sdkVersion&&browser.sdkVersion<=4&&profile.CodecProfiles.push({Type:"VideoAudio",Codec:"flac",Conditions:[{Condition:"LessThanEqual",Property:"AudioChannels",Value:"6"}]}),isNativeLG&&browser.sdkVersion&&4<=browser.sdkVersion&&(supportsMp3VideoAudio=[],eAc3||supportsMp3VideoAudio.push({Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"}),supportsMp3VideoAudio.push({Condition:"LessThanEqual",Property:"AudioChannels",Value:"2"}),profile.CodecProfiles.push({Type:"VideoAudio",Codec:"vorbis",Conditions:supportsMp3VideoAudio})),eAc3||profile.CodecProfiles.push({Type:"VideoAudio",Conditions:[{Condition:"Equals",Property:"IsSecondaryAudio",Value:"false",IsRequired:"false"}]});let h264Profiles="high|main|baseline|constrained baseline",maxH264Level;browser.netcast||isNativeTizen||isNativeLG?(maxH264Level=51,isNativeTizen&&browser.sdkVersion&&6<=browser.sdkVersion&&(maxH264Level=52)):maxH264Level=canPlayVideoType('video/mp4; codecs="avc1.64083e"')?62:canPlayVideoType('video/mp4; codecs="avc1.640834"')?52:canPlayVideoType('video/mp4; codecs="avc1.640833"')?51:canPlayVideoType('video/mp4; codecs="avc1.640832"')?50:42,!isNativeTizen&&!canPlayVideoType('video/mp4; codecs="avc1.6e0033"')||browser.osx&&!browser.chrome||browser.iOS||browser.netcast||isNativeLG||(h264Profiles+="|high 10"),isNativeTizen&&(maxVideoWidth=browser.isTizenUhd?browser.isTizen8K?(console.log("8K UHD is supported"),7680):(console.log("4K UHD is supported"),4096):(console.log("FHD is supported"),1920));hlsVideoAudioCodecs=(getGlobalMaxVideoBitrate()||"").toString(),responses=[],hlsVideoAudioCodecs&&responses.push({Condition:"LessThanEqual",Property:"VideoBitrate",Value:hlsVideoAudioCodecs}),maxVideoWidth&&responses.push({Condition:"LessThanEqual",Property:"Width",Value:maxVideoWidth.toString(),IsRequired:!1}),isNativeTizen&&browser.sdkVersion&&(browser.sdkVersion<3||6<=browser.sdkVersion)&&responses.push({Condition:"Equals",Property:"VideoRotation",Value:0,IsRequired:!1}),canPlayVp9=responses.slice(0),canPlayVp9.push({Condition:"EqualsAny",Property:"VideoProfile",Value:h264Profiles,IsRequired:!1}),canPlayVp9.push({Condition:"LessThanEqual",Property:"VideoLevel",Value:maxH264Level.toString(),IsRequired:!1}),profile.CodecProfiles.push({Type:"Video",Codec:"h264",Conditions:canPlayVp9}),canPlayMkv=responses.slice(0),canPlayVp8=getSupportedHevcCodecTags();return canPlayVp8.length&&"*"!==canPlayVp8[0]&&canPlayMkv.push({Condition:"EqualsAny",Property:"VideoCodecTag",Value:canPlayVp8.join("|"),IsRequired:!1}),profile.CodecProfiles.push({Type:"Video",Codec:"hevc",Conditions:canPlayMkv}),isNativeTizen&&browser.sdkVersion&&4<=browser.sdkVersion&&responses.push({Condition:"NotEquals",Property:"VideoCodecTag",Value:"xvid",IsRequired:!1}),responses.length&&profile.CodecProfiles.push({Type:"Video",Conditions:responses}),profile.SubtitleProfiles=[],supportsTextTracks()&&(webmAudioCodecs&&item&&profile.SubtitleProfiles.push({Format:"vtt",Method:"Hls"}),enableHlsJsPlayer(1,"Video")&&(profile.SubtitleProfiles.push({Format:"eia_608",Method:"VideoSideData",Protocol:"hls"}),profile.SubtitleProfiles.push({Format:"eia_708",Method:"VideoSideData",Protocol:"hls"})),profile.SubtitleProfiles.push({Format:"vtt",Method:"External"})),profile.SubtitleProfiles.push({Format:"ass",Method:"External"}),profile.SubtitleProfiles.push({Format:"ssa",Method:"External"}),profile.ResponseProfiles=[],profile.ResponseProfiles.push({Type:"Video",Container:"m4v",MimeType:"video/mp4"}),profile})}