2018-04-08, 14:47
(2018-04-08, 14:01)ohhiitsme Wrote: Hi Dan,That should be fixed in latest daily build. "truehd+atmos" will be catched before "Codec_ID" will be used:
After adding the mapping for Atmos from you mapping post a few days ago, it still only coming up with truehd. the mp4 files seem to read the "format profile" and convert using the table, but the mkv files seem to only use the codec ID A_TRUEHD so will only ever change to truehd.
Audio
ID : 2
Format : TrueHD
Format profile : TrueHD+Atmos / TrueHD
Codec ID : A_TRUEHD
vb:Dim tCodec As String = String.Empty
If sFormat.ToLower.Contains("dts") AndAlso (sProfile.ToLower.Contains("hra / core") OrElse sProfile.ToLower.Contains("ma / core")) Then
tCodec = sProfile
ElseIf sFormat.ToLower.Contains("atmos / truehd") Then
tCodec = sFormat
ElseIf sProfile.ToLower.Contains("truehd+atmos") Then
tCodec = sProfile
ElseIf sProfile.ToLower.Contains("e-ac-3+atmos") Then
tCodec = "e-ac-3+atmos"
ElseIf Not String.IsNullOrEmpty(sCodecID) AndAlso Not Integer.TryParse(sCodecID, 0) AndAlso Not sCodecID.ToLower.Contains("a_pcm") AndAlso Not sCodecID.Contains("00001000-0000-0100-8000-00AA00389B71") Then
tCodec = sCodecID
ElseIf Not String.IsNullOrEmpty(sCodecHint) Then
tCodec = sCodecHint
ElseIf sFormat.ToLower.Contains("mpeg") AndAlso Not String.IsNullOrEmpty(sProfile) Then
tCodec = String.Concat("mp", sProfile.Replace("Layer", String.Empty).Trim).Trim
ElseIf Not String.IsNullOrEmpty(sFormat) Then
tCodec = sFormat
End If