mirror of
https://github.com/jellyfin/jellyfin-roku.git
synced 2025-02-26 09:46:18 +00:00
respect "Profile Level Support" settings + add setting to use DTS for transcoding instead of the default EAC3
This commit is contained in:
parent
63e49bbc8e
commit
41060d10bb
@ -1031,8 +1031,8 @@
|
||||
<translation>Enable Limit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable or disable the 'Maximum Bitrate' setting.</source>
|
||||
<translation>Enable or disable the 'Maximum Bitrate' setting.</translation>
|
||||
<source>Enable or disable the 'Maximum Bitrate' setting.</source>
|
||||
<translation>Enable or disable the 'Maximum Bitrate' setting.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bitrate Limit</source>
|
||||
@ -1114,5 +1114,20 @@
|
||||
<translation>Set how many seconds before the end of an episode the Next Episode button should appear. Set to 0 to disable.</translation>
|
||||
<extracomment>Settings Menu - Description for option</extracomment>
|
||||
</message>
|
||||
<message>
|
||||
<source>Choose your preferred audio codec when transcoding multichannel audio.</source>
|
||||
<translation>Choose your preferred audio codec when transcoding multichannel audio.</translation>
|
||||
<extracomment>Settings Menu - Description for option</extracomment>
|
||||
</message>
|
||||
<message>
|
||||
<source>Force all transcodes to use DTS instead of the default EAC3. The device must support DTS for this setting to have an effect.</source>
|
||||
<translation>Force all transcodes to use DTS instead of the default EAC3. The device must support DTS for this setting to have an effect.</translation>
|
||||
<extracomment>Settings Menu - Description for option</extracomment>
|
||||
</message>
|
||||
<message>
|
||||
<source>Audio Codec Support</source>
|
||||
<translation>Audio Codec Support</translation>
|
||||
<extracomment>Settings Menu - Title of option</extracomment>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -24,7 +24,20 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Codec Support",
|
||||
"title": "Audio Codec Support",
|
||||
"description": "Choose your preferred audio codec when transcoding multichannel audio.",
|
||||
"children": [
|
||||
{
|
||||
"title": "DTS",
|
||||
"description": "Force all transcodes to use DTS instead of the default EAC3. The device must support DTS for this setting to have an effect.",
|
||||
"settingName": "playback.forceDTS",
|
||||
"type": "bool",
|
||||
"default": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Video Codec Support",
|
||||
"description": "Enable or disable Direct Play support for certain codecs.",
|
||||
"children": [
|
||||
{
|
||||
@ -51,7 +64,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Profile Level Support",
|
||||
"title": "Video Profile Level Support",
|
||||
"description": "Attempt Direct Play of potentially unsupported profile levels",
|
||||
"children": [
|
||||
{
|
||||
|
@ -71,6 +71,10 @@ function getDeviceProfile() as object
|
||||
' in order of preference from left to right
|
||||
audioCodecs = ["mp3", "vorbis", "opus", "flac", "alac", "ac4", "pcm", "wma", "wmapro"]
|
||||
surroundSoundCodecs = ["eac3", "ac3", "dts"]
|
||||
if m.global.session.user.settings["playback.forceDTS"] = true
|
||||
surroundSoundCodecs = ["dts", "eac3", "ac3"]
|
||||
end if
|
||||
|
||||
surroundSoundCodec = invalid
|
||||
if di.GetAudioOutputChannel() = "5.1 surround"
|
||||
maxAudioChannels = "6"
|
||||
@ -473,15 +477,19 @@ function getDeviceProfile() as object
|
||||
"Property": "Height",
|
||||
"Value": m.global.device.videoHeight,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"Condition": "LessThanEqual",
|
||||
"Property": "VideoLevel",
|
||||
"Value": h264LevelString,
|
||||
"IsRequired": false
|
||||
}
|
||||
]
|
||||
}
|
||||
' check user setting before adding video level restrictions
|
||||
if not m.global.session.user.settings["playback.tryDirect.h264ProfileLevel"]
|
||||
codecProfileArray.Conditions.push({
|
||||
"Condition": "LessThanEqual",
|
||||
"Property": "VideoLevel",
|
||||
"Value": h264LevelString,
|
||||
"IsRequired": false
|
||||
})
|
||||
end if
|
||||
|
||||
bitRateArray = GetBitRateLimit("h264")
|
||||
if bitRateArray.count() > 0
|
||||
codecProfileArray.Conditions.push(bitRateArray)
|
||||
@ -657,12 +665,6 @@ function getDeviceProfile() as object
|
||||
"Value": hevcVideoRangeTypes,
|
||||
"IsRequired": false
|
||||
},
|
||||
{
|
||||
"Condition": "LessThanEqual",
|
||||
"Property": "VideoLevel",
|
||||
"Value": hevcLevelString,
|
||||
"IsRequired": false
|
||||
},
|
||||
{
|
||||
"Condition": "LessThanEqual",
|
||||
"Property": "Width",
|
||||
@ -678,6 +680,16 @@ function getDeviceProfile() as object
|
||||
]
|
||||
}
|
||||
|
||||
' check user setting before adding VideoLevel restrictions
|
||||
if not m.global.session.user.settings["playback.tryDirect.hevcProfileLevel"]
|
||||
codecProfileArray.Conditions.push({
|
||||
"Condition": "LessThanEqual",
|
||||
"Property": "VideoLevel",
|
||||
"Value": hevcLevelString,
|
||||
"IsRequired": false
|
||||
})
|
||||
end if
|
||||
|
||||
bitRateArray = GetBitRateLimit("h265")
|
||||
if bitRateArray.count() > 0
|
||||
codecProfileArray.Conditions.push(bitRateArray)
|
||||
|
Loading…
x
Reference in New Issue
Block a user