diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/Mp3PlaybackTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/Mp3PlaybackTest.java index 14e9348683..d725e7e4f7 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/Mp3PlaybackTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/Mp3PlaybackTest.java @@ -42,6 +42,7 @@ public final class Mp3PlaybackTest { "bear-cbr-constant-frame-size-no-seek-table.mp3", "bear-cbr-variable-frame-size-no-seek-table.mp3", "bear-id3.mp3", + "bear-id3-numeric-genre.mp3", "bear-vbr-no-seek-table.mp3", "bear-vbr-xing-header.mp3", "play-trimmed.mp3", diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/Mp3ExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/Mp3ExtractorTest.java index d3257ebd95..cacb094742 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/Mp3ExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/Mp3ExtractorTest.java @@ -101,4 +101,10 @@ public final class Mp3ExtractorTest { .build(), simulationConfig); } + + @Test + public void mp3SampleWithId3NumericGenre() throws Exception { + ExtractorAsserts.assertBehavior( + Mp3Extractor::new, "media/mp3/bear-id3-numeric-genre.mp3", simulationConfig); + } } diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.0.dump index a80bf5e315..985efca1fd 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.0.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 38160 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.1.dump index 27e36ebd7a..bcddef2022 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.1.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 25344 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.2.dump index 356e7d9872..6d544246f8 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.2.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 12624 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.3.dump index 44c93750bc..cfe9c502c2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.3.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.unknown_length.dump index a80bf5e315..985efca1fd 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-disabled.unknown_length.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 38160 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.0.dump index 395f7b0422..49fd53f7ba 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.0.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 38160 @@ -16,7 +16,7 @@ track 0: sampleRate = 48000 encoderDelay = 576 encoderPadding = 576 - metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description] + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.1.dump index 959b9f06a0..d95554971c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.1.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 25344 @@ -16,7 +16,7 @@ track 0: sampleRate = 48000 encoderDelay = 576 encoderPadding = 576 - metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description] + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 943000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.2.dump index c2d23fb356..114c947758 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.2.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 12624 @@ -16,7 +16,7 @@ track 0: sampleRate = 48000 encoderDelay = 576 encoderPadding = 576 - metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description] + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 1879000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.3.dump index 4fed1945a0..e00b9cb0e2 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.3.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 0 @@ -16,5 +16,5 @@ track 0: sampleRate = 48000 encoderDelay = 576 encoderPadding = 576 - metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description] + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.unknown_length.dump index 395f7b0422..49fd53f7ba 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-enabled.unknown_length.dump @@ -1,10 +1,10 @@ seekMap: isSeekable = true duration = 2808000 - getPosition(0) = [[timeUs=0, position=39740]] - getPosition(1) = [[timeUs=0, position=39740]] - getPosition(1404000) = [[timeUs=1404000, position=58820]] - getPosition(2808000) = [[timeUs=2808000, position=77900]] + getPosition(0) = [[timeUs=0, position=39743]] + getPosition(1) = [[timeUs=0, position=39743]] + getPosition(1404000) = [[timeUs=1404000, position=58823]] + getPosition(2808000) = [[timeUs=2808000, position=77903]] numberOfTracks = 1 track 0: total output bytes = 38160 @@ -16,7 +16,7 @@ track 0: sampleRate = 48000 encoderDelay = 576 encoderPadding = 576 - metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description] + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump new file mode 100644 index 0000000000..42691428c3 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump @@ -0,0 +1,488 @@ +seekMap: + isSeekable = true + duration = 2808000 + getPosition(0) = [[timeUs=0, position=39729]] + getPosition(1) = [[timeUs=0, position=39729]] + getPosition(1404000) = [[timeUs=1404000, position=58809]] + getPosition(2808000) = [[timeUs=2808000, position=77889]] +numberOfTracks = 1 +track 0: + total output bytes = 38160 + sample count = 117 + format 0: + sampleMimeType = audio/mpeg + maxInputSize = 4096 + channelCount = 2 + sampleRate = 48000 + encoderDelay = 576 + encoderPadding = 576 + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] + sample 0: + time = 0 + flags = 1 + data = length 96, hash 1F161542 + sample 1: + time = 24000 + flags = 1 + data = length 768, hash CD1DC50F + sample 2: + time = 48000 + flags = 1 + data = length 336, hash 3F64124B + sample 3: + time = 72000 + flags = 1 + data = length 336, hash 8FFED94E + sample 4: + time = 96000 + flags = 1 + data = length 288, hash 9CD77D47 + sample 5: + time = 120000 + flags = 1 + data = length 384, hash 24607BB5 + sample 6: + time = 144000 + flags = 1 + data = length 480, hash 4937EBAB + sample 7: + time = 168000 + flags = 1 + data = length 336, hash 546342B1 + sample 8: + time = 192000 + flags = 1 + data = length 336, hash 79E0923F + sample 9: + time = 216000 + flags = 1 + data = length 336, hash AB1F3948 + sample 10: + time = 240000 + flags = 1 + data = length 336, hash C3A4D888 + sample 11: + time = 264000 + flags = 1 + data = length 288, hash 7867DA45 + sample 12: + time = 288000 + flags = 1 + data = length 336, hash B1240B73 + sample 13: + time = 312000 + flags = 1 + data = length 336, hash 94CFCD35 + sample 14: + time = 336000 + flags = 1 + data = length 288, hash 94F412C + sample 15: + time = 360000 + flags = 1 + data = length 336, hash A1D9FF41 + sample 16: + time = 384000 + flags = 1 + data = length 288, hash 2A8DA21B + sample 17: + time = 408000 + flags = 1 + data = length 336, hash 6A429CE + sample 18: + time = 432000 + flags = 1 + data = length 336, hash 68853982 + sample 19: + time = 456000 + flags = 1 + data = length 384, hash 1D6F779C + sample 20: + time = 480000 + flags = 1 + data = length 480, hash 6B31EBEE + sample 21: + time = 504000 + flags = 1 + data = length 336, hash 888335BE + sample 22: + time = 528000 + flags = 1 + data = length 336, hash 6072AC8B + sample 23: + time = 552000 + flags = 1 + data = length 336, hash C9D24234 + sample 24: + time = 576000 + flags = 1 + data = length 288, hash 52BF4D1E + sample 25: + time = 600000 + flags = 1 + data = length 336, hash F93F4F0 + sample 26: + time = 624000 + flags = 1 + data = length 336, hash 8617688A + sample 27: + time = 648000 + flags = 1 + data = length 480, hash FAB0D31B + sample 28: + time = 672000 + flags = 1 + data = length 384, hash FA4B53E2 + sample 29: + time = 696000 + flags = 1 + data = length 336, hash 8C435F6A + sample 30: + time = 720000 + flags = 1 + data = length 336, hash 60D3F80C + sample 31: + time = 744000 + flags = 1 + data = length 336, hash DC15B68B + sample 32: + time = 768000 + flags = 1 + data = length 288, hash FF3DF141 + sample 33: + time = 792000 + flags = 1 + data = length 336, hash A64B3042 + sample 34: + time = 816000 + flags = 1 + data = length 336, hash ACA622A1 + sample 35: + time = 840000 + flags = 1 + data = length 288, hash 3E34B8D4 + sample 36: + time = 864000 + flags = 1 + data = length 288, hash 9B96F72A + sample 37: + time = 888000 + flags = 1 + data = length 336, hash E917C122 + sample 38: + time = 912000 + flags = 1 + data = length 336, hash 10ED1470 + sample 39: + time = 936000 + flags = 1 + data = length 288, hash 706B8A7C + sample 40: + time = 960000 + flags = 1 + data = length 336, hash 71FFE4A0 + sample 41: + time = 984000 + flags = 1 + data = length 336, hash D4160463 + sample 42: + time = 1008000 + flags = 1 + data = length 336, hash EC557B14 + sample 43: + time = 1032000 + flags = 1 + data = length 288, hash 5598CF8B + sample 44: + time = 1056000 + flags = 1 + data = length 336, hash 7E0AB41 + sample 45: + time = 1080000 + flags = 1 + data = length 336, hash 1C585FEF + sample 46: + time = 1104000 + flags = 1 + data = length 336, hash A4A4855E + sample 47: + time = 1128000 + flags = 1 + data = length 336, hash CECA51D3 + sample 48: + time = 1152000 + flags = 1 + data = length 288, hash 2D362DC5 + sample 49: + time = 1176000 + flags = 1 + data = length 336, hash 9EB2609D + sample 50: + time = 1200000 + flags = 1 + data = length 336, hash 28FFB3FE + sample 51: + time = 1224000 + flags = 1 + data = length 288, hash 2AA2D216 + sample 52: + time = 1248000 + flags = 1 + data = length 336, hash CDBC7032 + sample 53: + time = 1272000 + flags = 1 + data = length 336, hash 25B13FE7 + sample 54: + time = 1296000 + flags = 1 + data = length 336, hash DB6BB1E + sample 55: + time = 1320000 + flags = 1 + data = length 336, hash EBE951F4 + sample 56: + time = 1344000 + flags = 1 + data = length 288, hash 9E2EBFF7 + sample 57: + time = 1368000 + flags = 1 + data = length 336, hash 36A7D455 + sample 58: + time = 1392000 + flags = 1 + data = length 336, hash 84545F8C + sample 59: + time = 1416000 + flags = 1 + data = length 336, hash F66F3045 + sample 60: + time = 1440000 + flags = 1 + data = length 576, hash 5AB089EA + sample 61: + time = 1464000 + flags = 1 + data = length 336, hash 8868086 + sample 62: + time = 1488000 + flags = 1 + data = length 336, hash D5EB6D63 + sample 63: + time = 1512000 + flags = 1 + data = length 288, hash 7A5374B7 + sample 64: + time = 1536000 + flags = 1 + data = length 336, hash BEB27A75 + sample 65: + time = 1560000 + flags = 1 + data = length 336, hash E251E0FD + sample 66: + time = 1584000 + flags = 1 + data = length 288, hash D54C970 + sample 67: + time = 1608000 + flags = 1 + data = length 336, hash 52C473B9 + sample 68: + time = 1632000 + flags = 1 + data = length 336, hash F5F13334 + sample 69: + time = 1656000 + flags = 1 + data = length 480, hash A5F1E987 + sample 70: + time = 1680000 + flags = 1 + data = length 288, hash 453A1267 + sample 71: + time = 1704000 + flags = 1 + data = length 288, hash 7C6C2EA9 + sample 72: + time = 1728000 + flags = 1 + data = length 336, hash F4BFECA4 + sample 73: + time = 1752000 + flags = 1 + data = length 336, hash 751A395A + sample 74: + time = 1776000 + flags = 1 + data = length 336, hash EE38DB02 + sample 75: + time = 1800000 + flags = 1 + data = length 336, hash F18837E2 + sample 76: + time = 1824000 + flags = 1 + data = length 336, hash ED36B78E + sample 77: + time = 1848000 + flags = 1 + data = length 336, hash B3D28289 + sample 78: + time = 1872000 + flags = 1 + data = length 288, hash 8BDE28E1 + sample 79: + time = 1896000 + flags = 1 + data = length 336, hash CFD5E966 + sample 80: + time = 1920000 + flags = 1 + data = length 288, hash DC08E267 + sample 81: + time = 1944000 + flags = 1 + data = length 336, hash 6530CB78 + sample 82: + time = 1968000 + flags = 1 + data = length 336, hash 6CC6636E + sample 83: + time = 1992000 + flags = 1 + data = length 336, hash 613047C1 + sample 84: + time = 2016000 + flags = 1 + data = length 288, hash CDC747BF + sample 85: + time = 2040000 + flags = 1 + data = length 336, hash AF22AA74 + sample 86: + time = 2064000 + flags = 1 + data = length 384, hash 82F326AA + sample 87: + time = 2088000 + flags = 1 + data = length 384, hash EDA26C4D + sample 88: + time = 2112000 + flags = 1 + data = length 336, hash 94C643DC + sample 89: + time = 2136000 + flags = 1 + data = length 288, hash CB5D9C40 + sample 90: + time = 2160000 + flags = 1 + data = length 336, hash 1E69DE3F + sample 91: + time = 2184000 + flags = 1 + data = length 336, hash 7E472219 + sample 92: + time = 2208000 + flags = 1 + data = length 336, hash DA47B9FA + sample 93: + time = 2232000 + flags = 1 + data = length 336, hash DD0ABB7C + sample 94: + time = 2256000 + flags = 1 + data = length 288, hash DBF93FAC + sample 95: + time = 2280000 + flags = 1 + data = length 336, hash 243F4B2 + sample 96: + time = 2304000 + flags = 1 + data = length 336, hash 2E881490 + sample 97: + time = 2328000 + flags = 1 + data = length 288, hash 1C28C8BE + sample 98: + time = 2352000 + flags = 1 + data = length 336, hash C73E5D30 + sample 99: + time = 2376000 + flags = 1 + data = length 288, hash 98B5BFF6 + sample 100: + time = 2400000 + flags = 1 + data = length 336, hash E0135533 + sample 101: + time = 2424000 + flags = 1 + data = length 336, hash D13C9DBC + sample 102: + time = 2448000 + flags = 1 + data = length 336, hash 63D524CA + sample 103: + time = 2472000 + flags = 1 + data = length 288, hash A28514C3 + sample 104: + time = 2496000 + flags = 1 + data = length 336, hash 72B647FF + sample 105: + time = 2520000 + flags = 1 + data = length 336, hash 8F740AB1 + sample 106: + time = 2544000 + flags = 1 + data = length 336, hash 5E3C7E93 + sample 107: + time = 2568000 + flags = 1 + data = length 336, hash 121B913B + sample 108: + time = 2592000 + flags = 1 + data = length 336, hash 578FCCF2 + sample 109: + time = 2616000 + flags = 1 + data = length 336, hash 5B5823DE + sample 110: + time = 2640000 + flags = 1 + data = length 384, hash D8B83F78 + sample 111: + time = 2664000 + flags = 1 + data = length 240, hash E649682F + sample 112: + time = 2688000 + flags = 1 + data = length 96, hash C559A6F4 + sample 113: + time = 2712000 + flags = 1 + data = length 96, hash 792796BC + sample 114: + time = 2736000 + flags = 1 + data = length 120, hash 8172CD0E + sample 115: + time = 2760000 + flags = 1 + data = length 120, hash F562B52F + sample 116: + time = 2784000 + flags = 1 + data = length 96, hash FF8D5B98 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump new file mode 100644 index 0000000000..034f281ac2 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump @@ -0,0 +1,340 @@ +seekMap: + isSeekable = true + duration = 2808000 + getPosition(0) = [[timeUs=0, position=39729]] + getPosition(1) = [[timeUs=0, position=39729]] + getPosition(1404000) = [[timeUs=1404000, position=58809]] + getPosition(2808000) = [[timeUs=2808000, position=77889]] +numberOfTracks = 1 +track 0: + total output bytes = 25344 + sample count = 80 + format 0: + sampleMimeType = audio/mpeg + maxInputSize = 4096 + channelCount = 2 + sampleRate = 48000 + encoderDelay = 576 + encoderPadding = 576 + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] + sample 0: + time = 943000 + flags = 1 + data = length 336, hash E917C122 + sample 1: + time = 967000 + flags = 1 + data = length 336, hash 10ED1470 + sample 2: + time = 991000 + flags = 1 + data = length 288, hash 706B8A7C + sample 3: + time = 1015000 + flags = 1 + data = length 336, hash 71FFE4A0 + sample 4: + time = 1039000 + flags = 1 + data = length 336, hash D4160463 + sample 5: + time = 1063000 + flags = 1 + data = length 336, hash EC557B14 + sample 6: + time = 1087000 + flags = 1 + data = length 288, hash 5598CF8B + sample 7: + time = 1111000 + flags = 1 + data = length 336, hash 7E0AB41 + sample 8: + time = 1135000 + flags = 1 + data = length 336, hash 1C585FEF + sample 9: + time = 1159000 + flags = 1 + data = length 336, hash A4A4855E + sample 10: + time = 1183000 + flags = 1 + data = length 336, hash CECA51D3 + sample 11: + time = 1207000 + flags = 1 + data = length 288, hash 2D362DC5 + sample 12: + time = 1231000 + flags = 1 + data = length 336, hash 9EB2609D + sample 13: + time = 1255000 + flags = 1 + data = length 336, hash 28FFB3FE + sample 14: + time = 1279000 + flags = 1 + data = length 288, hash 2AA2D216 + sample 15: + time = 1303000 + flags = 1 + data = length 336, hash CDBC7032 + sample 16: + time = 1327000 + flags = 1 + data = length 336, hash 25B13FE7 + sample 17: + time = 1351000 + flags = 1 + data = length 336, hash DB6BB1E + sample 18: + time = 1375000 + flags = 1 + data = length 336, hash EBE951F4 + sample 19: + time = 1399000 + flags = 1 + data = length 288, hash 9E2EBFF7 + sample 20: + time = 1423000 + flags = 1 + data = length 336, hash 36A7D455 + sample 21: + time = 1447000 + flags = 1 + data = length 336, hash 84545F8C + sample 22: + time = 1471000 + flags = 1 + data = length 336, hash F66F3045 + sample 23: + time = 1495000 + flags = 1 + data = length 576, hash 5AB089EA + sample 24: + time = 1519000 + flags = 1 + data = length 336, hash 8868086 + sample 25: + time = 1543000 + flags = 1 + data = length 336, hash D5EB6D63 + sample 26: + time = 1567000 + flags = 1 + data = length 288, hash 7A5374B7 + sample 27: + time = 1591000 + flags = 1 + data = length 336, hash BEB27A75 + sample 28: + time = 1615000 + flags = 1 + data = length 336, hash E251E0FD + sample 29: + time = 1639000 + flags = 1 + data = length 288, hash D54C970 + sample 30: + time = 1663000 + flags = 1 + data = length 336, hash 52C473B9 + sample 31: + time = 1687000 + flags = 1 + data = length 336, hash F5F13334 + sample 32: + time = 1711000 + flags = 1 + data = length 480, hash A5F1E987 + sample 33: + time = 1735000 + flags = 1 + data = length 288, hash 453A1267 + sample 34: + time = 1759000 + flags = 1 + data = length 288, hash 7C6C2EA9 + sample 35: + time = 1783000 + flags = 1 + data = length 336, hash F4BFECA4 + sample 36: + time = 1807000 + flags = 1 + data = length 336, hash 751A395A + sample 37: + time = 1831000 + flags = 1 + data = length 336, hash EE38DB02 + sample 38: + time = 1855000 + flags = 1 + data = length 336, hash F18837E2 + sample 39: + time = 1879000 + flags = 1 + data = length 336, hash ED36B78E + sample 40: + time = 1903000 + flags = 1 + data = length 336, hash B3D28289 + sample 41: + time = 1927000 + flags = 1 + data = length 288, hash 8BDE28E1 + sample 42: + time = 1951000 + flags = 1 + data = length 336, hash CFD5E966 + sample 43: + time = 1975000 + flags = 1 + data = length 288, hash DC08E267 + sample 44: + time = 1999000 + flags = 1 + data = length 336, hash 6530CB78 + sample 45: + time = 2023000 + flags = 1 + data = length 336, hash 6CC6636E + sample 46: + time = 2047000 + flags = 1 + data = length 336, hash 613047C1 + sample 47: + time = 2071000 + flags = 1 + data = length 288, hash CDC747BF + sample 48: + time = 2095000 + flags = 1 + data = length 336, hash AF22AA74 + sample 49: + time = 2119000 + flags = 1 + data = length 384, hash 82F326AA + sample 50: + time = 2143000 + flags = 1 + data = length 384, hash EDA26C4D + sample 51: + time = 2167000 + flags = 1 + data = length 336, hash 94C643DC + sample 52: + time = 2191000 + flags = 1 + data = length 288, hash CB5D9C40 + sample 53: + time = 2215000 + flags = 1 + data = length 336, hash 1E69DE3F + sample 54: + time = 2239000 + flags = 1 + data = length 336, hash 7E472219 + sample 55: + time = 2263000 + flags = 1 + data = length 336, hash DA47B9FA + sample 56: + time = 2287000 + flags = 1 + data = length 336, hash DD0ABB7C + sample 57: + time = 2311000 + flags = 1 + data = length 288, hash DBF93FAC + sample 58: + time = 2335000 + flags = 1 + data = length 336, hash 243F4B2 + sample 59: + time = 2359000 + flags = 1 + data = length 336, hash 2E881490 + sample 60: + time = 2383000 + flags = 1 + data = length 288, hash 1C28C8BE + sample 61: + time = 2407000 + flags = 1 + data = length 336, hash C73E5D30 + sample 62: + time = 2431000 + flags = 1 + data = length 288, hash 98B5BFF6 + sample 63: + time = 2455000 + flags = 1 + data = length 336, hash E0135533 + sample 64: + time = 2479000 + flags = 1 + data = length 336, hash D13C9DBC + sample 65: + time = 2503000 + flags = 1 + data = length 336, hash 63D524CA + sample 66: + time = 2527000 + flags = 1 + data = length 288, hash A28514C3 + sample 67: + time = 2551000 + flags = 1 + data = length 336, hash 72B647FF + sample 68: + time = 2575000 + flags = 1 + data = length 336, hash 8F740AB1 + sample 69: + time = 2599000 + flags = 1 + data = length 336, hash 5E3C7E93 + sample 70: + time = 2623000 + flags = 1 + data = length 336, hash 121B913B + sample 71: + time = 2647000 + flags = 1 + data = length 336, hash 578FCCF2 + sample 72: + time = 2671000 + flags = 1 + data = length 336, hash 5B5823DE + sample 73: + time = 2695000 + flags = 1 + data = length 384, hash D8B83F78 + sample 74: + time = 2719000 + flags = 1 + data = length 240, hash E649682F + sample 75: + time = 2743000 + flags = 1 + data = length 96, hash C559A6F4 + sample 76: + time = 2767000 + flags = 1 + data = length 96, hash 792796BC + sample 77: + time = 2791000 + flags = 1 + data = length 120, hash 8172CD0E + sample 78: + time = 2815000 + flags = 1 + data = length 120, hash F562B52F + sample 79: + time = 2839000 + flags = 1 + data = length 96, hash FF8D5B98 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump new file mode 100644 index 0000000000..d925b68495 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump @@ -0,0 +1,188 @@ +seekMap: + isSeekable = true + duration = 2808000 + getPosition(0) = [[timeUs=0, position=39729]] + getPosition(1) = [[timeUs=0, position=39729]] + getPosition(1404000) = [[timeUs=1404000, position=58809]] + getPosition(2808000) = [[timeUs=2808000, position=77889]] +numberOfTracks = 1 +track 0: + total output bytes = 12624 + sample count = 42 + format 0: + sampleMimeType = audio/mpeg + maxInputSize = 4096 + channelCount = 2 + sampleRate = 48000 + encoderDelay = 576 + encoderPadding = 576 + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] + sample 0: + time = 1879000 + flags = 1 + data = length 336, hash F18837E2 + sample 1: + time = 1903000 + flags = 1 + data = length 336, hash ED36B78E + sample 2: + time = 1927000 + flags = 1 + data = length 336, hash B3D28289 + sample 3: + time = 1951000 + flags = 1 + data = length 288, hash 8BDE28E1 + sample 4: + time = 1975000 + flags = 1 + data = length 336, hash CFD5E966 + sample 5: + time = 1999000 + flags = 1 + data = length 288, hash DC08E267 + sample 6: + time = 2023000 + flags = 1 + data = length 336, hash 6530CB78 + sample 7: + time = 2047000 + flags = 1 + data = length 336, hash 6CC6636E + sample 8: + time = 2071000 + flags = 1 + data = length 336, hash 613047C1 + sample 9: + time = 2095000 + flags = 1 + data = length 288, hash CDC747BF + sample 10: + time = 2119000 + flags = 1 + data = length 336, hash AF22AA74 + sample 11: + time = 2143000 + flags = 1 + data = length 384, hash 82F326AA + sample 12: + time = 2167000 + flags = 1 + data = length 384, hash EDA26C4D + sample 13: + time = 2191000 + flags = 1 + data = length 336, hash 94C643DC + sample 14: + time = 2215000 + flags = 1 + data = length 288, hash CB5D9C40 + sample 15: + time = 2239000 + flags = 1 + data = length 336, hash 1E69DE3F + sample 16: + time = 2263000 + flags = 1 + data = length 336, hash 7E472219 + sample 17: + time = 2287000 + flags = 1 + data = length 336, hash DA47B9FA + sample 18: + time = 2311000 + flags = 1 + data = length 336, hash DD0ABB7C + sample 19: + time = 2335000 + flags = 1 + data = length 288, hash DBF93FAC + sample 20: + time = 2359000 + flags = 1 + data = length 336, hash 243F4B2 + sample 21: + time = 2383000 + flags = 1 + data = length 336, hash 2E881490 + sample 22: + time = 2407000 + flags = 1 + data = length 288, hash 1C28C8BE + sample 23: + time = 2431000 + flags = 1 + data = length 336, hash C73E5D30 + sample 24: + time = 2455000 + flags = 1 + data = length 288, hash 98B5BFF6 + sample 25: + time = 2479000 + flags = 1 + data = length 336, hash E0135533 + sample 26: + time = 2503000 + flags = 1 + data = length 336, hash D13C9DBC + sample 27: + time = 2527000 + flags = 1 + data = length 336, hash 63D524CA + sample 28: + time = 2551000 + flags = 1 + data = length 288, hash A28514C3 + sample 29: + time = 2575000 + flags = 1 + data = length 336, hash 72B647FF + sample 30: + time = 2599000 + flags = 1 + data = length 336, hash 8F740AB1 + sample 31: + time = 2623000 + flags = 1 + data = length 336, hash 5E3C7E93 + sample 32: + time = 2647000 + flags = 1 + data = length 336, hash 121B913B + sample 33: + time = 2671000 + flags = 1 + data = length 336, hash 578FCCF2 + sample 34: + time = 2695000 + flags = 1 + data = length 336, hash 5B5823DE + sample 35: + time = 2719000 + flags = 1 + data = length 384, hash D8B83F78 + sample 36: + time = 2743000 + flags = 1 + data = length 240, hash E649682F + sample 37: + time = 2767000 + flags = 1 + data = length 96, hash C559A6F4 + sample 38: + time = 2791000 + flags = 1 + data = length 96, hash 792796BC + sample 39: + time = 2815000 + flags = 1 + data = length 120, hash 8172CD0E + sample 40: + time = 2839000 + flags = 1 + data = length 120, hash F562B52F + sample 41: + time = 2863000 + flags = 1 + data = length 96, hash FF8D5B98 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump new file mode 100644 index 0000000000..89386c95fa --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 2808000 + getPosition(0) = [[timeUs=0, position=39729]] + getPosition(1) = [[timeUs=0, position=39729]] + getPosition(1404000) = [[timeUs=1404000, position=58809]] + getPosition(2808000) = [[timeUs=2808000, position=77889]] +numberOfTracks = 1 +track 0: + total output bytes = 0 + sample count = 0 + format 0: + sampleMimeType = audio/mpeg + maxInputSize = 4096 + channelCount = 2 + sampleRate = 48000 + encoderDelay = 576 + encoderPadding = 576 + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump new file mode 100644 index 0000000000..42691428c3 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump @@ -0,0 +1,488 @@ +seekMap: + isSeekable = true + duration = 2808000 + getPosition(0) = [[timeUs=0, position=39729]] + getPosition(1) = [[timeUs=0, position=39729]] + getPosition(1404000) = [[timeUs=1404000, position=58809]] + getPosition(2808000) = [[timeUs=2808000, position=77889]] +numberOfTracks = 1 +track 0: + total output bytes = 38160 + sample count = 117 + format 0: + sampleMimeType = audio/mpeg + maxInputSize = 4096 + channelCount = 2 + sampleRate = 48000 + encoderDelay = 576 + encoderPadding = 576 + metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] + sample 0: + time = 0 + flags = 1 + data = length 96, hash 1F161542 + sample 1: + time = 24000 + flags = 1 + data = length 768, hash CD1DC50F + sample 2: + time = 48000 + flags = 1 + data = length 336, hash 3F64124B + sample 3: + time = 72000 + flags = 1 + data = length 336, hash 8FFED94E + sample 4: + time = 96000 + flags = 1 + data = length 288, hash 9CD77D47 + sample 5: + time = 120000 + flags = 1 + data = length 384, hash 24607BB5 + sample 6: + time = 144000 + flags = 1 + data = length 480, hash 4937EBAB + sample 7: + time = 168000 + flags = 1 + data = length 336, hash 546342B1 + sample 8: + time = 192000 + flags = 1 + data = length 336, hash 79E0923F + sample 9: + time = 216000 + flags = 1 + data = length 336, hash AB1F3948 + sample 10: + time = 240000 + flags = 1 + data = length 336, hash C3A4D888 + sample 11: + time = 264000 + flags = 1 + data = length 288, hash 7867DA45 + sample 12: + time = 288000 + flags = 1 + data = length 336, hash B1240B73 + sample 13: + time = 312000 + flags = 1 + data = length 336, hash 94CFCD35 + sample 14: + time = 336000 + flags = 1 + data = length 288, hash 94F412C + sample 15: + time = 360000 + flags = 1 + data = length 336, hash A1D9FF41 + sample 16: + time = 384000 + flags = 1 + data = length 288, hash 2A8DA21B + sample 17: + time = 408000 + flags = 1 + data = length 336, hash 6A429CE + sample 18: + time = 432000 + flags = 1 + data = length 336, hash 68853982 + sample 19: + time = 456000 + flags = 1 + data = length 384, hash 1D6F779C + sample 20: + time = 480000 + flags = 1 + data = length 480, hash 6B31EBEE + sample 21: + time = 504000 + flags = 1 + data = length 336, hash 888335BE + sample 22: + time = 528000 + flags = 1 + data = length 336, hash 6072AC8B + sample 23: + time = 552000 + flags = 1 + data = length 336, hash C9D24234 + sample 24: + time = 576000 + flags = 1 + data = length 288, hash 52BF4D1E + sample 25: + time = 600000 + flags = 1 + data = length 336, hash F93F4F0 + sample 26: + time = 624000 + flags = 1 + data = length 336, hash 8617688A + sample 27: + time = 648000 + flags = 1 + data = length 480, hash FAB0D31B + sample 28: + time = 672000 + flags = 1 + data = length 384, hash FA4B53E2 + sample 29: + time = 696000 + flags = 1 + data = length 336, hash 8C435F6A + sample 30: + time = 720000 + flags = 1 + data = length 336, hash 60D3F80C + sample 31: + time = 744000 + flags = 1 + data = length 336, hash DC15B68B + sample 32: + time = 768000 + flags = 1 + data = length 288, hash FF3DF141 + sample 33: + time = 792000 + flags = 1 + data = length 336, hash A64B3042 + sample 34: + time = 816000 + flags = 1 + data = length 336, hash ACA622A1 + sample 35: + time = 840000 + flags = 1 + data = length 288, hash 3E34B8D4 + sample 36: + time = 864000 + flags = 1 + data = length 288, hash 9B96F72A + sample 37: + time = 888000 + flags = 1 + data = length 336, hash E917C122 + sample 38: + time = 912000 + flags = 1 + data = length 336, hash 10ED1470 + sample 39: + time = 936000 + flags = 1 + data = length 288, hash 706B8A7C + sample 40: + time = 960000 + flags = 1 + data = length 336, hash 71FFE4A0 + sample 41: + time = 984000 + flags = 1 + data = length 336, hash D4160463 + sample 42: + time = 1008000 + flags = 1 + data = length 336, hash EC557B14 + sample 43: + time = 1032000 + flags = 1 + data = length 288, hash 5598CF8B + sample 44: + time = 1056000 + flags = 1 + data = length 336, hash 7E0AB41 + sample 45: + time = 1080000 + flags = 1 + data = length 336, hash 1C585FEF + sample 46: + time = 1104000 + flags = 1 + data = length 336, hash A4A4855E + sample 47: + time = 1128000 + flags = 1 + data = length 336, hash CECA51D3 + sample 48: + time = 1152000 + flags = 1 + data = length 288, hash 2D362DC5 + sample 49: + time = 1176000 + flags = 1 + data = length 336, hash 9EB2609D + sample 50: + time = 1200000 + flags = 1 + data = length 336, hash 28FFB3FE + sample 51: + time = 1224000 + flags = 1 + data = length 288, hash 2AA2D216 + sample 52: + time = 1248000 + flags = 1 + data = length 336, hash CDBC7032 + sample 53: + time = 1272000 + flags = 1 + data = length 336, hash 25B13FE7 + sample 54: + time = 1296000 + flags = 1 + data = length 336, hash DB6BB1E + sample 55: + time = 1320000 + flags = 1 + data = length 336, hash EBE951F4 + sample 56: + time = 1344000 + flags = 1 + data = length 288, hash 9E2EBFF7 + sample 57: + time = 1368000 + flags = 1 + data = length 336, hash 36A7D455 + sample 58: + time = 1392000 + flags = 1 + data = length 336, hash 84545F8C + sample 59: + time = 1416000 + flags = 1 + data = length 336, hash F66F3045 + sample 60: + time = 1440000 + flags = 1 + data = length 576, hash 5AB089EA + sample 61: + time = 1464000 + flags = 1 + data = length 336, hash 8868086 + sample 62: + time = 1488000 + flags = 1 + data = length 336, hash D5EB6D63 + sample 63: + time = 1512000 + flags = 1 + data = length 288, hash 7A5374B7 + sample 64: + time = 1536000 + flags = 1 + data = length 336, hash BEB27A75 + sample 65: + time = 1560000 + flags = 1 + data = length 336, hash E251E0FD + sample 66: + time = 1584000 + flags = 1 + data = length 288, hash D54C970 + sample 67: + time = 1608000 + flags = 1 + data = length 336, hash 52C473B9 + sample 68: + time = 1632000 + flags = 1 + data = length 336, hash F5F13334 + sample 69: + time = 1656000 + flags = 1 + data = length 480, hash A5F1E987 + sample 70: + time = 1680000 + flags = 1 + data = length 288, hash 453A1267 + sample 71: + time = 1704000 + flags = 1 + data = length 288, hash 7C6C2EA9 + sample 72: + time = 1728000 + flags = 1 + data = length 336, hash F4BFECA4 + sample 73: + time = 1752000 + flags = 1 + data = length 336, hash 751A395A + sample 74: + time = 1776000 + flags = 1 + data = length 336, hash EE38DB02 + sample 75: + time = 1800000 + flags = 1 + data = length 336, hash F18837E2 + sample 76: + time = 1824000 + flags = 1 + data = length 336, hash ED36B78E + sample 77: + time = 1848000 + flags = 1 + data = length 336, hash B3D28289 + sample 78: + time = 1872000 + flags = 1 + data = length 288, hash 8BDE28E1 + sample 79: + time = 1896000 + flags = 1 + data = length 336, hash CFD5E966 + sample 80: + time = 1920000 + flags = 1 + data = length 288, hash DC08E267 + sample 81: + time = 1944000 + flags = 1 + data = length 336, hash 6530CB78 + sample 82: + time = 1968000 + flags = 1 + data = length 336, hash 6CC6636E + sample 83: + time = 1992000 + flags = 1 + data = length 336, hash 613047C1 + sample 84: + time = 2016000 + flags = 1 + data = length 288, hash CDC747BF + sample 85: + time = 2040000 + flags = 1 + data = length 336, hash AF22AA74 + sample 86: + time = 2064000 + flags = 1 + data = length 384, hash 82F326AA + sample 87: + time = 2088000 + flags = 1 + data = length 384, hash EDA26C4D + sample 88: + time = 2112000 + flags = 1 + data = length 336, hash 94C643DC + sample 89: + time = 2136000 + flags = 1 + data = length 288, hash CB5D9C40 + sample 90: + time = 2160000 + flags = 1 + data = length 336, hash 1E69DE3F + sample 91: + time = 2184000 + flags = 1 + data = length 336, hash 7E472219 + sample 92: + time = 2208000 + flags = 1 + data = length 336, hash DA47B9FA + sample 93: + time = 2232000 + flags = 1 + data = length 336, hash DD0ABB7C + sample 94: + time = 2256000 + flags = 1 + data = length 288, hash DBF93FAC + sample 95: + time = 2280000 + flags = 1 + data = length 336, hash 243F4B2 + sample 96: + time = 2304000 + flags = 1 + data = length 336, hash 2E881490 + sample 97: + time = 2328000 + flags = 1 + data = length 288, hash 1C28C8BE + sample 98: + time = 2352000 + flags = 1 + data = length 336, hash C73E5D30 + sample 99: + time = 2376000 + flags = 1 + data = length 288, hash 98B5BFF6 + sample 100: + time = 2400000 + flags = 1 + data = length 336, hash E0135533 + sample 101: + time = 2424000 + flags = 1 + data = length 336, hash D13C9DBC + sample 102: + time = 2448000 + flags = 1 + data = length 336, hash 63D524CA + sample 103: + time = 2472000 + flags = 1 + data = length 288, hash A28514C3 + sample 104: + time = 2496000 + flags = 1 + data = length 336, hash 72B647FF + sample 105: + time = 2520000 + flags = 1 + data = length 336, hash 8F740AB1 + sample 106: + time = 2544000 + flags = 1 + data = length 336, hash 5E3C7E93 + sample 107: + time = 2568000 + flags = 1 + data = length 336, hash 121B913B + sample 108: + time = 2592000 + flags = 1 + data = length 336, hash 578FCCF2 + sample 109: + time = 2616000 + flags = 1 + data = length 336, hash 5B5823DE + sample 110: + time = 2640000 + flags = 1 + data = length 384, hash D8B83F78 + sample 111: + time = 2664000 + flags = 1 + data = length 240, hash E649682F + sample 112: + time = 2688000 + flags = 1 + data = length 96, hash C559A6F4 + sample 113: + time = 2712000 + flags = 1 + data = length 96, hash 792796BC + sample 114: + time = 2736000 + flags = 1 + data = length 120, hash 8172CD0E + sample 115: + time = 2760000 + flags = 1 + data = length 120, hash F562B52F + sample 116: + time = 2784000 + flags = 1 + data = length 96, hash FF8D5B98 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/mp3/bear-id3-numeric-genre.mp3 b/libraries/test_data/src/test/assets/media/mp3/bear-id3-numeric-genre.mp3 new file mode 100644 index 0000000000..316fa0767e Binary files /dev/null and b/libraries/test_data/src/test/assets/media/mp3/bear-id3-numeric-genre.mp3 differ diff --git a/libraries/test_data/src/test/assets/media/mp3/bear-id3.mp3 b/libraries/test_data/src/test/assets/media/mp3/bear-id3.mp3 index 9bd4f72be8..7622645d40 100644 Binary files a/libraries/test_data/src/test/assets/media/mp3/bear-id3.mp3 and b/libraries/test_data/src/test/assets/media/mp3/bear-id3.mp3 differ diff --git a/libraries/test_data/src/test/assets/playbackdumps/mp3/bear-id3-numeric-genre.mp3.dump b/libraries/test_data/src/test/assets/playbackdumps/mp3/bear-id3-numeric-genre.mp3.dump new file mode 100644 index 0000000000..06ac116f16 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/mp3/bear-id3-numeric-genre.mp3.dump @@ -0,0 +1,1192 @@ +MediaCodecAdapter (exotest.audio.mpeg): + inputBuffers: + count = 118 + input buffer #0: + timeUs = 1000000000000 + contents = length 96, hash 1F161542 + input buffer #1: + timeUs = 1000000024000 + contents = length 768, hash CD1DC50F + input buffer #2: + timeUs = 1000000048000 + contents = length 336, hash 3F64124B + input buffer #3: + timeUs = 1000000072000 + contents = length 336, hash 8FFED94E + input buffer #4: + timeUs = 1000000096000 + contents = length 288, hash 9CD77D47 + input buffer #5: + timeUs = 1000000120000 + contents = length 384, hash 24607BB5 + input buffer #6: + timeUs = 1000000144000 + contents = length 480, hash 4937EBAB + input buffer #7: + timeUs = 1000000168000 + contents = length 336, hash 546342B1 + input buffer #8: + timeUs = 1000000192000 + contents = length 336, hash 79E0923F + input buffer #9: + timeUs = 1000000216000 + contents = length 336, hash AB1F3948 + input buffer #10: + timeUs = 1000000240000 + contents = length 336, hash C3A4D888 + input buffer #11: + timeUs = 1000000264000 + contents = length 288, hash 7867DA45 + input buffer #12: + timeUs = 1000000288000 + contents = length 336, hash B1240B73 + input buffer #13: + timeUs = 1000000312000 + contents = length 336, hash 94CFCD35 + input buffer #14: + timeUs = 1000000336000 + contents = length 288, hash 94F412C + input buffer #15: + timeUs = 1000000360000 + contents = length 336, hash A1D9FF41 + input buffer #16: + timeUs = 1000000384000 + contents = length 288, hash 2A8DA21B + input buffer #17: + timeUs = 1000000408000 + contents = length 336, hash 6A429CE + input buffer #18: + timeUs = 1000000432000 + contents = length 336, hash 68853982 + input buffer #19: + timeUs = 1000000456000 + contents = length 384, hash 1D6F779C + input buffer #20: + timeUs = 1000000480000 + contents = length 480, hash 6B31EBEE + input buffer #21: + timeUs = 1000000504000 + contents = length 336, hash 888335BE + input buffer #22: + timeUs = 1000000528000 + contents = length 336, hash 6072AC8B + input buffer #23: + timeUs = 1000000552000 + contents = length 336, hash C9D24234 + input buffer #24: + timeUs = 1000000576000 + contents = length 288, hash 52BF4D1E + input buffer #25: + timeUs = 1000000600000 + contents = length 336, hash F93F4F0 + input buffer #26: + timeUs = 1000000624000 + contents = length 336, hash 8617688A + input buffer #27: + timeUs = 1000000648000 + contents = length 480, hash FAB0D31B + input buffer #28: + timeUs = 1000000672000 + contents = length 384, hash FA4B53E2 + input buffer #29: + timeUs = 1000000696000 + contents = length 336, hash 8C435F6A + input buffer #30: + timeUs = 1000000720000 + contents = length 336, hash 60D3F80C + input buffer #31: + timeUs = 1000000744000 + contents = length 336, hash DC15B68B + input buffer #32: + timeUs = 1000000768000 + contents = length 288, hash FF3DF141 + input buffer #33: + timeUs = 1000000792000 + contents = length 336, hash A64B3042 + input buffer #34: + timeUs = 1000000816000 + contents = length 336, hash ACA622A1 + input buffer #35: + timeUs = 1000000840000 + contents = length 288, hash 3E34B8D4 + input buffer #36: + timeUs = 1000000864000 + contents = length 288, hash 9B96F72A + input buffer #37: + timeUs = 1000000888000 + contents = length 336, hash E917C122 + input buffer #38: + timeUs = 1000000912000 + contents = length 336, hash 10ED1470 + input buffer #39: + timeUs = 1000000936000 + contents = length 288, hash 706B8A7C + input buffer #40: + timeUs = 1000000960000 + contents = length 336, hash 71FFE4A0 + input buffer #41: + timeUs = 1000000984000 + contents = length 336, hash D4160463 + input buffer #42: + timeUs = 1000001008000 + contents = length 336, hash EC557B14 + input buffer #43: + timeUs = 1000001032000 + contents = length 288, hash 5598CF8B + input buffer #44: + timeUs = 1000001056000 + contents = length 336, hash 7E0AB41 + input buffer #45: + timeUs = 1000001080000 + contents = length 336, hash 1C585FEF + input buffer #46: + timeUs = 1000001104000 + contents = length 336, hash A4A4855E + input buffer #47: + timeUs = 1000001128000 + contents = length 336, hash CECA51D3 + input buffer #48: + timeUs = 1000001152000 + contents = length 288, hash 2D362DC5 + input buffer #49: + timeUs = 1000001176000 + contents = length 336, hash 9EB2609D + input buffer #50: + timeUs = 1000001200000 + contents = length 336, hash 28FFB3FE + input buffer #51: + timeUs = 1000001224000 + contents = length 288, hash 2AA2D216 + input buffer #52: + timeUs = 1000001248000 + contents = length 336, hash CDBC7032 + input buffer #53: + timeUs = 1000001272000 + contents = length 336, hash 25B13FE7 + input buffer #54: + timeUs = 1000001296000 + contents = length 336, hash DB6BB1E + input buffer #55: + timeUs = 1000001320000 + contents = length 336, hash EBE951F4 + input buffer #56: + timeUs = 1000001344000 + contents = length 288, hash 9E2EBFF7 + input buffer #57: + timeUs = 1000001368000 + contents = length 336, hash 36A7D455 + input buffer #58: + timeUs = 1000001392000 + contents = length 336, hash 84545F8C + input buffer #59: + timeUs = 1000001416000 + contents = length 336, hash F66F3045 + input buffer #60: + timeUs = 1000001440000 + contents = length 576, hash 5AB089EA + input buffer #61: + timeUs = 1000001464000 + contents = length 336, hash 8868086 + input buffer #62: + timeUs = 1000001488000 + contents = length 336, hash D5EB6D63 + input buffer #63: + timeUs = 1000001512000 + contents = length 288, hash 7A5374B7 + input buffer #64: + timeUs = 1000001536000 + contents = length 336, hash BEB27A75 + input buffer #65: + timeUs = 1000001560000 + contents = length 336, hash E251E0FD + input buffer #66: + timeUs = 1000001584000 + contents = length 288, hash D54C970 + input buffer #67: + timeUs = 1000001608000 + contents = length 336, hash 52C473B9 + input buffer #68: + timeUs = 1000001632000 + contents = length 336, hash F5F13334 + input buffer #69: + timeUs = 1000001656000 + contents = length 480, hash A5F1E987 + input buffer #70: + timeUs = 1000001680000 + contents = length 288, hash 453A1267 + input buffer #71: + timeUs = 1000001704000 + contents = length 288, hash 7C6C2EA9 + input buffer #72: + timeUs = 1000001728000 + contents = length 336, hash F4BFECA4 + input buffer #73: + timeUs = 1000001752000 + contents = length 336, hash 751A395A + input buffer #74: + timeUs = 1000001776000 + contents = length 336, hash EE38DB02 + input buffer #75: + timeUs = 1000001800000 + contents = length 336, hash F18837E2 + input buffer #76: + timeUs = 1000001824000 + contents = length 336, hash ED36B78E + input buffer #77: + timeUs = 1000001848000 + contents = length 336, hash B3D28289 + input buffer #78: + timeUs = 1000001872000 + contents = length 288, hash 8BDE28E1 + input buffer #79: + timeUs = 1000001896000 + contents = length 336, hash CFD5E966 + input buffer #80: + timeUs = 1000001920000 + contents = length 288, hash DC08E267 + input buffer #81: + timeUs = 1000001944000 + contents = length 336, hash 6530CB78 + input buffer #82: + timeUs = 1000001968000 + contents = length 336, hash 6CC6636E + input buffer #83: + timeUs = 1000001992000 + contents = length 336, hash 613047C1 + input buffer #84: + timeUs = 1000002016000 + contents = length 288, hash CDC747BF + input buffer #85: + timeUs = 1000002040000 + contents = length 336, hash AF22AA74 + input buffer #86: + timeUs = 1000002064000 + contents = length 384, hash 82F326AA + input buffer #87: + timeUs = 1000002088000 + contents = length 384, hash EDA26C4D + input buffer #88: + timeUs = 1000002112000 + contents = length 336, hash 94C643DC + input buffer #89: + timeUs = 1000002136000 + contents = length 288, hash CB5D9C40 + input buffer #90: + timeUs = 1000002160000 + contents = length 336, hash 1E69DE3F + input buffer #91: + timeUs = 1000002184000 + contents = length 336, hash 7E472219 + input buffer #92: + timeUs = 1000002208000 + contents = length 336, hash DA47B9FA + input buffer #93: + timeUs = 1000002232000 + contents = length 336, hash DD0ABB7C + input buffer #94: + timeUs = 1000002256000 + contents = length 288, hash DBF93FAC + input buffer #95: + timeUs = 1000002280000 + contents = length 336, hash 243F4B2 + input buffer #96: + timeUs = 1000002304000 + contents = length 336, hash 2E881490 + input buffer #97: + timeUs = 1000002328000 + contents = length 288, hash 1C28C8BE + input buffer #98: + timeUs = 1000002352000 + contents = length 336, hash C73E5D30 + input buffer #99: + timeUs = 1000002376000 + contents = length 288, hash 98B5BFF6 + input buffer #100: + timeUs = 1000002400000 + contents = length 336, hash E0135533 + input buffer #101: + timeUs = 1000002424000 + contents = length 336, hash D13C9DBC + input buffer #102: + timeUs = 1000002448000 + contents = length 336, hash 63D524CA + input buffer #103: + timeUs = 1000002472000 + contents = length 288, hash A28514C3 + input buffer #104: + timeUs = 1000002496000 + contents = length 336, hash 72B647FF + input buffer #105: + timeUs = 1000002520000 + contents = length 336, hash 8F740AB1 + input buffer #106: + timeUs = 1000002544000 + contents = length 336, hash 5E3C7E93 + input buffer #107: + timeUs = 1000002568000 + contents = length 336, hash 121B913B + input buffer #108: + timeUs = 1000002592000 + contents = length 336, hash 578FCCF2 + input buffer #109: + timeUs = 1000002616000 + contents = length 336, hash 5B5823DE + input buffer #110: + timeUs = 1000002640000 + contents = length 384, hash D8B83F78 + input buffer #111: + timeUs = 1000002664000 + contents = length 240, hash E649682F + input buffer #112: + timeUs = 1000002688000 + contents = length 96, hash C559A6F4 + input buffer #113: + timeUs = 1000002712000 + contents = length 96, hash 792796BC + input buffer #114: + timeUs = 1000002736000 + contents = length 120, hash 8172CD0E + input buffer #115: + timeUs = 1000002760000 + contents = length 120, hash F562B52F + input buffer #116: + timeUs = 1000002784000 + contents = length 96, hash FF8D5B98 + input buffer #117: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 117 + output buffer #0: + timeUs = 1000000000000 + size = 0 + rendered = false + output buffer #1: + timeUs = 1000000024000 + size = 0 + rendered = false + output buffer #2: + timeUs = 1000000048000 + size = 0 + rendered = false + output buffer #3: + timeUs = 1000000072000 + size = 0 + rendered = false + output buffer #4: + timeUs = 1000000096000 + size = 0 + rendered = false + output buffer #5: + timeUs = 1000000120000 + size = 0 + rendered = false + output buffer #6: + timeUs = 1000000144000 + size = 0 + rendered = false + output buffer #7: + timeUs = 1000000168000 + size = 0 + rendered = false + output buffer #8: + timeUs = 1000000192000 + size = 0 + rendered = false + output buffer #9: + timeUs = 1000000216000 + size = 0 + rendered = false + output buffer #10: + timeUs = 1000000240000 + size = 0 + rendered = false + output buffer #11: + timeUs = 1000000264000 + size = 0 + rendered = false + output buffer #12: + timeUs = 1000000288000 + size = 0 + rendered = false + output buffer #13: + timeUs = 1000000312000 + size = 0 + rendered = false + output buffer #14: + timeUs = 1000000336000 + size = 0 + rendered = false + output buffer #15: + timeUs = 1000000360000 + size = 0 + rendered = false + output buffer #16: + timeUs = 1000000384000 + size = 0 + rendered = false + output buffer #17: + timeUs = 1000000408000 + size = 0 + rendered = false + output buffer #18: + timeUs = 1000000432000 + size = 0 + rendered = false + output buffer #19: + timeUs = 1000000456000 + size = 0 + rendered = false + output buffer #20: + timeUs = 1000000480000 + size = 0 + rendered = false + output buffer #21: + timeUs = 1000000504000 + size = 0 + rendered = false + output buffer #22: + timeUs = 1000000528000 + size = 0 + rendered = false + output buffer #23: + timeUs = 1000000552000 + size = 0 + rendered = false + output buffer #24: + timeUs = 1000000576000 + size = 0 + rendered = false + output buffer #25: + timeUs = 1000000600000 + size = 0 + rendered = false + output buffer #26: + timeUs = 1000000624000 + size = 0 + rendered = false + output buffer #27: + timeUs = 1000000648000 + size = 0 + rendered = false + output buffer #28: + timeUs = 1000000672000 + size = 0 + rendered = false + output buffer #29: + timeUs = 1000000696000 + size = 0 + rendered = false + output buffer #30: + timeUs = 1000000720000 + size = 0 + rendered = false + output buffer #31: + timeUs = 1000000744000 + size = 0 + rendered = false + output buffer #32: + timeUs = 1000000768000 + size = 0 + rendered = false + output buffer #33: + timeUs = 1000000792000 + size = 0 + rendered = false + output buffer #34: + timeUs = 1000000816000 + size = 0 + rendered = false + output buffer #35: + timeUs = 1000000840000 + size = 0 + rendered = false + output buffer #36: + timeUs = 1000000864000 + size = 0 + rendered = false + output buffer #37: + timeUs = 1000000888000 + size = 0 + rendered = false + output buffer #38: + timeUs = 1000000912000 + size = 0 + rendered = false + output buffer #39: + timeUs = 1000000936000 + size = 0 + rendered = false + output buffer #40: + timeUs = 1000000960000 + size = 0 + rendered = false + output buffer #41: + timeUs = 1000000984000 + size = 0 + rendered = false + output buffer #42: + timeUs = 1000001008000 + size = 0 + rendered = false + output buffer #43: + timeUs = 1000001032000 + size = 0 + rendered = false + output buffer #44: + timeUs = 1000001056000 + size = 0 + rendered = false + output buffer #45: + timeUs = 1000001080000 + size = 0 + rendered = false + output buffer #46: + timeUs = 1000001104000 + size = 0 + rendered = false + output buffer #47: + timeUs = 1000001128000 + size = 0 + rendered = false + output buffer #48: + timeUs = 1000001152000 + size = 0 + rendered = false + output buffer #49: + timeUs = 1000001176000 + size = 0 + rendered = false + output buffer #50: + timeUs = 1000001200000 + size = 0 + rendered = false + output buffer #51: + timeUs = 1000001224000 + size = 0 + rendered = false + output buffer #52: + timeUs = 1000001248000 + size = 0 + rendered = false + output buffer #53: + timeUs = 1000001272000 + size = 0 + rendered = false + output buffer #54: + timeUs = 1000001296000 + size = 0 + rendered = false + output buffer #55: + timeUs = 1000001320000 + size = 0 + rendered = false + output buffer #56: + timeUs = 1000001344000 + size = 0 + rendered = false + output buffer #57: + timeUs = 1000001368000 + size = 0 + rendered = false + output buffer #58: + timeUs = 1000001392000 + size = 0 + rendered = false + output buffer #59: + timeUs = 1000001416000 + size = 0 + rendered = false + output buffer #60: + timeUs = 1000001440000 + size = 0 + rendered = false + output buffer #61: + timeUs = 1000001464000 + size = 0 + rendered = false + output buffer #62: + timeUs = 1000001488000 + size = 0 + rendered = false + output buffer #63: + timeUs = 1000001512000 + size = 0 + rendered = false + output buffer #64: + timeUs = 1000001536000 + size = 0 + rendered = false + output buffer #65: + timeUs = 1000001560000 + size = 0 + rendered = false + output buffer #66: + timeUs = 1000001584000 + size = 0 + rendered = false + output buffer #67: + timeUs = 1000001608000 + size = 0 + rendered = false + output buffer #68: + timeUs = 1000001632000 + size = 0 + rendered = false + output buffer #69: + timeUs = 1000001656000 + size = 0 + rendered = false + output buffer #70: + timeUs = 1000001680000 + size = 0 + rendered = false + output buffer #71: + timeUs = 1000001704000 + size = 0 + rendered = false + output buffer #72: + timeUs = 1000001728000 + size = 0 + rendered = false + output buffer #73: + timeUs = 1000001752000 + size = 0 + rendered = false + output buffer #74: + timeUs = 1000001776000 + size = 0 + rendered = false + output buffer #75: + timeUs = 1000001800000 + size = 0 + rendered = false + output buffer #76: + timeUs = 1000001824000 + size = 0 + rendered = false + output buffer #77: + timeUs = 1000001848000 + size = 0 + rendered = false + output buffer #78: + timeUs = 1000001872000 + size = 0 + rendered = false + output buffer #79: + timeUs = 1000001896000 + size = 0 + rendered = false + output buffer #80: + timeUs = 1000001920000 + size = 0 + rendered = false + output buffer #81: + timeUs = 1000001944000 + size = 0 + rendered = false + output buffer #82: + timeUs = 1000001968000 + size = 0 + rendered = false + output buffer #83: + timeUs = 1000001992000 + size = 0 + rendered = false + output buffer #84: + timeUs = 1000002016000 + size = 0 + rendered = false + output buffer #85: + timeUs = 1000002040000 + size = 0 + rendered = false + output buffer #86: + timeUs = 1000002064000 + size = 0 + rendered = false + output buffer #87: + timeUs = 1000002088000 + size = 0 + rendered = false + output buffer #88: + timeUs = 1000002112000 + size = 0 + rendered = false + output buffer #89: + timeUs = 1000002136000 + size = 0 + rendered = false + output buffer #90: + timeUs = 1000002160000 + size = 0 + rendered = false + output buffer #91: + timeUs = 1000002184000 + size = 0 + rendered = false + output buffer #92: + timeUs = 1000002208000 + size = 0 + rendered = false + output buffer #93: + timeUs = 1000002232000 + size = 0 + rendered = false + output buffer #94: + timeUs = 1000002256000 + size = 0 + rendered = false + output buffer #95: + timeUs = 1000002280000 + size = 0 + rendered = false + output buffer #96: + timeUs = 1000002304000 + size = 0 + rendered = false + output buffer #97: + timeUs = 1000002328000 + size = 0 + rendered = false + output buffer #98: + timeUs = 1000002352000 + size = 0 + rendered = false + output buffer #99: + timeUs = 1000002376000 + size = 0 + rendered = false + output buffer #100: + timeUs = 1000002400000 + size = 0 + rendered = false + output buffer #101: + timeUs = 1000002424000 + size = 0 + rendered = false + output buffer #102: + timeUs = 1000002448000 + size = 0 + rendered = false + output buffer #103: + timeUs = 1000002472000 + size = 0 + rendered = false + output buffer #104: + timeUs = 1000002496000 + size = 0 + rendered = false + output buffer #105: + timeUs = 1000002520000 + size = 0 + rendered = false + output buffer #106: + timeUs = 1000002544000 + size = 0 + rendered = false + output buffer #107: + timeUs = 1000002568000 + size = 0 + rendered = false + output buffer #108: + timeUs = 1000002592000 + size = 0 + rendered = false + output buffer #109: + timeUs = 1000002616000 + size = 0 + rendered = false + output buffer #110: + timeUs = 1000002640000 + size = 0 + rendered = false + output buffer #111: + timeUs = 1000002664000 + size = 0 + rendered = false + output buffer #112: + timeUs = 1000002688000 + size = 0 + rendered = false + output buffer #113: + timeUs = 1000002712000 + size = 0 + rendered = false + output buffer #114: + timeUs = 1000002736000 + size = 0 + rendered = false + output buffer #115: + timeUs = 1000002760000 + size = 0 + rendered = false + output buffer #116: + timeUs = 1000002784000 + size = 0 + rendered = false +AudioSink: + buffer count = 117 + config: + pcmEncoding = 2 + channelCount = 2 + sampleRate = 48000 + buffer #0: + time = 1000000000000 + data = 1 + buffer #1: + time = 1000000024000 + data = 1 + buffer #2: + time = 1000000048000 + data = 1 + buffer #3: + time = 1000000072000 + data = 1 + buffer #4: + time = 1000000096000 + data = 1 + buffer #5: + time = 1000000120000 + data = 1 + buffer #6: + time = 1000000144000 + data = 1 + buffer #7: + time = 1000000168000 + data = 1 + buffer #8: + time = 1000000192000 + data = 1 + buffer #9: + time = 1000000216000 + data = 1 + buffer #10: + time = 1000000240000 + data = 1 + buffer #11: + time = 1000000264000 + data = 1 + buffer #12: + time = 1000000288000 + data = 1 + buffer #13: + time = 1000000312000 + data = 1 + buffer #14: + time = 1000000336000 + data = 1 + buffer #15: + time = 1000000360000 + data = 1 + buffer #16: + time = 1000000384000 + data = 1 + buffer #17: + time = 1000000408000 + data = 1 + buffer #18: + time = 1000000432000 + data = 1 + buffer #19: + time = 1000000456000 + data = 1 + buffer #20: + time = 1000000480000 + data = 1 + buffer #21: + time = 1000000504000 + data = 1 + buffer #22: + time = 1000000528000 + data = 1 + buffer #23: + time = 1000000552000 + data = 1 + buffer #24: + time = 1000000576000 + data = 1 + buffer #25: + time = 1000000600000 + data = 1 + buffer #26: + time = 1000000624000 + data = 1 + buffer #27: + time = 1000000648000 + data = 1 + buffer #28: + time = 1000000672000 + data = 1 + buffer #29: + time = 1000000696000 + data = 1 + buffer #30: + time = 1000000720000 + data = 1 + buffer #31: + time = 1000000744000 + data = 1 + buffer #32: + time = 1000000768000 + data = 1 + buffer #33: + time = 1000000792000 + data = 1 + buffer #34: + time = 1000000816000 + data = 1 + buffer #35: + time = 1000000840000 + data = 1 + buffer #36: + time = 1000000864000 + data = 1 + buffer #37: + time = 1000000888000 + data = 1 + buffer #38: + time = 1000000912000 + data = 1 + buffer #39: + time = 1000000936000 + data = 1 + buffer #40: + time = 1000000960000 + data = 1 + buffer #41: + time = 1000000984000 + data = 1 + buffer #42: + time = 1000001008000 + data = 1 + buffer #43: + time = 1000001032000 + data = 1 + buffer #44: + time = 1000001056000 + data = 1 + buffer #45: + time = 1000001080000 + data = 1 + buffer #46: + time = 1000001104000 + data = 1 + buffer #47: + time = 1000001128000 + data = 1 + buffer #48: + time = 1000001152000 + data = 1 + buffer #49: + time = 1000001176000 + data = 1 + buffer #50: + time = 1000001200000 + data = 1 + buffer #51: + time = 1000001224000 + data = 1 + buffer #52: + time = 1000001248000 + data = 1 + buffer #53: + time = 1000001272000 + data = 1 + buffer #54: + time = 1000001296000 + data = 1 + buffer #55: + time = 1000001320000 + data = 1 + buffer #56: + time = 1000001344000 + data = 1 + buffer #57: + time = 1000001368000 + data = 1 + buffer #58: + time = 1000001392000 + data = 1 + buffer #59: + time = 1000001416000 + data = 1 + buffer #60: + time = 1000001440000 + data = 1 + buffer #61: + time = 1000001464000 + data = 1 + buffer #62: + time = 1000001488000 + data = 1 + buffer #63: + time = 1000001512000 + data = 1 + buffer #64: + time = 1000001536000 + data = 1 + buffer #65: + time = 1000001560000 + data = 1 + buffer #66: + time = 1000001584000 + data = 1 + buffer #67: + time = 1000001608000 + data = 1 + buffer #68: + time = 1000001632000 + data = 1 + buffer #69: + time = 1000001656000 + data = 1 + buffer #70: + time = 1000001680000 + data = 1 + buffer #71: + time = 1000001704000 + data = 1 + buffer #72: + time = 1000001728000 + data = 1 + buffer #73: + time = 1000001752000 + data = 1 + buffer #74: + time = 1000001776000 + data = 1 + buffer #75: + time = 1000001800000 + data = 1 + buffer #76: + time = 1000001824000 + data = 1 + buffer #77: + time = 1000001848000 + data = 1 + buffer #78: + time = 1000001872000 + data = 1 + buffer #79: + time = 1000001896000 + data = 1 + buffer #80: + time = 1000001920000 + data = 1 + buffer #81: + time = 1000001944000 + data = 1 + buffer #82: + time = 1000001968000 + data = 1 + buffer #83: + time = 1000001992000 + data = 1 + buffer #84: + time = 1000002016000 + data = 1 + buffer #85: + time = 1000002040000 + data = 1 + buffer #86: + time = 1000002064000 + data = 1 + buffer #87: + time = 1000002088000 + data = 1 + buffer #88: + time = 1000002112000 + data = 1 + buffer #89: + time = 1000002136000 + data = 1 + buffer #90: + time = 1000002160000 + data = 1 + buffer #91: + time = 1000002184000 + data = 1 + buffer #92: + time = 1000002208000 + data = 1 + buffer #93: + time = 1000002232000 + data = 1 + buffer #94: + time = 1000002256000 + data = 1 + buffer #95: + time = 1000002280000 + data = 1 + buffer #96: + time = 1000002304000 + data = 1 + buffer #97: + time = 1000002328000 + data = 1 + buffer #98: + time = 1000002352000 + data = 1 + buffer #99: + time = 1000002376000 + data = 1 + buffer #100: + time = 1000002400000 + data = 1 + buffer #101: + time = 1000002424000 + data = 1 + buffer #102: + time = 1000002448000 + data = 1 + buffer #103: + time = 1000002472000 + data = 1 + buffer #104: + time = 1000002496000 + data = 1 + buffer #105: + time = 1000002520000 + data = 1 + buffer #106: + time = 1000002544000 + data = 1 + buffer #107: + time = 1000002568000 + data = 1 + buffer #108: + time = 1000002592000 + data = 1 + buffer #109: + time = 1000002616000 + data = 1 + buffer #110: + time = 1000002640000 + data = 1 + buffer #111: + time = 1000002664000 + data = 1 + buffer #112: + time = 1000002688000 + data = 1 + buffer #113: + time = 1000002712000 + data = 1 + buffer #114: + time = 1000002736000 + data = 1 + buffer #115: + time = 1000002760000 + data = 1 + buffer #116: + time = 1000002784000 + data = 1 +Listener.onMediaMetadata: + MediaMetadata[0]: + title = Test title + artist = Test Artist + albumTitle = Test Album + artworkData = length 38946, hash 87684827 + artworkDataType = other