Add test for TsExtractor's FLAG_DETECT_ACCESS_UNITS
PiperOrigin-RevId: 307777265
This commit is contained in:
parent
29392d2689
commit
1b6a32f25a
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer2.extractor.ts;
|
package com.google.android.exoplayer2.extractor.ts;
|
||||||
|
|
||||||
|
import static com.google.android.exoplayer2.extractor.ts.DefaultTsPayloadReaderFactory.FLAG_DETECT_ACCESS_UNITS;
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
@ -54,6 +55,13 @@ public final class TsExtractorTest {
|
|||||||
ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_h264_mpeg_audio.ts");
|
ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_h264_mpeg_audio.ts");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void sampleWithH264NoAccessUnitDelimiters() throws Exception {
|
||||||
|
ExtractorAsserts.assertBehavior(
|
||||||
|
() -> new TsExtractor(FLAG_DETECT_ACCESS_UNITS),
|
||||||
|
"ts/sample_h264_no_access_unit_delimiters.ts");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void sampleWithH265() throws Exception {
|
public void sampleWithH265() throws Exception {
|
||||||
ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_h265.ts");
|
ExtractorAsserts.assertBehavior(TsExtractor::new, "ts/sample_h265.ts");
|
||||||
|
BIN
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts
vendored
Normal file
BIN
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts
vendored
Normal file
Binary file not shown.
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.0.dump
vendored
Normal file
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.0.dump
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 66733
|
||||||
|
getPosition(0) = [[timeUs=0, position=0]]
|
||||||
|
getPosition(1) = [[timeUs=1, position=0]]
|
||||||
|
getPosition(33366) = [[timeUs=33366, position=6420]]
|
||||||
|
getPosition(66733) = [[timeUs=66733, position=13028]]
|
||||||
|
numberOfTracks = 2
|
||||||
|
track 256:
|
||||||
|
total output bytes = 12451
|
||||||
|
sample count = 4
|
||||||
|
format 0:
|
||||||
|
id = 1/256
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001E
|
||||||
|
width = 640
|
||||||
|
height = 426
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4C2CAE9C
|
||||||
|
data = length 9, hash D971CD89
|
||||||
|
sample 0:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 734, hash AF0D9485
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 1
|
||||||
|
data = length 10938, hash 68420875
|
||||||
|
sample 2:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 6, hash 34E6CF79
|
||||||
|
sample 3:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 518, hash 546C177
|
||||||
|
track 8448:
|
||||||
|
total output bytes = 0
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/8448
|
||||||
|
sampleMimeType = application/cea-608
|
||||||
|
tracksEnded = true
|
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.1.dump
vendored
Normal file
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.1.dump
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 66733
|
||||||
|
getPosition(0) = [[timeUs=0, position=0]]
|
||||||
|
getPosition(1) = [[timeUs=1, position=0]]
|
||||||
|
getPosition(33366) = [[timeUs=33366, position=6420]]
|
||||||
|
getPosition(66733) = [[timeUs=66733, position=13028]]
|
||||||
|
numberOfTracks = 2
|
||||||
|
track 256:
|
||||||
|
total output bytes = 12451
|
||||||
|
sample count = 4
|
||||||
|
format 0:
|
||||||
|
id = 1/256
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001E
|
||||||
|
width = 640
|
||||||
|
height = 426
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4C2CAE9C
|
||||||
|
data = length 9, hash D971CD89
|
||||||
|
sample 0:
|
||||||
|
time = 88977
|
||||||
|
flags = 0
|
||||||
|
data = length 734, hash AF0D9485
|
||||||
|
sample 1:
|
||||||
|
time = 88977
|
||||||
|
flags = 1
|
||||||
|
data = length 10938, hash 68420875
|
||||||
|
sample 2:
|
||||||
|
time = 155710
|
||||||
|
flags = 0
|
||||||
|
data = length 6, hash 34E6CF79
|
||||||
|
sample 3:
|
||||||
|
time = 155710
|
||||||
|
flags = 0
|
||||||
|
data = length 518, hash 546C177
|
||||||
|
track 8448:
|
||||||
|
total output bytes = 0
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/8448
|
||||||
|
sampleMimeType = application/cea-608
|
||||||
|
tracksEnded = true
|
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.2.dump
vendored
Normal file
43
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.2.dump
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 66733
|
||||||
|
getPosition(0) = [[timeUs=0, position=0]]
|
||||||
|
getPosition(1) = [[timeUs=1, position=0]]
|
||||||
|
getPosition(33366) = [[timeUs=33366, position=6420]]
|
||||||
|
getPosition(66733) = [[timeUs=66733, position=13028]]
|
||||||
|
numberOfTracks = 2
|
||||||
|
track 256:
|
||||||
|
total output bytes = 12451
|
||||||
|
sample count = 4
|
||||||
|
format 0:
|
||||||
|
id = 1/256
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001E
|
||||||
|
width = 640
|
||||||
|
height = 426
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4C2CAE9C
|
||||||
|
data = length 9, hash D971CD89
|
||||||
|
sample 0:
|
||||||
|
time = 111221
|
||||||
|
flags = 0
|
||||||
|
data = length 734, hash AF0D9485
|
||||||
|
sample 1:
|
||||||
|
time = 111221
|
||||||
|
flags = 1
|
||||||
|
data = length 10938, hash 68420875
|
||||||
|
sample 2:
|
||||||
|
time = 177954
|
||||||
|
flags = 0
|
||||||
|
data = length 6, hash 34E6CF79
|
||||||
|
sample 3:
|
||||||
|
time = 177954
|
||||||
|
flags = 0
|
||||||
|
data = length 518, hash 546C177
|
||||||
|
track 8448:
|
||||||
|
total output bytes = 0
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/8448
|
||||||
|
sampleMimeType = application/cea-608
|
||||||
|
tracksEnded = true
|
27
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.3.dump
vendored
Normal file
27
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.3.dump
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 66733
|
||||||
|
getPosition(0) = [[timeUs=0, position=0]]
|
||||||
|
getPosition(1) = [[timeUs=1, position=0]]
|
||||||
|
getPosition(33366) = [[timeUs=33366, position=6420]]
|
||||||
|
getPosition(66733) = [[timeUs=66733, position=13028]]
|
||||||
|
numberOfTracks = 2
|
||||||
|
track 256:
|
||||||
|
total output bytes = 255
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/256
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001E
|
||||||
|
width = 640
|
||||||
|
height = 426
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4C2CAE9C
|
||||||
|
data = length 9, hash D971CD89
|
||||||
|
track 8448:
|
||||||
|
total output bytes = 0
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/8448
|
||||||
|
sampleMimeType = application/cea-608
|
||||||
|
tracksEnded = true
|
40
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump
vendored
Normal file
40
testdata/src/test/assets/ts/sample_h264_no_access_unit_delimiters.ts.unknown_length.dump
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = false
|
||||||
|
duration = UNSET TIME
|
||||||
|
getPosition(0) = [[timeUs=0, position=0]]
|
||||||
|
numberOfTracks = 2
|
||||||
|
track 256:
|
||||||
|
total output bytes = 12451
|
||||||
|
sample count = 4
|
||||||
|
format 0:
|
||||||
|
id = 1/256
|
||||||
|
sampleMimeType = video/avc
|
||||||
|
codecs = avc1.64001E
|
||||||
|
width = 640
|
||||||
|
height = 426
|
||||||
|
initializationData:
|
||||||
|
data = length 29, hash 4C2CAE9C
|
||||||
|
data = length 9, hash D971CD89
|
||||||
|
sample 0:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 734, hash AF0D9485
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 1
|
||||||
|
data = length 10938, hash 68420875
|
||||||
|
sample 2:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 6, hash 34E6CF79
|
||||||
|
sample 3:
|
||||||
|
time = 133466
|
||||||
|
flags = 0
|
||||||
|
data = length 518, hash 546C177
|
||||||
|
track 8448:
|
||||||
|
total output bytes = 0
|
||||||
|
sample count = 0
|
||||||
|
format 0:
|
||||||
|
id = 1/8448
|
||||||
|
sampleMimeType = application/cea-608
|
||||||
|
tracksEnded = true
|
Loading…
x
Reference in New Issue
Block a user