Skip to content

Commit 2911bf7

Browse files
author
glass
committed
Add Dolby TrueHD extraction test for MP4 files.
Signed-off-by: glass <glass@dolby.com>
1 parent 184c310 commit 2911bf7

File tree

7 files changed

+1025
-0
lines changed

7 files changed

+1025
-0
lines changed

library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,10 @@ public void mp4SampleWithColorInfo() throws Exception {
102102
ExtractorAsserts.assertBehavior(
103103
Mp4Extractor::new, "media/mp4/sample_with_color_info.mp4", simulationConfig);
104104
}
105+
106+
@Test
107+
public void mp4SampleWithDolbyTrueHDTrack() throws Exception {
108+
ExtractorAsserts.assertBehavior(
109+
Mp4Extractor::new, "media/mp4/sample_dthd.mp4", simulationConfig);
110+
}
105111
}
Lines changed: 319 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,319 @@
1+
seekMap:
2+
isSeekable = true
3+
duration = 1000000
4+
getPosition(0) = [[timeUs=0, position=2044712]]
5+
getPosition(1) = [[timeUs=1, position=2044712]]
6+
getPosition(500000) = [[timeUs=500000, position=2141214]]
7+
getPosition(1000000) = [[timeUs=1000000, position=2262182]]
8+
numberOfTracks = 1
9+
track 0:
10+
total output bytes = 227030
11+
sample count = 75
12+
format 0:
13+
id = 1
14+
sampleMimeType = audio/true-hd
15+
maxInputSize = 12704
16+
channelCount = 2
17+
sampleRate = 48000
18+
language = und
19+
sample 0:
20+
time = 0
21+
flags = 1
22+
data = length 3512, hash B77F1117
23+
sample 1:
24+
time = 13333
25+
flags = 0
26+
data = length 2830, hash 4B19B7D5
27+
sample 2:
28+
time = 26666
29+
flags = 0
30+
data = length 2868, hash BC04A38E
31+
sample 3:
32+
time = 40000
33+
flags = 0
34+
data = length 2834, hash D2AF8AF9
35+
sample 4:
36+
time = 53333
37+
flags = 0
38+
data = length 2898, hash 5C9B3119
39+
sample 5:
40+
time = 66666
41+
flags = 0
42+
data = length 2800, hash 31B9C93F
43+
sample 6:
44+
time = 80000
45+
flags = 0
46+
data = length 2866, hash 7FCABDBC
47+
sample 7:
48+
time = 93333
49+
flags = 0
50+
data = length 2980, hash FC2CCBDA
51+
sample 8:
52+
time = 106666
53+
flags = 1
54+
data = length 3432, hash 17F43166
55+
sample 9:
56+
time = 120000
57+
flags = 0
58+
data = length 2974, hash 69EDFD38
59+
sample 10:
60+
time = 133333
61+
flags = 0
62+
data = length 2898, hash 60E09542
63+
sample 11:
64+
time = 146666
65+
flags = 0
66+
data = length 2896, hash 94A43D4A
67+
sample 12:
68+
time = 160000
69+
flags = 0
70+
data = length 3008, hash 82D706BB
71+
sample 13:
72+
time = 173333
73+
flags = 0
74+
data = length 2918, hash 22DE72A8
75+
sample 14:
76+
time = 186666
77+
flags = 0
78+
data = length 2990, hash E478A008
79+
sample 15:
80+
time = 200000
81+
flags = 0
82+
data = length 2860, hash B5C3DE40
83+
sample 16:
84+
time = 213333
85+
flags = 1
86+
data = length 3638, hash 3FCD885B
87+
sample 17:
88+
time = 226666
89+
flags = 0
90+
data = length 2968, hash A3692382
91+
sample 18:
92+
time = 240000
93+
flags = 0
94+
data = length 2940, hash 72A71C81
95+
sample 19:
96+
time = 253333
97+
flags = 0
98+
data = length 3010, hash A826B2C3
99+
sample 20:
100+
time = 266666
101+
flags = 0
102+
data = length 2952, hash BCEA8C02
103+
sample 21:
104+
time = 280000
105+
flags = 0
106+
data = length 3018, hash C313A53F
107+
sample 22:
108+
time = 293333
109+
flags = 0
110+
data = length 2930, hash 4AAB358
111+
sample 23:
112+
time = 306666
113+
flags = 0
114+
data = length 2898, hash C2C22662
115+
sample 24:
116+
time = 320000
117+
flags = 1
118+
data = length 3680, hash 354DF989
119+
sample 25:
120+
time = 333333
121+
flags = 0
122+
data = length 2970, hash 3191F764
123+
sample 26:
124+
time = 346666
125+
flags = 0
126+
data = length 3044, hash 9E115802
127+
sample 27:
128+
time = 360000
129+
flags = 0
130+
data = length 2946, hash B1341399
131+
sample 28:
132+
time = 373333
133+
flags = 0
134+
data = length 2992, hash 4DA27845
135+
sample 29:
136+
time = 386666
137+
flags = 0
138+
data = length 2930, hash 140DC44C
139+
sample 30:
140+
time = 400000
141+
flags = 0
142+
data = length 2960, hash 5287EBF8
143+
sample 31:
144+
time = 413333
145+
flags = 0
146+
data = length 3062, hash 5060ABDC
147+
sample 32:
148+
time = 426666
149+
flags = 1
150+
data = length 3442, hash 6A01B464
151+
sample 33:
152+
time = 440000
153+
flags = 0
154+
data = length 2936, hash BF52F98E
155+
sample 34:
156+
time = 453333
157+
flags = 0
158+
data = length 2838, hash 10527740
159+
sample 35:
160+
time = 466666
161+
flags = 0
162+
data = length 2864, hash 10F6155A
163+
sample 36:
164+
time = 480000
165+
flags = 0
166+
data = length 2920, hash 67E8A591
167+
sample 37:
168+
time = 493333
169+
flags = 0
170+
data = length 2848, hash F977257
171+
sample 38:
172+
time = 506666
173+
flags = 0
174+
data = length 2944, hash 8B91ADCD
175+
sample 39:
176+
time = 519999
177+
flags = 0
178+
data = length 2926, hash EFF18110
179+
sample 40:
180+
time = 533333
181+
flags = 1
182+
data = length 3512, hash 8F649AAB
183+
sample 41:
184+
time = 546666
185+
flags = 0
186+
data = length 2868, hash 4865A017
187+
sample 42:
188+
time = 560000
189+
flags = 0
190+
data = length 2912, hash 4C53CD01
191+
sample 43:
192+
time = 573333
193+
flags = 0
194+
data = length 2928, hash 1767577
195+
sample 44:
196+
time = 586666
197+
flags = 0
198+
data = length 2864, hash E7113F0F
199+
sample 45:
200+
time = 600000
201+
flags = 0
202+
data = length 2964, hash 6134B0C
203+
sample 46:
204+
time = 613333
205+
flags = 0
206+
data = length 2890, hash 66522108
207+
sample 47:
208+
time = 626666
209+
flags = 0
210+
data = length 2920, hash BB4EEE1E
211+
sample 48:
212+
time = 640000
213+
flags = 1
214+
data = length 3556, hash 1D6F7441
215+
sample 49:
216+
time = 653333
217+
flags = 0
218+
data = length 2976, hash 2F3CE2D2
219+
sample 50:
220+
time = 666666
221+
flags = 0
222+
data = length 3052, hash D2768FB4
223+
sample 51:
224+
time = 680000
225+
flags = 0
226+
data = length 2898, hash DD92F0B2
227+
sample 52:
228+
time = 693333
229+
flags = 0
230+
data = length 2954, hash 22A93E52
231+
sample 53:
232+
time = 706666
233+
flags = 0
234+
data = length 2888, hash 9D4C004E
235+
sample 54:
236+
time = 720000
237+
flags = 0
238+
data = length 2950, hash 23EB3F4F
239+
sample 55:
240+
time = 733333
241+
flags = 0
242+
data = length 3094, hash 6D4E122E
243+
sample 56:
244+
time = 746666
245+
flags = 1
246+
data = length 3504, hash BF4DC806
247+
sample 57:
248+
time = 760000
249+
flags = 0
250+
data = length 2962, hash DF5CAA5C
251+
sample 58:
252+
time = 773333
253+
flags = 0
254+
data = length 2880, hash 829308CA
255+
sample 59:
256+
time = 786666
257+
flags = 0
258+
data = length 2974, hash BA526EF7
259+
sample 60:
260+
time = 800000
261+
flags = 0
262+
data = length 3058, hash EC86C765
263+
sample 61:
264+
time = 813333
265+
flags = 0
266+
data = length 2988, hash 5DCBAF42
267+
sample 62:
268+
time = 826666
269+
flags = 0
270+
data = length 3092, hash D3A311AA
271+
sample 63:
272+
time = 840000
273+
flags = 0
274+
data = length 2898, hash EBDAB61A
275+
sample 64:
276+
time = 853333
277+
flags = 1
278+
data = length 3678, hash 9A51AF59
279+
sample 65:
280+
time = 866666
281+
flags = 0
282+
data = length 2938, hash 62601A8C
283+
sample 66:
284+
time = 880000
285+
flags = 0
286+
data = length 2952, hash 691C5AE3
287+
sample 67:
288+
time = 893333
289+
flags = 0
290+
data = length 3118, hash 98896730
291+
sample 68:
292+
time = 906666
293+
flags = 0
294+
data = length 2988, hash A4911416
295+
sample 69:
296+
time = 920000
297+
flags = 0
298+
data = length 3074, hash 40D0E25E
299+
sample 70:
300+
time = 933333
301+
flags = 0
302+
data = length 2982, hash D230C90D
303+
sample 71:
304+
time = 946666
305+
flags = 0
306+
data = length 2938, hash 4CB41DAE
307+
sample 72:
308+
time = 960000
309+
flags = 1
310+
data = length 3616, hash D1BD72C4
311+
sample 73:
312+
time = 973333
313+
flags = 0
314+
data = length 2924, hash B2AFB2A1
315+
sample 74:
316+
time = 986666
317+
flags = 0
318+
data = length 3020, hash AEFBF222
319+
tracksEnded = true

0 commit comments

Comments
 (0)