mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2025-12-31 17:00:41 +00:00
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
from unittest import TestCase
|
|
|
|
import wavinfo
|
|
from wavinfo.wave_dbmd_reader import SegmentType, DolbyAtmosMetadata, DolbyDigitalPlusMetadata
|
|
|
|
class TestDolby(TestCase):
|
|
def setUp(self):
|
|
self.test_file = "tests/test_files/protools/Test_ADM_ProTools.wav"
|
|
|
|
def test_version(self):
|
|
t1 = wavinfo.WavInfoReader(self.test_file)
|
|
d = t1.dolby
|
|
|
|
self.assertEqual((1,0,0,6), d.version)
|
|
|
|
def test_segments(self):
|
|
t1 = wavinfo.WavInfoReader(self.test_file)
|
|
d = t1.dolby
|
|
|
|
ddp = [x for x in d.segment_list if x[0] == SegmentType.DolbyDigitalPlus]
|
|
atmos = [x for x in d.segment_list if x[0] == SegmentType.DolbyAtmos]
|
|
|
|
self.assertEqual(len(ddp), 1)
|
|
self.assertEqual(len(atmos), 1)
|
|
|
|
def test_checksums(self):
|
|
t1 = wavinfo.WavInfoReader(self.test_file)
|
|
d = t1.dolby
|
|
|
|
for seg in d.segment_list:
|
|
self.assertTrue(seg[1])
|
|
|
|
def test_ddp(self):
|
|
t1 = wavinfo.WavInfoReader(self.test_file)
|
|
d = t1.dolby
|
|
|
|
ddp = d.dolby_digital_plus()
|
|
self.assertEqual(len(ddp), 1, "Failed to find exactly one Dolby Digital Plus metadata segment")
|
|
self.assertTrue( ddp[0].audio_coding_mode, DolbyDigitalPlusMetadata.AudioCodingMode.CH_ORD_3_2 )
|
|
self.assertTrue( ddp[0].lfe_on)
|
|
|
|
def test_atmos(self):
|
|
t1 = wavinfo.WavInfoReader(self.test_file)
|
|
d = t1.dolby
|
|
|
|
atmos = d.dolby_atmos()
|
|
self.assertEqual(len(atmos), 1, "Failed to find exactly one Atmos metadata segment")
|
|
|
|
|