0.2.42 - DTS surround sound support
This commit is contained in:
@@ -52,3 +52,43 @@ func TestForcedTranscodeProfileCannotStreamCopyHEVC(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestAudioProfileAdvertisesDecodeAndPassthroughWithoutReencodingVideo(t *testing.T) {
|
||||
profile := androidTVDeviceProfile(PlaybackCapabilities{
|
||||
HEVC: true, AudioProfileV1: true, AudioMaxChannels: 8,
|
||||
AudioPassthrough: map[string]bool{"ac3": true, "eac3": true},
|
||||
AudioDecode: map[string]bool{
|
||||
"ac3": true, "eac3": true, "atmos": true, "dts": true,
|
||||
"dts_hd": true, "truehd": true,
|
||||
},
|
||||
})
|
||||
direct := profile["DirectPlayProfiles"].([]map[string]string)[0]
|
||||
for _, codec := range []string{"flac", "opus", "ac3", "eac3", "dts", "dtshd", "truehd"} {
|
||||
if !containsCommaValue(direct["AudioCodec"], codec) {
|
||||
t.Fatalf("direct audio codecs %q missing %q", direct["AudioCodec"], codec)
|
||||
}
|
||||
}
|
||||
transcode := profile["TranscodingProfiles"].([]map[string]string)[0]
|
||||
if transcode["VideoCodec"] != "h264,hevc" || transcode["AudioCodec"] != "eac3,ac3,aac,mp3" {
|
||||
t.Fatalf("audio conversion profile = %#v", transcode)
|
||||
}
|
||||
profiles := profile["CodecProfiles"].([]map[string]any)
|
||||
audio := profiles[len(profiles)-1]
|
||||
conditions := audio["Conditions"].([]map[string]any)
|
||||
if audio["Type"] != "VideoAudio" || conditions[0]["Value"] != "8" {
|
||||
t.Fatalf("audio constraints = %#v", audio)
|
||||
}
|
||||
}
|
||||
|
||||
func containsCommaValue(values, wanted string) bool {
|
||||
start := 0
|
||||
for i := 0; i <= len(values); i++ {
|
||||
if i == len(values) || values[i] == ',' {
|
||||
if values[start:i] == wanted {
|
||||
return true
|
||||
}
|
||||
start = i + 1
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user