diff --git a/library/extractor/src/test/assets/mp4/sample_eac3.mp4 b/library/extractor/src/test/assets/mp4/sample_eac3.mp4 new file mode 100644 index 0000000000..2bb1689bb1 Binary files /dev/null and b/library/extractor/src/test/assets/mp4/sample_eac3.mp4 differ diff --git a/library/extractor/src/test/assets/mp4/sample_eac3.mp4.0.dump b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.0.dump new file mode 100644 index 0000000000..d9bb02b385 --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.0.dump @@ -0,0 +1,247 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=898]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = 4030 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 216000 + sample count = 54 + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 32000 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 64000 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 96000 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 128000 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 160000 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 192000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 224000 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 256000 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 288000 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 320000 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 352000 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 384000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 416000 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 448000 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 480000 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 512000 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 544000 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 1696000 + flags = 536870913 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3.mp4.1.dump b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.1.dump new file mode 100644 index 0000000000..78f265ba30 --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.1.dump @@ -0,0 +1,175 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=898]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = 4030 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 144000 + sample count = 36 + sample 0: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 1: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 2: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 3: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 4: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 5: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 6: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 7: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 8: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 9: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 10: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 11: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 12: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 13: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 14: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 15: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 16: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 17: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 18: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 19: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 20: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 21: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 22: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 23: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 24: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 25: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 26: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 27: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 28: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 29: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 30: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 31: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 32: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 33: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 34: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 35: + time = 1696000 + flags = 536870913 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3.mp4.2.dump b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.2.dump new file mode 100644 index 0000000000..8674c1cedb --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.2.dump @@ -0,0 +1,103 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=898]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = 4030 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 72000 + sample count = 18 + sample 0: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 1: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 2: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 3: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 4: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 5: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 6: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 7: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 8: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 9: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 10: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 11: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 12: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 13: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 14: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 15: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 16: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 17: + time = 1696000 + flags = 536870913 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3.mp4.3.dump b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.3.dump new file mode 100644 index 0000000000..b5fad0aa47 --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3.mp4.3.dump @@ -0,0 +1,35 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=898]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = 4030 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 4000 + sample count = 1 + sample 0: + time = 1696000 + flags = 536870913 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4 b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4 new file mode 100644 index 0000000000..ebd36986fb Binary files /dev/null and b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4 differ diff --git a/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.0.dump b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.0.dump new file mode 100644 index 0000000000..9d7127ae9c --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.0.dump @@ -0,0 +1,247 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 216000 + sample count = 54 + sample 0: + time = 0 + flags = 1 + data = length 4000, hash BAEAFB2A + sample 1: + time = 32000 + flags = 1 + data = length 4000, hash E3C5EBF0 + sample 2: + time = 64000 + flags = 1 + data = length 4000, hash 32E0F957 + sample 3: + time = 96000 + flags = 1 + data = length 4000, hash 5354CC5D + sample 4: + time = 128000 + flags = 1 + data = length 4000, hash FF834906 + sample 5: + time = 160000 + flags = 1 + data = length 4000, hash 6F571E61 + sample 6: + time = 192000 + flags = 1 + data = length 4000, hash 5C931F6B + sample 7: + time = 224000 + flags = 1 + data = length 4000, hash B1FB2E57 + sample 8: + time = 256000 + flags = 1 + data = length 4000, hash C71240EB + sample 9: + time = 288000 + flags = 1 + data = length 4000, hash C3E302EE + sample 10: + time = 320000 + flags = 1 + data = length 4000, hash 7994C27B + sample 11: + time = 352000 + flags = 1 + data = length 4000, hash 1ED4E6F3 + sample 12: + time = 384000 + flags = 1 + data = length 4000, hash 1D5E6AAC + sample 13: + time = 416000 + flags = 1 + data = length 4000, hash 30058F51 + sample 14: + time = 448000 + flags = 1 + data = length 4000, hash 15DD0E4A + sample 15: + time = 480000 + flags = 1 + data = length 4000, hash 37BE7C15 + sample 16: + time = 512000 + flags = 1 + data = length 4000, hash 7CFDD34B + sample 17: + time = 544000 + flags = 1 + data = length 4000, hash 27F20D29 + sample 18: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 19: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 20: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 21: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 22: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 23: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 24: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 25: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 26: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 27: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 28: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 29: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 30: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 31: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 32: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 33: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 34: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 35: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 36: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 37: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 38: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 39: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 40: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 41: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 42: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 43: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 44: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 45: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 46: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 47: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 48: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 49: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 50: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 51: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 52: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 53: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.1.dump b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.1.dump new file mode 100644 index 0000000000..39b950ec4c --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.1.dump @@ -0,0 +1,179 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 148000 + sample count = 37 + sample 0: + time = 544000 + flags = 1 + data = length 4000, hash 27F20D29 + sample 1: + time = 576000 + flags = 1 + data = length 4000, hash 6F565894 + sample 2: + time = 608000 + flags = 1 + data = length 4000, hash A6F07C4A + sample 3: + time = 640000 + flags = 1 + data = length 4000, hash 3A0CA15C + sample 4: + time = 672000 + flags = 1 + data = length 4000, hash DB365414 + sample 5: + time = 704000 + flags = 1 + data = length 4000, hash 31E08469 + sample 6: + time = 736000 + flags = 1 + data = length 4000, hash 315F5C28 + sample 7: + time = 768000 + flags = 1 + data = length 4000, hash CC65DF80 + sample 8: + time = 800000 + flags = 1 + data = length 4000, hash 503FB64C + sample 9: + time = 832000 + flags = 1 + data = length 4000, hash 817CF735 + sample 10: + time = 864000 + flags = 1 + data = length 4000, hash 37391ADA + sample 11: + time = 896000 + flags = 1 + data = length 4000, hash 37391ADA + sample 12: + time = 928000 + flags = 1 + data = length 4000, hash 64DBF751 + sample 13: + time = 960000 + flags = 1 + data = length 4000, hash 81AE828E + sample 14: + time = 992000 + flags = 1 + data = length 4000, hash 767D6C98 + sample 15: + time = 1024000 + flags = 1 + data = length 4000, hash A5F6D4E + sample 16: + time = 1056000 + flags = 1 + data = length 4000, hash EABC6B0D + sample 17: + time = 1088000 + flags = 1 + data = length 4000, hash F47EF742 + sample 18: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 19: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 20: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 21: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 22: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 23: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 24: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 25: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 26: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 27: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 28: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 29: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 30: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 31: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 32: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 33: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 34: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 35: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 36: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.2.dump b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.2.dump new file mode 100644 index 0000000000..755a8a2fda --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.2.dump @@ -0,0 +1,107 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 76000 + sample count = 19 + sample 0: + time = 1120000 + flags = 1 + data = length 4000, hash 9B2549DA + sample 1: + time = 1152000 + flags = 1 + data = length 4000, hash A12733C9 + sample 2: + time = 1184000 + flags = 1 + data = length 4000, hash 95F62E99 + sample 3: + time = 1216000 + flags = 1 + data = length 4000, hash A4D858 + sample 4: + time = 1248000 + flags = 1 + data = length 4000, hash A4D858 + sample 5: + time = 1280000 + flags = 1 + data = length 4000, hash 22C1A129 + sample 6: + time = 1312000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 7: + time = 1344000 + flags = 1 + data = length 4000, hash 3782E8BB + sample 8: + time = 1376000 + flags = 1 + data = length 4000, hash 2C51E4A1 + sample 9: + time = 1408000 + flags = 1 + data = length 4000, hash BDB3D129 + sample 10: + time = 1440000 + flags = 1 + data = length 4000, hash F642A55 + sample 11: + time = 1472000 + flags = 1 + data = length 4000, hash 32F259F4 + sample 12: + time = 1504000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 13: + time = 1536000 + flags = 1 + data = length 4000, hash 57C98E1C + sample 14: + time = 1568000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 15: + time = 1600000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 16: + time = 1632000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 17: + time = 1664000 + flags = 1 + data = length 4000, hash 4C987B7C + sample 18: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.3.dump b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.3.dump new file mode 100644 index 0000000000..af762125b8 --- /dev/null +++ b/library/extractor/src/test/assets/mp4/sample_eac3_fragmented.mp4.3.dump @@ -0,0 +1,35 @@ +seekMap: + isSeekable = true + duration = 1728000 + getPosition(0) = [[timeUs=0, position=638]] +numberOfTracks = 1 +track 0: + format: + bitrate = -1 + id = 1 + containerMimeType = null + sampleMimeType = audio/eac3 + maxInputSize = -1 + width = -1 + height = -1 + frameRate = -1.0 + rotationDegrees = 0 + pixelWidthHeightRatio = 1.0 + channelCount = 6 + sampleRate = 48000 + pcmEncoding = -1 + encoderDelay = 0 + encoderPadding = 0 + subsampleOffsetUs = 9223372036854775807 + selectionFlags = 0 + language = und + drmInitData = - + metadata = null + initializationData: + total output bytes = 4000 + sample count = 1 + sample 0: + time = 1696000 + flags = 1 + data = length 4000, hash 4C987B7C +tracksEnded = true diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java index 1d25848306..33f12247d5 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java @@ -67,6 +67,12 @@ public final class FragmentedMp4ExtractorTest { getExtractorFactory(Collections.emptyList()), "mp4/sample_ac4_protected.mp4"); } + @Test + public void testSampleWithEac3Track() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(Collections.emptyList()), "mp4/sample_eac3_fragmented.mp4"); + } + private static ExtractorFactory getExtractorFactory(final List closedCaptionFormats) { return () -> new FragmentedMp4Extractor( diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java index 6ddc74c797..18c4554a88 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/Mp4ExtractorTest.java @@ -47,4 +47,9 @@ public final class Mp4ExtractorTest { public void testMp4SampleWithAc4Track() throws Exception { ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_ac4.mp4"); } + + @Test + public void testMp4SampleWithEac3Track() throws Exception { + ExtractorAsserts.assertBehavior(Mp4Extractor::new, "mp4/sample_eac3.mp4"); + } }