diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a94511d549..37d29c1494 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -46,6 +46,7 @@ * MP3: Fix `Searched too many bytes` error by correctly ignoring trailing non-MP3 data based on the length field in an `Info` frame ([#1480](https://github.com/androidx/media/issues/1480)). + * Add option to enable index-based seeking in `AmrExtractor`. * DataSource: * Update `HttpEngineDataSource` to allow use starting at version S extension 7 instead of API level 34 diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/IndexSeekMap.java b/libraries/extractor/src/main/java/androidx/media3/extractor/IndexSeekMap.java index 7621921ee7..b5bdc54023 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/IndexSeekMap.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/IndexSeekMap.java @@ -123,14 +123,21 @@ public final class IndexSeekMap implements SeekMap { } /** - * Returns the timestamp of the last seek point added, in microseconds, or {@link C#TIME_UNSET} if - * no seek points exist. + * Returns whether {@code timeUs} (in microseconds) should be considered as part of the index + * based on its proximity to the last recorded seek point in the index. + * + *
This method assumes that {@code timeUs} is provided in increasing order, consistent with how + * points are added to the index in {@link #addSeekPoint(long, long)}. + * + * @param timeUs The time in microseconds to check if it is included in the index. + * @param minTimeBetweenPointsUs The minimum time in microseconds that should exist between points + * for the current time to be considered as part of the index. */ - public long getLastSeekPointTimeUs() { + public boolean isTimeUsInIndex(long timeUs, long minTimeBetweenPointsUs) { if (timesUs.size() == 0) { - return C.TIME_UNSET; + return false; } - return timesUs.get(timesUs.size() - 1); + return timeUs - timesUs.get(timesUs.size() - 1) < minTimeBetweenPointsUs; } /** Sets the duration of the input stream, or {@link C#TIME_UNSET} if it is unknown. */ diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/amr/AmrExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/amr/AmrExtractor.java index dac457063a..57a28cda7e 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/amr/AmrExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/amr/AmrExtractor.java @@ -15,6 +15,8 @@ */ package androidx.media3.extractor.amr; +import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static java.lang.Math.abs; import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; @@ -24,14 +26,15 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.ParserException; import androidx.media3.common.PlaybackException; import androidx.media3.common.Player; -import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.extractor.ConstantBitrateSeekMap; +import androidx.media3.extractor.DiscardingTrackOutput; import androidx.media3.extractor.Extractor; import androidx.media3.extractor.ExtractorInput; import androidx.media3.extractor.ExtractorOutput; import androidx.media3.extractor.ExtractorsFactory; +import androidx.media3.extractor.IndexSeekMap; import androidx.media3.extractor.PositionHolder; import androidx.media3.extractor.SeekMap; import androidx.media3.extractor.TrackOutput; @@ -60,20 +63,26 @@ public final class AmrExtractor implements Extractor { /** * Flags controlling the behavior of the extractor. Possible flag values are {@link - * #FLAG_ENABLE_CONSTANT_BITRATE_SEEKING} and {@link - * #FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS}. + * #FLAG_ENABLE_CONSTANT_BITRATE_SEEKING}, {@link #FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS} + * and {@link #FLAG_ENABLE_INDEX_SEEKING}. */ @Documented @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) @IntDef( flag = true, - value = {FLAG_ENABLE_CONSTANT_BITRATE_SEEKING, FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS}) + value = { + FLAG_ENABLE_CONSTANT_BITRATE_SEEKING, + FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS, + FLAG_ENABLE_INDEX_SEEKING, + }) public @interface Flags {} /** * Flag to force enable seeking using a constant bitrate assumption in cases where seeking would * otherwise not be possible. + * + *
This flag is ignored if {@link #FLAG_ENABLE_INDEX_SEEKING} is set. */ public static final int FLAG_ENABLE_CONSTANT_BITRATE_SEEKING = 1; @@ -87,9 +96,25 @@ public final class AmrExtractor implements Extractor { * *
If this flag is set, then the behavior enabled by {@link * #FLAG_ENABLE_CONSTANT_BITRATE_SEEKING} is implicitly enabled as well. + * + *
This flag is ignored if {@link #FLAG_ENABLE_INDEX_SEEKING} is set. */ public static final int FLAG_ENABLE_CONSTANT_BITRATE_SEEKING_ALWAYS = 1 << 1; + /** + * Flag to force index seeking, in which a time-to-byte mapping is built as the file is read. + * + *
This seeker may require to scan a significant portion of the file to compute a seek point. + * Therefore, it should only be used if one of the following is true: + * + *
A point is included in the index if it is equal to another point, between 2 points, or - * sufficiently close to the last point. + *
This method assumes that {@code timeUs} is provided in increasing order, consistent with how + * points are added to the index in {@link #maybeAddSeekPoint(long, long)}. + * + * @param timeUs The time in microseconds to check if it is included in the index. */ public boolean isTimeUsInIndex(long timeUs) { - long lastIndexedTimeUs = indexSeekMap.getLastSeekPointTimeUs(); - checkState(lastIndexedTimeUs != C.TIME_UNSET); - return timeUs - lastIndexedTimeUs < MIN_TIME_BETWEEN_POINTS_US; + return indexSeekMap.isTimeUsInIndex(timeUs, MIN_TIME_BETWEEN_POINTS_US); } /* package */ void setDurationUs(long durationUs) { diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/amr/AmrExtractorParameterizedTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/amr/AmrExtractorParameterizedTest.java index 266c52deab..009af44242 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/amr/AmrExtractorParameterizedTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/amr/AmrExtractorParameterizedTest.java @@ -92,4 +92,20 @@ public final class AmrExtractorParameterizedTest { .build(), simulationConfig); } + + @Test + public void extractingNarrowBandSamples_withIndexSeeking() throws Exception { + ExtractorAsserts.assertBehavior( + () -> new AmrExtractor(AmrExtractor.FLAG_ENABLE_INDEX_SEEKING), + "media/amr/sample_nb_with_silence_frames.amr", + simulationConfig); + } + + @Test + public void extractingWideBandSamples_withIndexSeeking() throws Exception { + ExtractorAsserts.assertBehavior( + () -> new AmrExtractor(AmrExtractor.FLAG_ENABLE_INDEX_SEEKING), + "media/amr/sample_wb_with_silence_frames.amr", + simulationConfig); + } } diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.0.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.0.dump new file mode 100644 index 0000000000..fe82cb2e7e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.0.dump @@ -0,0 +1,897 @@ +seekMap: + isSeekable = true + duration = 4400000 + getPosition(0) = [[timeUs=0, position=6]] + getPosition(1) = [[timeUs=0, position=6], [timeUs=100000, position=71]] + getPosition(2200000) = [[timeUs=2200000, position=1412]] + getPosition(4400000) = [[timeUs=4400000, position=2842]] +numberOfTracks = 1 +track 0: + total output bytes = 2836 + sample count = 220 + format 0: + sampleMimeType = audio/3gpp + maxInputSize = 32 + channelCount = 1 + sampleRate = 8000 + sample 0: + time = 0 + flags = 1 + data = length 13, hash 371B046C + sample 1: + time = 20000 + flags = 1 + data = length 13, hash CE30BF5B + sample 2: + time = 40000 + flags = 1 + data = length 13, hash 19A59975 + sample 3: + time = 60000 + flags = 1 + data = length 13, hash 4879773C + sample 4: + time = 80000 + flags = 1 + data = length 13, hash E8F83019 + sample 5: + time = 100000 + flags = 1 + data = length 13, hash D265CDC9 + sample 6: + time = 120000 + flags = 1 + data = length 13, hash 91653DAA + sample 7: + time = 140000 + flags = 1 + data = length 13, hash C79456F6 + sample 8: + time = 160000 + flags = 1 + data = length 13, hash CDDC4422 + sample 9: + time = 180000 + flags = 1 + data = length 13, hash D9ED3AF1 + sample 10: + time = 200000 + flags = 1 + data = length 13, hash BAB75A33 + sample 11: + time = 220000 + flags = 1 + data = length 13, hash 2221B4FF + sample 12: + time = 240000 + flags = 1 + data = length 13, hash 96400A0B + sample 13: + time = 260000 + flags = 1 + data = length 13, hash 582E6FB + sample 14: + time = 280000 + flags = 1 + data = length 13, hash C4E878E5 + sample 15: + time = 300000 + flags = 1 + data = length 13, hash C849A1BD + sample 16: + time = 320000 + flags = 1 + data = length 13, hash CFA8A9ED + sample 17: + time = 340000 + flags = 1 + data = length 13, hash 70CA4907 + sample 18: + time = 360000 + flags = 1 + data = length 13, hash B47D4454 + sample 19: + time = 380000 + flags = 1 + data = length 13, hash 282998C1 + sample 20: + time = 400000 + flags = 1 + data = length 13, hash 3F3F7A65 + sample 21: + time = 420000 + flags = 1 + data = length 13, hash CC2EAB58 + sample 22: + time = 440000 + flags = 1 + data = length 13, hash 279EF712 + sample 23: + time = 460000 + flags = 1 + data = length 13, hash AA2F4B29 + sample 24: + time = 480000 + flags = 1 + data = length 13, hash F6F658C4 + sample 25: + time = 500000 + flags = 1 + data = length 1, hash 9B + sample 26: + time = 520000 + flags = 1 + data = length 13, hash D7DEBD17 + sample 27: + time = 540000 + flags = 1 + data = length 13, hash 6DAB9A17 + sample 28: + time = 560000 + flags = 1 + data = length 13, hash 6ECE1571 + sample 29: + time = 580000 + flags = 1 + data = length 13, hash B3D0507F + sample 30: + time = 600000 + flags = 1 + data = length 13, hash 21E356B9 + sample 31: + time = 620000 + flags = 1 + data = length 13, hash 410EA12 + sample 32: + time = 640000 + flags = 1 + data = length 13, hash 533895A8 + sample 33: + time = 660000 + flags = 1 + data = length 13, hash C61B3E5A + sample 34: + time = 680000 + flags = 1 + data = length 13, hash 982170E6 + sample 35: + time = 700000 + flags = 1 + data = length 13, hash 7A0468C5 + sample 36: + time = 720000 + flags = 1 + data = length 13, hash 9C85EAA7 + sample 37: + time = 740000 + flags = 1 + data = length 13, hash B6B341B6 + sample 38: + time = 760000 + flags = 1 + data = length 13, hash 6937532E + sample 39: + time = 780000 + flags = 1 + data = length 13, hash 8CF2A3A0 + sample 40: + time = 800000 + flags = 1 + data = length 13, hash D2682AC6 + sample 41: + time = 820000 + flags = 1 + data = length 13, hash BBC5710F + sample 42: + time = 840000 + flags = 1 + data = length 13, hash 59080B6C + sample 43: + time = 860000 + flags = 1 + data = length 13, hash E4118291 + sample 44: + time = 880000 + flags = 1 + data = length 13, hash A1E5B296 + sample 45: + time = 900000 + flags = 1 + data = length 13, hash D7B8F95B + sample 46: + time = 920000 + flags = 1 + data = length 13, hash CC839BE1 + sample 47: + time = 940000 + flags = 1 + data = length 13, hash D459DFCE + sample 48: + time = 960000 + flags = 1 + data = length 13, hash D6AD19EC + sample 49: + time = 980000 + flags = 1 + data = length 13, hash D05E373D + sample 50: + time = 1000000 + flags = 1 + data = length 13, hash 6A4460C7 + sample 51: + time = 1020000 + flags = 1 + data = length 1, hash 9B + sample 52: + time = 1040000 + flags = 1 + data = length 13, hash C9A0D93F + sample 53: + time = 1060000 + flags = 1 + data = length 13, hash 3FA819E7 + sample 54: + time = 1080000 + flags = 1 + data = length 13, hash 1D3CBDFC + sample 55: + time = 1100000 + flags = 1 + data = length 13, hash 8BBBB403 + sample 56: + time = 1120000 + flags = 1 + data = length 13, hash 21B4A0F9 + sample 57: + time = 1140000 + flags = 1 + data = length 13, hash C0F921D1 + sample 58: + time = 1160000 + flags = 1 + data = length 13, hash 5D812AAB + sample 59: + time = 1180000 + flags = 1 + data = length 13, hash 50C9F3F8 + sample 60: + time = 1200000 + flags = 1 + data = length 13, hash 5C2BB5D1 + sample 61: + time = 1220000 + flags = 1 + data = length 13, hash 6BF9BEA5 + sample 62: + time = 1240000 + flags = 1 + data = length 13, hash 2738C1E6 + sample 63: + time = 1260000 + flags = 1 + data = length 13, hash 5FC288A6 + sample 64: + time = 1280000 + flags = 1 + data = length 13, hash 7E8E442A + sample 65: + time = 1300000 + flags = 1 + data = length 13, hash AEAA2BBA + sample 66: + time = 1320000 + flags = 1 + data = length 13, hash 4E2ACD2F + sample 67: + time = 1340000 + flags = 1 + data = length 13, hash D6C90ACF + sample 68: + time = 1360000 + flags = 1 + data = length 13, hash 6FD8A944 + sample 69: + time = 1380000 + flags = 1 + data = length 13, hash A835BBF9 + sample 70: + time = 1400000 + flags = 1 + data = length 13, hash F7713830 + sample 71: + time = 1420000 + flags = 1 + data = length 13, hash 3AA966E5 + sample 72: + time = 1440000 + flags = 1 + data = length 13, hash F939E829 + sample 73: + time = 1460000 + flags = 1 + data = length 13, hash 7676DE49 + sample 74: + time = 1480000 + flags = 1 + data = length 13, hash 93BB890A + sample 75: + time = 1500000 + flags = 1 + data = length 13, hash B57DBEC8 + sample 76: + time = 1520000 + flags = 1 + data = length 13, hash 66B0A5B6 + sample 77: + time = 1540000 + flags = 1 + data = length 13, hash D733E0D + sample 78: + time = 1560000 + flags = 1 + data = length 13, hash 80941726 + sample 79: + time = 1580000 + flags = 1 + data = length 13, hash 556ED633 + sample 80: + time = 1600000 + flags = 1 + data = length 13, hash C5EDF4E1 + sample 81: + time = 1620000 + flags = 1 + data = length 13, hash 6B287445 + sample 82: + time = 1640000 + flags = 1 + data = length 13, hash DC97C4A7 + sample 83: + time = 1660000 + flags = 1 + data = length 13, hash DA8CBDF4 + sample 84: + time = 1680000 + flags = 1 + data = length 13, hash 6F60FF77 + sample 85: + time = 1700000 + flags = 1 + data = length 13, hash 3EB22B96 + sample 86: + time = 1720000 + flags = 1 + data = length 13, hash B3C31AF5 + sample 87: + time = 1740000 + flags = 1 + data = length 13, hash 1854AA92 + sample 88: + time = 1760000 + flags = 1 + data = length 13, hash 6488264B + sample 89: + time = 1780000 + flags = 1 + data = length 13, hash 4CC8C5C1 + sample 90: + time = 1800000 + flags = 1 + data = length 13, hash 19CC7523 + sample 91: + time = 1820000 + flags = 1 + data = length 13, hash 9BE7B928 + sample 92: + time = 1840000 + flags = 1 + data = length 13, hash 47EC7CFD + sample 93: + time = 1860000 + flags = 1 + data = length 13, hash EC940120 + sample 94: + time = 1880000 + flags = 1 + data = length 13, hash 73BDA6D0 + sample 95: + time = 1900000 + flags = 1 + data = length 13, hash FACB3314 + sample 96: + time = 1920000 + flags = 1 + data = length 13, hash EC61D13B + sample 97: + time = 1940000 + flags = 1 + data = length 13, hash B28C7B6C + sample 98: + time = 1960000 + flags = 1 + data = length 13, hash B1A4CECD + sample 99: + time = 1980000 + flags = 1 + data = length 13, hash 56D41BA6 + sample 100: + time = 2000000 + flags = 1 + data = length 13, hash 90499F4 + sample 101: + time = 2020000 + flags = 1 + data = length 13, hash 65D9A9D3 + sample 102: + time = 2040000 + flags = 1 + data = length 13, hash D9004CC + sample 103: + time = 2060000 + flags = 1 + data = length 13, hash 4139C6ED + sample 104: + time = 2080000 + flags = 1 + data = length 13, hash C4F8097C + sample 105: + time = 2100000 + flags = 1 + data = length 13, hash 94D424FA + sample 106: + time = 2120000 + flags = 1 + data = length 13, hash C2C6F5FD + sample 107: + time = 2140000 + flags = 1 + data = length 13, hash 15719008 + sample 108: + time = 2160000 + flags = 1 + data = length 13, hash 4F64F524 + sample 109: + time = 2180000 + flags = 1 + data = length 13, hash F9E01C1E + sample 110: + time = 2200000 + flags = 1 + data = length 13, hash 74C4EE74 + sample 111: + time = 2220000 + flags = 1 + data = length 13, hash 7EE7553D + sample 112: + time = 2240000 + flags = 1 + data = length 13, hash 62DE6539 + sample 113: + time = 2260000 + flags = 1 + data = length 13, hash 7F5EC222 + sample 114: + time = 2280000 + flags = 1 + data = length 13, hash 644067F + sample 115: + time = 2300000 + flags = 1 + data = length 13, hash CDF6C9DC + sample 116: + time = 2320000 + flags = 1 + data = length 13, hash 8B5DBC80 + sample 117: + time = 2340000 + flags = 1 + data = length 13, hash AD4BBA03 + sample 118: + time = 2360000 + flags = 1 + data = length 13, hash 7A76340 + sample 119: + time = 2380000 + flags = 1 + data = length 13, hash 3610F5B0 + sample 120: + time = 2400000 + flags = 1 + data = length 13, hash 430BC60B + sample 121: + time = 2420000 + flags = 1 + data = length 13, hash 99CF1CA6 + sample 122: + time = 2440000 + flags = 1 + data = length 13, hash 1331C70B + sample 123: + time = 2460000 + flags = 1 + data = length 13, hash BD76E69D + sample 124: + time = 2480000 + flags = 1 + data = length 13, hash 5DA652AC + sample 125: + time = 2500000 + flags = 1 + data = length 13, hash 3B7BF6CE + sample 126: + time = 2520000 + flags = 1 + data = length 13, hash ABBFD143 + sample 127: + time = 2540000 + flags = 1 + data = length 13, hash E9447166 + sample 128: + time = 2560000 + flags = 1 + data = length 13, hash EC40068C + sample 129: + time = 2580000 + flags = 1 + data = length 13, hash A2869400 + sample 130: + time = 2600000 + flags = 1 + data = length 13, hash C7E0746B + sample 131: + time = 2620000 + flags = 1 + data = length 13, hash 60601BB1 + sample 132: + time = 2640000 + flags = 1 + data = length 13, hash 975AAE9B + sample 133: + time = 2660000 + flags = 1 + data = length 13, hash 8BBC0EB2 + sample 134: + time = 2680000 + flags = 1 + data = length 13, hash 57FB39E5 + sample 135: + time = 2700000 + flags = 1 + data = length 13, hash 4CDCEEDB + sample 136: + time = 2720000 + flags = 1 + data = length 13, hash EA16E256 + sample 137: + time = 2740000 + flags = 1 + data = length 13, hash 287E7D9E + sample 138: + time = 2760000 + flags = 1 + data = length 13, hash 55AB8FB9 + sample 139: + time = 2780000 + flags = 1 + data = length 13, hash 129890EF + sample 140: + time = 2800000 + flags = 1 + data = length 13, hash 90834F57 + sample 141: + time = 2820000 + flags = 1 + data = length 13, hash 5B3228E0 + sample 142: + time = 2840000 + flags = 1 + data = length 13, hash DD19E175 + sample 143: + time = 2860000 + flags = 1 + data = length 13, hash EE7EA342 + sample 144: + time = 2880000 + flags = 1 + data = length 13, hash DB3AF473 + sample 145: + time = 2900000 + flags = 1 + data = length 13, hash 25AEC43F + sample 146: + time = 2920000 + flags = 1 + data = length 13, hash EE9BF97F + sample 147: + time = 2940000 + flags = 1 + data = length 13, hash FFFBE047 + sample 148: + time = 2960000 + flags = 1 + data = length 13, hash BEACFCB0 + sample 149: + time = 2980000 + flags = 1 + data = length 13, hash AEB5096C + sample 150: + time = 3000000 + flags = 1 + data = length 13, hash B0D381B + sample 151: + time = 3020000 + flags = 1 + data = length 13, hash 3D9D5122 + sample 152: + time = 3040000 + flags = 1 + data = length 13, hash 6C1DDB95 + sample 153: + time = 3060000 + flags = 1 + data = length 13, hash ADACADCF + sample 154: + time = 3080000 + flags = 1 + data = length 13, hash 159E321E + sample 155: + time = 3100000 + flags = 1 + data = length 13, hash B1466264 + sample 156: + time = 3120000 + flags = 1 + data = length 13, hash 4DDF7223 + sample 157: + time = 3140000 + flags = 1 + data = length 13, hash C9BDB82A + sample 158: + time = 3160000 + flags = 1 + data = length 13, hash A49B2D9D + sample 159: + time = 3180000 + flags = 1 + data = length 13, hash D645E7E5 + sample 160: + time = 3200000 + flags = 1 + data = length 13, hash 1C4232DC + sample 161: + time = 3220000 + flags = 1 + data = length 13, hash 83078219 + sample 162: + time = 3240000 + flags = 1 + data = length 13, hash D6D8B072 + sample 163: + time = 3260000 + flags = 1 + data = length 13, hash 975DB40 + sample 164: + time = 3280000 + flags = 1 + data = length 13, hash A15FDD05 + sample 165: + time = 3300000 + flags = 1 + data = length 13, hash 4B839E41 + sample 166: + time = 3320000 + flags = 1 + data = length 13, hash 7418F499 + sample 167: + time = 3340000 + flags = 1 + data = length 13, hash 7A4945E4 + sample 168: + time = 3360000 + flags = 1 + data = length 13, hash 6249558C + sample 169: + time = 3380000 + flags = 1 + data = length 13, hash BD4C5BE3 + sample 170: + time = 3400000 + flags = 1 + data = length 13, hash BAB30F1D + sample 171: + time = 3420000 + flags = 1 + data = length 13, hash 1E1C7012 + sample 172: + time = 3440000 + flags = 1 + data = length 13, hash 9A3F8A89 + sample 173: + time = 3460000 + flags = 1 + data = length 13, hash 20BE6D7B + sample 174: + time = 3480000 + flags = 1 + data = length 13, hash CAA0591D + sample 175: + time = 3500000 + flags = 1 + data = length 13, hash 6D554D17 + sample 176: + time = 3520000 + flags = 1 + data = length 13, hash D97C3B31 + sample 177: + time = 3540000 + flags = 1 + data = length 13, hash 75BC5C3 + sample 178: + time = 3560000 + flags = 1 + data = length 13, hash 7BA1784B + sample 179: + time = 3580000 + flags = 1 + data = length 13, hash 1D175D92 + sample 180: + time = 3600000 + flags = 1 + data = length 13, hash ADCA60FD + sample 181: + time = 3620000 + flags = 1 + data = length 13, hash 37018693 + sample 182: + time = 3640000 + flags = 1 + data = length 13, hash 4553606F + sample 183: + time = 3660000 + flags = 1 + data = length 13, hash CF434565 + sample 184: + time = 3680000 + flags = 1 + data = length 13, hash D264D757 + sample 185: + time = 3700000 + flags = 1 + data = length 13, hash 4FB493EF + sample 186: + time = 3720000 + flags = 1 + data = length 13, hash 919F53A + sample 187: + time = 3740000 + flags = 1 + data = length 13, hash C22B009B + sample 188: + time = 3760000 + flags = 1 + data = length 13, hash 5981470 + sample 189: + time = 3780000 + flags = 1 + data = length 13, hash A5D3937C + sample 190: + time = 3800000 + flags = 1 + data = length 13, hash A2504429 + sample 191: + time = 3820000 + flags = 1 + data = length 13, hash AD1B70BE + sample 192: + time = 3840000 + flags = 1 + data = length 13, hash 2E39ED5E + sample 193: + time = 3860000 + flags = 1 + data = length 13, hash 13A8BE8E + sample 194: + time = 3880000 + flags = 1 + data = length 13, hash 1ACD740B + sample 195: + time = 3900000 + flags = 1 + data = length 13, hash 80F38B3 + sample 196: + time = 3920000 + flags = 1 + data = length 13, hash DA9DA79F + sample 197: + time = 3940000 + flags = 1 + data = length 13, hash 21B95B7E + sample 198: + time = 3960000 + flags = 1 + data = length 13, hash CD22497B + sample 199: + time = 3980000 + flags = 1 + data = length 13, hash 718BB35D + sample 200: + time = 4000000 + flags = 1 + data = length 13, hash 69ABA6AD + sample 201: + time = 4020000 + flags = 1 + data = length 13, hash BAE19549 + sample 202: + time = 4040000 + flags = 1 + data = length 13, hash 2A792FB3 + sample 203: + time = 4060000 + flags = 1 + data = length 13, hash 71FCD8 + sample 204: + time = 4080000 + flags = 1 + data = length 13, hash 44D2B5B3 + sample 205: + time = 4100000 + flags = 1 + data = length 13, hash 1E87B11B + sample 206: + time = 4120000 + flags = 1 + data = length 13, hash 78CD2C11 + sample 207: + time = 4140000 + flags = 1 + data = length 13, hash 9F198DF0 + sample 208: + time = 4160000 + flags = 1 + data = length 13, hash B291F16A + sample 209: + time = 4180000 + flags = 1 + data = length 13, hash CF820EE0 + sample 210: + time = 4200000 + flags = 1 + data = length 13, hash 4E24F683 + sample 211: + time = 4220000 + flags = 1 + data = length 13, hash 52BCD68F + sample 212: + time = 4240000 + flags = 1 + data = length 13, hash 42588CB0 + sample 213: + time = 4260000 + flags = 1 + data = length 13, hash EBBFECA2 + sample 214: + time = 4280000 + flags = 1 + data = length 13, hash C11050CF + sample 215: + time = 4300000 + flags = 1 + data = length 13, hash 6F738603 + sample 216: + time = 4320000 + flags = 1 + data = length 13, hash DAD06E5 + sample 217: + time = 4340000 + flags = 1 + data = length 13, hash 5B036C64 + sample 218: + time = 4360000 + flags = 1 + data = length 13, hash A58DC12E + sample 219: + time = 4380000 + flags = 1 + data = length 13, hash AC59BA7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.1.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.1.dump new file mode 100644 index 0000000000..aa2d2fd913 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.1.dump @@ -0,0 +1,609 @@ +seekMap: + isSeekable = true + duration = 4400000 + getPosition(0) = [[timeUs=0, position=6]] + getPosition(1) = [[timeUs=0, position=6], [timeUs=100000, position=71]] + getPosition(2200000) = [[timeUs=2200000, position=1412]] + getPosition(4400000) = [[timeUs=4400000, position=2842]] +numberOfTracks = 1 +track 0: + total output bytes = 1924 + sample count = 148 + format 0: + sampleMimeType = audio/3gpp + maxInputSize = 32 + channelCount = 1 + sampleRate = 8000 + sample 0: + time = 1440000 + flags = 1 + data = length 13, hash F939E829 + sample 1: + time = 1460000 + flags = 1 + data = length 13, hash 7676DE49 + sample 2: + time = 1480000 + flags = 1 + data = length 13, hash 93BB890A + sample 3: + time = 1500000 + flags = 1 + data = length 13, hash B57DBEC8 + sample 4: + time = 1520000 + flags = 1 + data = length 13, hash 66B0A5B6 + sample 5: + time = 1540000 + flags = 1 + data = length 13, hash D733E0D + sample 6: + time = 1560000 + flags = 1 + data = length 13, hash 80941726 + sample 7: + time = 1580000 + flags = 1 + data = length 13, hash 556ED633 + sample 8: + time = 1600000 + flags = 1 + data = length 13, hash C5EDF4E1 + sample 9: + time = 1620000 + flags = 1 + data = length 13, hash 6B287445 + sample 10: + time = 1640000 + flags = 1 + data = length 13, hash DC97C4A7 + sample 11: + time = 1660000 + flags = 1 + data = length 13, hash DA8CBDF4 + sample 12: + time = 1680000 + flags = 1 + data = length 13, hash 6F60FF77 + sample 13: + time = 1700000 + flags = 1 + data = length 13, hash 3EB22B96 + sample 14: + time = 1720000 + flags = 1 + data = length 13, hash B3C31AF5 + sample 15: + time = 1740000 + flags = 1 + data = length 13, hash 1854AA92 + sample 16: + time = 1760000 + flags = 1 + data = length 13, hash 6488264B + sample 17: + time = 1780000 + flags = 1 + data = length 13, hash 4CC8C5C1 + sample 18: + time = 1800000 + flags = 1 + data = length 13, hash 19CC7523 + sample 19: + time = 1820000 + flags = 1 + data = length 13, hash 9BE7B928 + sample 20: + time = 1840000 + flags = 1 + data = length 13, hash 47EC7CFD + sample 21: + time = 1860000 + flags = 1 + data = length 13, hash EC940120 + sample 22: + time = 1880000 + flags = 1 + data = length 13, hash 73BDA6D0 + sample 23: + time = 1900000 + flags = 1 + data = length 13, hash FACB3314 + sample 24: + time = 1920000 + flags = 1 + data = length 13, hash EC61D13B + sample 25: + time = 1940000 + flags = 1 + data = length 13, hash B28C7B6C + sample 26: + time = 1960000 + flags = 1 + data = length 13, hash B1A4CECD + sample 27: + time = 1980000 + flags = 1 + data = length 13, hash 56D41BA6 + sample 28: + time = 2000000 + flags = 1 + data = length 13, hash 90499F4 + sample 29: + time = 2020000 + flags = 1 + data = length 13, hash 65D9A9D3 + sample 30: + time = 2040000 + flags = 1 + data = length 13, hash D9004CC + sample 31: + time = 2060000 + flags = 1 + data = length 13, hash 4139C6ED + sample 32: + time = 2080000 + flags = 1 + data = length 13, hash C4F8097C + sample 33: + time = 2100000 + flags = 1 + data = length 13, hash 94D424FA + sample 34: + time = 2120000 + flags = 1 + data = length 13, hash C2C6F5FD + sample 35: + time = 2140000 + flags = 1 + data = length 13, hash 15719008 + sample 36: + time = 2160000 + flags = 1 + data = length 13, hash 4F64F524 + sample 37: + time = 2180000 + flags = 1 + data = length 13, hash F9E01C1E + sample 38: + time = 2200000 + flags = 1 + data = length 13, hash 74C4EE74 + sample 39: + time = 2220000 + flags = 1 + data = length 13, hash 7EE7553D + sample 40: + time = 2240000 + flags = 1 + data = length 13, hash 62DE6539 + sample 41: + time = 2260000 + flags = 1 + data = length 13, hash 7F5EC222 + sample 42: + time = 2280000 + flags = 1 + data = length 13, hash 644067F + sample 43: + time = 2300000 + flags = 1 + data = length 13, hash CDF6C9DC + sample 44: + time = 2320000 + flags = 1 + data = length 13, hash 8B5DBC80 + sample 45: + time = 2340000 + flags = 1 + data = length 13, hash AD4BBA03 + sample 46: + time = 2360000 + flags = 1 + data = length 13, hash 7A76340 + sample 47: + time = 2380000 + flags = 1 + data = length 13, hash 3610F5B0 + sample 48: + time = 2400000 + flags = 1 + data = length 13, hash 430BC60B + sample 49: + time = 2420000 + flags = 1 + data = length 13, hash 99CF1CA6 + sample 50: + time = 2440000 + flags = 1 + data = length 13, hash 1331C70B + sample 51: + time = 2460000 + flags = 1 + data = length 13, hash BD76E69D + sample 52: + time = 2480000 + flags = 1 + data = length 13, hash 5DA652AC + sample 53: + time = 2500000 + flags = 1 + data = length 13, hash 3B7BF6CE + sample 54: + time = 2520000 + flags = 1 + data = length 13, hash ABBFD143 + sample 55: + time = 2540000 + flags = 1 + data = length 13, hash E9447166 + sample 56: + time = 2560000 + flags = 1 + data = length 13, hash EC40068C + sample 57: + time = 2580000 + flags = 1 + data = length 13, hash A2869400 + sample 58: + time = 2600000 + flags = 1 + data = length 13, hash C7E0746B + sample 59: + time = 2620000 + flags = 1 + data = length 13, hash 60601BB1 + sample 60: + time = 2640000 + flags = 1 + data = length 13, hash 975AAE9B + sample 61: + time = 2660000 + flags = 1 + data = length 13, hash 8BBC0EB2 + sample 62: + time = 2680000 + flags = 1 + data = length 13, hash 57FB39E5 + sample 63: + time = 2700000 + flags = 1 + data = length 13, hash 4CDCEEDB + sample 64: + time = 2720000 + flags = 1 + data = length 13, hash EA16E256 + sample 65: + time = 2740000 + flags = 1 + data = length 13, hash 287E7D9E + sample 66: + time = 2760000 + flags = 1 + data = length 13, hash 55AB8FB9 + sample 67: + time = 2780000 + flags = 1 + data = length 13, hash 129890EF + sample 68: + time = 2800000 + flags = 1 + data = length 13, hash 90834F57 + sample 69: + time = 2820000 + flags = 1 + data = length 13, hash 5B3228E0 + sample 70: + time = 2840000 + flags = 1 + data = length 13, hash DD19E175 + sample 71: + time = 2860000 + flags = 1 + data = length 13, hash EE7EA342 + sample 72: + time = 2880000 + flags = 1 + data = length 13, hash DB3AF473 + sample 73: + time = 2900000 + flags = 1 + data = length 13, hash 25AEC43F + sample 74: + time = 2920000 + flags = 1 + data = length 13, hash EE9BF97F + sample 75: + time = 2940000 + flags = 1 + data = length 13, hash FFFBE047 + sample 76: + time = 2960000 + flags = 1 + data = length 13, hash BEACFCB0 + sample 77: + time = 2980000 + flags = 1 + data = length 13, hash AEB5096C + sample 78: + time = 3000000 + flags = 1 + data = length 13, hash B0D381B + sample 79: + time = 3020000 + flags = 1 + data = length 13, hash 3D9D5122 + sample 80: + time = 3040000 + flags = 1 + data = length 13, hash 6C1DDB95 + sample 81: + time = 3060000 + flags = 1 + data = length 13, hash ADACADCF + sample 82: + time = 3080000 + flags = 1 + data = length 13, hash 159E321E + sample 83: + time = 3100000 + flags = 1 + data = length 13, hash B1466264 + sample 84: + time = 3120000 + flags = 1 + data = length 13, hash 4DDF7223 + sample 85: + time = 3140000 + flags = 1 + data = length 13, hash C9BDB82A + sample 86: + time = 3160000 + flags = 1 + data = length 13, hash A49B2D9D + sample 87: + time = 3180000 + flags = 1 + data = length 13, hash D645E7E5 + sample 88: + time = 3200000 + flags = 1 + data = length 13, hash 1C4232DC + sample 89: + time = 3220000 + flags = 1 + data = length 13, hash 83078219 + sample 90: + time = 3240000 + flags = 1 + data = length 13, hash D6D8B072 + sample 91: + time = 3260000 + flags = 1 + data = length 13, hash 975DB40 + sample 92: + time = 3280000 + flags = 1 + data = length 13, hash A15FDD05 + sample 93: + time = 3300000 + flags = 1 + data = length 13, hash 4B839E41 + sample 94: + time = 3320000 + flags = 1 + data = length 13, hash 7418F499 + sample 95: + time = 3340000 + flags = 1 + data = length 13, hash 7A4945E4 + sample 96: + time = 3360000 + flags = 1 + data = length 13, hash 6249558C + sample 97: + time = 3380000 + flags = 1 + data = length 13, hash BD4C5BE3 + sample 98: + time = 3400000 + flags = 1 + data = length 13, hash BAB30F1D + sample 99: + time = 3420000 + flags = 1 + data = length 13, hash 1E1C7012 + sample 100: + time = 3440000 + flags = 1 + data = length 13, hash 9A3F8A89 + sample 101: + time = 3460000 + flags = 1 + data = length 13, hash 20BE6D7B + sample 102: + time = 3480000 + flags = 1 + data = length 13, hash CAA0591D + sample 103: + time = 3500000 + flags = 1 + data = length 13, hash 6D554D17 + sample 104: + time = 3520000 + flags = 1 + data = length 13, hash D97C3B31 + sample 105: + time = 3540000 + flags = 1 + data = length 13, hash 75BC5C3 + sample 106: + time = 3560000 + flags = 1 + data = length 13, hash 7BA1784B + sample 107: + time = 3580000 + flags = 1 + data = length 13, hash 1D175D92 + sample 108: + time = 3600000 + flags = 1 + data = length 13, hash ADCA60FD + sample 109: + time = 3620000 + flags = 1 + data = length 13, hash 37018693 + sample 110: + time = 3640000 + flags = 1 + data = length 13, hash 4553606F + sample 111: + time = 3660000 + flags = 1 + data = length 13, hash CF434565 + sample 112: + time = 3680000 + flags = 1 + data = length 13, hash D264D757 + sample 113: + time = 3700000 + flags = 1 + data = length 13, hash 4FB493EF + sample 114: + time = 3720000 + flags = 1 + data = length 13, hash 919F53A + sample 115: + time = 3740000 + flags = 1 + data = length 13, hash C22B009B + sample 116: + time = 3760000 + flags = 1 + data = length 13, hash 5981470 + sample 117: + time = 3780000 + flags = 1 + data = length 13, hash A5D3937C + sample 118: + time = 3800000 + flags = 1 + data = length 13, hash A2504429 + sample 119: + time = 3820000 + flags = 1 + data = length 13, hash AD1B70BE + sample 120: + time = 3840000 + flags = 1 + data = length 13, hash 2E39ED5E + sample 121: + time = 3860000 + flags = 1 + data = length 13, hash 13A8BE8E + sample 122: + time = 3880000 + flags = 1 + data = length 13, hash 1ACD740B + sample 123: + time = 3900000 + flags = 1 + data = length 13, hash 80F38B3 + sample 124: + time = 3920000 + flags = 1 + data = length 13, hash DA9DA79F + sample 125: + time = 3940000 + flags = 1 + data = length 13, hash 21B95B7E + sample 126: + time = 3960000 + flags = 1 + data = length 13, hash CD22497B + sample 127: + time = 3980000 + flags = 1 + data = length 13, hash 718BB35D + sample 128: + time = 4000000 + flags = 1 + data = length 13, hash 69ABA6AD + sample 129: + time = 4020000 + flags = 1 + data = length 13, hash BAE19549 + sample 130: + time = 4040000 + flags = 1 + data = length 13, hash 2A792FB3 + sample 131: + time = 4060000 + flags = 1 + data = length 13, hash 71FCD8 + sample 132: + time = 4080000 + flags = 1 + data = length 13, hash 44D2B5B3 + sample 133: + time = 4100000 + flags = 1 + data = length 13, hash 1E87B11B + sample 134: + time = 4120000 + flags = 1 + data = length 13, hash 78CD2C11 + sample 135: + time = 4140000 + flags = 1 + data = length 13, hash 9F198DF0 + sample 136: + time = 4160000 + flags = 1 + data = length 13, hash B291F16A + sample 137: + time = 4180000 + flags = 1 + data = length 13, hash CF820EE0 + sample 138: + time = 4200000 + flags = 1 + data = length 13, hash 4E24F683 + sample 139: + time = 4220000 + flags = 1 + data = length 13, hash 52BCD68F + sample 140: + time = 4240000 + flags = 1 + data = length 13, hash 42588CB0 + sample 141: + time = 4260000 + flags = 1 + data = length 13, hash EBBFECA2 + sample 142: + time = 4280000 + flags = 1 + data = length 13, hash C11050CF + sample 143: + time = 4300000 + flags = 1 + data = length 13, hash 6F738603 + sample 144: + time = 4320000 + flags = 1 + data = length 13, hash DAD06E5 + sample 145: + time = 4340000 + flags = 1 + data = length 13, hash 5B036C64 + sample 146: + time = 4360000 + flags = 1 + data = length 13, hash A58DC12E + sample 147: + time = 4380000 + flags = 1 + data = length 13, hash AC59BA7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.2.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.2.dump new file mode 100644 index 0000000000..e0209f9a78 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.2.dump @@ -0,0 +1,317 @@ +seekMap: + isSeekable = true + duration = 4400000 + getPosition(0) = [[timeUs=0, position=6]] + getPosition(1) = [[timeUs=0, position=6], [timeUs=100000, position=71]] + getPosition(2200000) = [[timeUs=2200000, position=1412]] + getPosition(4400000) = [[timeUs=4400000, position=2842]] +numberOfTracks = 1 +track 0: + total output bytes = 975 + sample count = 75 + format 0: + sampleMimeType = audio/3gpp + maxInputSize = 32 + channelCount = 1 + sampleRate = 8000 + sample 0: + time = 2900000 + flags = 1 + data = length 13, hash 25AEC43F + sample 1: + time = 2920000 + flags = 1 + data = length 13, hash EE9BF97F + sample 2: + time = 2940000 + flags = 1 + data = length 13, hash FFFBE047 + sample 3: + time = 2960000 + flags = 1 + data = length 13, hash BEACFCB0 + sample 4: + time = 2980000 + flags = 1 + data = length 13, hash AEB5096C + sample 5: + time = 3000000 + flags = 1 + data = length 13, hash B0D381B + sample 6: + time = 3020000 + flags = 1 + data = length 13, hash 3D9D5122 + sample 7: + time = 3040000 + flags = 1 + data = length 13, hash 6C1DDB95 + sample 8: + time = 3060000 + flags = 1 + data = length 13, hash ADACADCF + sample 9: + time = 3080000 + flags = 1 + data = length 13, hash 159E321E + sample 10: + time = 3100000 + flags = 1 + data = length 13, hash B1466264 + sample 11: + time = 3120000 + flags = 1 + data = length 13, hash 4DDF7223 + sample 12: + time = 3140000 + flags = 1 + data = length 13, hash C9BDB82A + sample 13: + time = 3160000 + flags = 1 + data = length 13, hash A49B2D9D + sample 14: + time = 3180000 + flags = 1 + data = length 13, hash D645E7E5 + sample 15: + time = 3200000 + flags = 1 + data = length 13, hash 1C4232DC + sample 16: + time = 3220000 + flags = 1 + data = length 13, hash 83078219 + sample 17: + time = 3240000 + flags = 1 + data = length 13, hash D6D8B072 + sample 18: + time = 3260000 + flags = 1 + data = length 13, hash 975DB40 + sample 19: + time = 3280000 + flags = 1 + data = length 13, hash A15FDD05 + sample 20: + time = 3300000 + flags = 1 + data = length 13, hash 4B839E41 + sample 21: + time = 3320000 + flags = 1 + data = length 13, hash 7418F499 + sample 22: + time = 3340000 + flags = 1 + data = length 13, hash 7A4945E4 + sample 23: + time = 3360000 + flags = 1 + data = length 13, hash 6249558C + sample 24: + time = 3380000 + flags = 1 + data = length 13, hash BD4C5BE3 + sample 25: + time = 3400000 + flags = 1 + data = length 13, hash BAB30F1D + sample 26: + time = 3420000 + flags = 1 + data = length 13, hash 1E1C7012 + sample 27: + time = 3440000 + flags = 1 + data = length 13, hash 9A3F8A89 + sample 28: + time = 3460000 + flags = 1 + data = length 13, hash 20BE6D7B + sample 29: + time = 3480000 + flags = 1 + data = length 13, hash CAA0591D + sample 30: + time = 3500000 + flags = 1 + data = length 13, hash 6D554D17 + sample 31: + time = 3520000 + flags = 1 + data = length 13, hash D97C3B31 + sample 32: + time = 3540000 + flags = 1 + data = length 13, hash 75BC5C3 + sample 33: + time = 3560000 + flags = 1 + data = length 13, hash 7BA1784B + sample 34: + time = 3580000 + flags = 1 + data = length 13, hash 1D175D92 + sample 35: + time = 3600000 + flags = 1 + data = length 13, hash ADCA60FD + sample 36: + time = 3620000 + flags = 1 + data = length 13, hash 37018693 + sample 37: + time = 3640000 + flags = 1 + data = length 13, hash 4553606F + sample 38: + time = 3660000 + flags = 1 + data = length 13, hash CF434565 + sample 39: + time = 3680000 + flags = 1 + data = length 13, hash D264D757 + sample 40: + time = 3700000 + flags = 1 + data = length 13, hash 4FB493EF + sample 41: + time = 3720000 + flags = 1 + data = length 13, hash 919F53A + sample 42: + time = 3740000 + flags = 1 + data = length 13, hash C22B009B + sample 43: + time = 3760000 + flags = 1 + data = length 13, hash 5981470 + sample 44: + time = 3780000 + flags = 1 + data = length 13, hash A5D3937C + sample 45: + time = 3800000 + flags = 1 + data = length 13, hash A2504429 + sample 46: + time = 3820000 + flags = 1 + data = length 13, hash AD1B70BE + sample 47: + time = 3840000 + flags = 1 + data = length 13, hash 2E39ED5E + sample 48: + time = 3860000 + flags = 1 + data = length 13, hash 13A8BE8E + sample 49: + time = 3880000 + flags = 1 + data = length 13, hash 1ACD740B + sample 50: + time = 3900000 + flags = 1 + data = length 13, hash 80F38B3 + sample 51: + time = 3920000 + flags = 1 + data = length 13, hash DA9DA79F + sample 52: + time = 3940000 + flags = 1 + data = length 13, hash 21B95B7E + sample 53: + time = 3960000 + flags = 1 + data = length 13, hash CD22497B + sample 54: + time = 3980000 + flags = 1 + data = length 13, hash 718BB35D + sample 55: + time = 4000000 + flags = 1 + data = length 13, hash 69ABA6AD + sample 56: + time = 4020000 + flags = 1 + data = length 13, hash BAE19549 + sample 57: + time = 4040000 + flags = 1 + data = length 13, hash 2A792FB3 + sample 58: + time = 4060000 + flags = 1 + data = length 13, hash 71FCD8 + sample 59: + time = 4080000 + flags = 1 + data = length 13, hash 44D2B5B3 + sample 60: + time = 4100000 + flags = 1 + data = length 13, hash 1E87B11B + sample 61: + time = 4120000 + flags = 1 + data = length 13, hash 78CD2C11 + sample 62: + time = 4140000 + flags = 1 + data = length 13, hash 9F198DF0 + sample 63: + time = 4160000 + flags = 1 + data = length 13, hash B291F16A + sample 64: + time = 4180000 + flags = 1 + data = length 13, hash CF820EE0 + sample 65: + time = 4200000 + flags = 1 + data = length 13, hash 4E24F683 + sample 66: + time = 4220000 + flags = 1 + data = length 13, hash 52BCD68F + sample 67: + time = 4240000 + flags = 1 + data = length 13, hash 42588CB0 + sample 68: + time = 4260000 + flags = 1 + data = length 13, hash EBBFECA2 + sample 69: + time = 4280000 + flags = 1 + data = length 13, hash C11050CF + sample 70: + time = 4300000 + flags = 1 + data = length 13, hash 6F738603 + sample 71: + time = 4320000 + flags = 1 + data = length 13, hash DAD06E5 + sample 72: + time = 4340000 + flags = 1 + data = length 13, hash 5B036C64 + sample 73: + time = 4360000 + flags = 1 + data = length 13, hash A58DC12E + sample 74: + time = 4380000 + flags = 1 + data = length 13, hash AC59BA7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.3.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.3.dump new file mode 100644 index 0000000000..2832c3c090 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 4400000 + getPosition(0) = [[timeUs=0, position=6]] + getPosition(1) = [[timeUs=0, position=6], [timeUs=100000, position=71]] + getPosition(2200000) = [[timeUs=2200000, position=1412]] + getPosition(4400000) = [[timeUs=4400000, position=2842]] +numberOfTracks = 1 +track 0: + total output bytes = 0 + sample count = 0 + format 0: + sampleMimeType = audio/3gpp + maxInputSize = 32 + channelCount = 1 + sampleRate = 8000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.unknown_length.dump new file mode 100644 index 0000000000..fe82cb2e7e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_nb_with_silence_frames.amr.unknown_length.dump @@ -0,0 +1,897 @@ +seekMap: + isSeekable = true + duration = 4400000 + getPosition(0) = [[timeUs=0, position=6]] + getPosition(1) = [[timeUs=0, position=6], [timeUs=100000, position=71]] + getPosition(2200000) = [[timeUs=2200000, position=1412]] + getPosition(4400000) = [[timeUs=4400000, position=2842]] +numberOfTracks = 1 +track 0: + total output bytes = 2836 + sample count = 220 + format 0: + sampleMimeType = audio/3gpp + maxInputSize = 32 + channelCount = 1 + sampleRate = 8000 + sample 0: + time = 0 + flags = 1 + data = length 13, hash 371B046C + sample 1: + time = 20000 + flags = 1 + data = length 13, hash CE30BF5B + sample 2: + time = 40000 + flags = 1 + data = length 13, hash 19A59975 + sample 3: + time = 60000 + flags = 1 + data = length 13, hash 4879773C + sample 4: + time = 80000 + flags = 1 + data = length 13, hash E8F83019 + sample 5: + time = 100000 + flags = 1 + data = length 13, hash D265CDC9 + sample 6: + time = 120000 + flags = 1 + data = length 13, hash 91653DAA + sample 7: + time = 140000 + flags = 1 + data = length 13, hash C79456F6 + sample 8: + time = 160000 + flags = 1 + data = length 13, hash CDDC4422 + sample 9: + time = 180000 + flags = 1 + data = length 13, hash D9ED3AF1 + sample 10: + time = 200000 + flags = 1 + data = length 13, hash BAB75A33 + sample 11: + time = 220000 + flags = 1 + data = length 13, hash 2221B4FF + sample 12: + time = 240000 + flags = 1 + data = length 13, hash 96400A0B + sample 13: + time = 260000 + flags = 1 + data = length 13, hash 582E6FB + sample 14: + time = 280000 + flags = 1 + data = length 13, hash C4E878E5 + sample 15: + time = 300000 + flags = 1 + data = length 13, hash C849A1BD + sample 16: + time = 320000 + flags = 1 + data = length 13, hash CFA8A9ED + sample 17: + time = 340000 + flags = 1 + data = length 13, hash 70CA4907 + sample 18: + time = 360000 + flags = 1 + data = length 13, hash B47D4454 + sample 19: + time = 380000 + flags = 1 + data = length 13, hash 282998C1 + sample 20: + time = 400000 + flags = 1 + data = length 13, hash 3F3F7A65 + sample 21: + time = 420000 + flags = 1 + data = length 13, hash CC2EAB58 + sample 22: + time = 440000 + flags = 1 + data = length 13, hash 279EF712 + sample 23: + time = 460000 + flags = 1 + data = length 13, hash AA2F4B29 + sample 24: + time = 480000 + flags = 1 + data = length 13, hash F6F658C4 + sample 25: + time = 500000 + flags = 1 + data = length 1, hash 9B + sample 26: + time = 520000 + flags = 1 + data = length 13, hash D7DEBD17 + sample 27: + time = 540000 + flags = 1 + data = length 13, hash 6DAB9A17 + sample 28: + time = 560000 + flags = 1 + data = length 13, hash 6ECE1571 + sample 29: + time = 580000 + flags = 1 + data = length 13, hash B3D0507F + sample 30: + time = 600000 + flags = 1 + data = length 13, hash 21E356B9 + sample 31: + time = 620000 + flags = 1 + data = length 13, hash 410EA12 + sample 32: + time = 640000 + flags = 1 + data = length 13, hash 533895A8 + sample 33: + time = 660000 + flags = 1 + data = length 13, hash C61B3E5A + sample 34: + time = 680000 + flags = 1 + data = length 13, hash 982170E6 + sample 35: + time = 700000 + flags = 1 + data = length 13, hash 7A0468C5 + sample 36: + time = 720000 + flags = 1 + data = length 13, hash 9C85EAA7 + sample 37: + time = 740000 + flags = 1 + data = length 13, hash B6B341B6 + sample 38: + time = 760000 + flags = 1 + data = length 13, hash 6937532E + sample 39: + time = 780000 + flags = 1 + data = length 13, hash 8CF2A3A0 + sample 40: + time = 800000 + flags = 1 + data = length 13, hash D2682AC6 + sample 41: + time = 820000 + flags = 1 + data = length 13, hash BBC5710F + sample 42: + time = 840000 + flags = 1 + data = length 13, hash 59080B6C + sample 43: + time = 860000 + flags = 1 + data = length 13, hash E4118291 + sample 44: + time = 880000 + flags = 1 + data = length 13, hash A1E5B296 + sample 45: + time = 900000 + flags = 1 + data = length 13, hash D7B8F95B + sample 46: + time = 920000 + flags = 1 + data = length 13, hash CC839BE1 + sample 47: + time = 940000 + flags = 1 + data = length 13, hash D459DFCE + sample 48: + time = 960000 + flags = 1 + data = length 13, hash D6AD19EC + sample 49: + time = 980000 + flags = 1 + data = length 13, hash D05E373D + sample 50: + time = 1000000 + flags = 1 + data = length 13, hash 6A4460C7 + sample 51: + time = 1020000 + flags = 1 + data = length 1, hash 9B + sample 52: + time = 1040000 + flags = 1 + data = length 13, hash C9A0D93F + sample 53: + time = 1060000 + flags = 1 + data = length 13, hash 3FA819E7 + sample 54: + time = 1080000 + flags = 1 + data = length 13, hash 1D3CBDFC + sample 55: + time = 1100000 + flags = 1 + data = length 13, hash 8BBBB403 + sample 56: + time = 1120000 + flags = 1 + data = length 13, hash 21B4A0F9 + sample 57: + time = 1140000 + flags = 1 + data = length 13, hash C0F921D1 + sample 58: + time = 1160000 + flags = 1 + data = length 13, hash 5D812AAB + sample 59: + time = 1180000 + flags = 1 + data = length 13, hash 50C9F3F8 + sample 60: + time = 1200000 + flags = 1 + data = length 13, hash 5C2BB5D1 + sample 61: + time = 1220000 + flags = 1 + data = length 13, hash 6BF9BEA5 + sample 62: + time = 1240000 + flags = 1 + data = length 13, hash 2738C1E6 + sample 63: + time = 1260000 + flags = 1 + data = length 13, hash 5FC288A6 + sample 64: + time = 1280000 + flags = 1 + data = length 13, hash 7E8E442A + sample 65: + time = 1300000 + flags = 1 + data = length 13, hash AEAA2BBA + sample 66: + time = 1320000 + flags = 1 + data = length 13, hash 4E2ACD2F + sample 67: + time = 1340000 + flags = 1 + data = length 13, hash D6C90ACF + sample 68: + time = 1360000 + flags = 1 + data = length 13, hash 6FD8A944 + sample 69: + time = 1380000 + flags = 1 + data = length 13, hash A835BBF9 + sample 70: + time = 1400000 + flags = 1 + data = length 13, hash F7713830 + sample 71: + time = 1420000 + flags = 1 + data = length 13, hash 3AA966E5 + sample 72: + time = 1440000 + flags = 1 + data = length 13, hash F939E829 + sample 73: + time = 1460000 + flags = 1 + data = length 13, hash 7676DE49 + sample 74: + time = 1480000 + flags = 1 + data = length 13, hash 93BB890A + sample 75: + time = 1500000 + flags = 1 + data = length 13, hash B57DBEC8 + sample 76: + time = 1520000 + flags = 1 + data = length 13, hash 66B0A5B6 + sample 77: + time = 1540000 + flags = 1 + data = length 13, hash D733E0D + sample 78: + time = 1560000 + flags = 1 + data = length 13, hash 80941726 + sample 79: + time = 1580000 + flags = 1 + data = length 13, hash 556ED633 + sample 80: + time = 1600000 + flags = 1 + data = length 13, hash C5EDF4E1 + sample 81: + time = 1620000 + flags = 1 + data = length 13, hash 6B287445 + sample 82: + time = 1640000 + flags = 1 + data = length 13, hash DC97C4A7 + sample 83: + time = 1660000 + flags = 1 + data = length 13, hash DA8CBDF4 + sample 84: + time = 1680000 + flags = 1 + data = length 13, hash 6F60FF77 + sample 85: + time = 1700000 + flags = 1 + data = length 13, hash 3EB22B96 + sample 86: + time = 1720000 + flags = 1 + data = length 13, hash B3C31AF5 + sample 87: + time = 1740000 + flags = 1 + data = length 13, hash 1854AA92 + sample 88: + time = 1760000 + flags = 1 + data = length 13, hash 6488264B + sample 89: + time = 1780000 + flags = 1 + data = length 13, hash 4CC8C5C1 + sample 90: + time = 1800000 + flags = 1 + data = length 13, hash 19CC7523 + sample 91: + time = 1820000 + flags = 1 + data = length 13, hash 9BE7B928 + sample 92: + time = 1840000 + flags = 1 + data = length 13, hash 47EC7CFD + sample 93: + time = 1860000 + flags = 1 + data = length 13, hash EC940120 + sample 94: + time = 1880000 + flags = 1 + data = length 13, hash 73BDA6D0 + sample 95: + time = 1900000 + flags = 1 + data = length 13, hash FACB3314 + sample 96: + time = 1920000 + flags = 1 + data = length 13, hash EC61D13B + sample 97: + time = 1940000 + flags = 1 + data = length 13, hash B28C7B6C + sample 98: + time = 1960000 + flags = 1 + data = length 13, hash B1A4CECD + sample 99: + time = 1980000 + flags = 1 + data = length 13, hash 56D41BA6 + sample 100: + time = 2000000 + flags = 1 + data = length 13, hash 90499F4 + sample 101: + time = 2020000 + flags = 1 + data = length 13, hash 65D9A9D3 + sample 102: + time = 2040000 + flags = 1 + data = length 13, hash D9004CC + sample 103: + time = 2060000 + flags = 1 + data = length 13, hash 4139C6ED + sample 104: + time = 2080000 + flags = 1 + data = length 13, hash C4F8097C + sample 105: + time = 2100000 + flags = 1 + data = length 13, hash 94D424FA + sample 106: + time = 2120000 + flags = 1 + data = length 13, hash C2C6F5FD + sample 107: + time = 2140000 + flags = 1 + data = length 13, hash 15719008 + sample 108: + time = 2160000 + flags = 1 + data = length 13, hash 4F64F524 + sample 109: + time = 2180000 + flags = 1 + data = length 13, hash F9E01C1E + sample 110: + time = 2200000 + flags = 1 + data = length 13, hash 74C4EE74 + sample 111: + time = 2220000 + flags = 1 + data = length 13, hash 7EE7553D + sample 112: + time = 2240000 + flags = 1 + data = length 13, hash 62DE6539 + sample 113: + time = 2260000 + flags = 1 + data = length 13, hash 7F5EC222 + sample 114: + time = 2280000 + flags = 1 + data = length 13, hash 644067F + sample 115: + time = 2300000 + flags = 1 + data = length 13, hash CDF6C9DC + sample 116: + time = 2320000 + flags = 1 + data = length 13, hash 8B5DBC80 + sample 117: + time = 2340000 + flags = 1 + data = length 13, hash AD4BBA03 + sample 118: + time = 2360000 + flags = 1 + data = length 13, hash 7A76340 + sample 119: + time = 2380000 + flags = 1 + data = length 13, hash 3610F5B0 + sample 120: + time = 2400000 + flags = 1 + data = length 13, hash 430BC60B + sample 121: + time = 2420000 + flags = 1 + data = length 13, hash 99CF1CA6 + sample 122: + time = 2440000 + flags = 1 + data = length 13, hash 1331C70B + sample 123: + time = 2460000 + flags = 1 + data = length 13, hash BD76E69D + sample 124: + time = 2480000 + flags = 1 + data = length 13, hash 5DA652AC + sample 125: + time = 2500000 + flags = 1 + data = length 13, hash 3B7BF6CE + sample 126: + time = 2520000 + flags = 1 + data = length 13, hash ABBFD143 + sample 127: + time = 2540000 + flags = 1 + data = length 13, hash E9447166 + sample 128: + time = 2560000 + flags = 1 + data = length 13, hash EC40068C + sample 129: + time = 2580000 + flags = 1 + data = length 13, hash A2869400 + sample 130: + time = 2600000 + flags = 1 + data = length 13, hash C7E0746B + sample 131: + time = 2620000 + flags = 1 + data = length 13, hash 60601BB1 + sample 132: + time = 2640000 + flags = 1 + data = length 13, hash 975AAE9B + sample 133: + time = 2660000 + flags = 1 + data = length 13, hash 8BBC0EB2 + sample 134: + time = 2680000 + flags = 1 + data = length 13, hash 57FB39E5 + sample 135: + time = 2700000 + flags = 1 + data = length 13, hash 4CDCEEDB + sample 136: + time = 2720000 + flags = 1 + data = length 13, hash EA16E256 + sample 137: + time = 2740000 + flags = 1 + data = length 13, hash 287E7D9E + sample 138: + time = 2760000 + flags = 1 + data = length 13, hash 55AB8FB9 + sample 139: + time = 2780000 + flags = 1 + data = length 13, hash 129890EF + sample 140: + time = 2800000 + flags = 1 + data = length 13, hash 90834F57 + sample 141: + time = 2820000 + flags = 1 + data = length 13, hash 5B3228E0 + sample 142: + time = 2840000 + flags = 1 + data = length 13, hash DD19E175 + sample 143: + time = 2860000 + flags = 1 + data = length 13, hash EE7EA342 + sample 144: + time = 2880000 + flags = 1 + data = length 13, hash DB3AF473 + sample 145: + time = 2900000 + flags = 1 + data = length 13, hash 25AEC43F + sample 146: + time = 2920000 + flags = 1 + data = length 13, hash EE9BF97F + sample 147: + time = 2940000 + flags = 1 + data = length 13, hash FFFBE047 + sample 148: + time = 2960000 + flags = 1 + data = length 13, hash BEACFCB0 + sample 149: + time = 2980000 + flags = 1 + data = length 13, hash AEB5096C + sample 150: + time = 3000000 + flags = 1 + data = length 13, hash B0D381B + sample 151: + time = 3020000 + flags = 1 + data = length 13, hash 3D9D5122 + sample 152: + time = 3040000 + flags = 1 + data = length 13, hash 6C1DDB95 + sample 153: + time = 3060000 + flags = 1 + data = length 13, hash ADACADCF + sample 154: + time = 3080000 + flags = 1 + data = length 13, hash 159E321E + sample 155: + time = 3100000 + flags = 1 + data = length 13, hash B1466264 + sample 156: + time = 3120000 + flags = 1 + data = length 13, hash 4DDF7223 + sample 157: + time = 3140000 + flags = 1 + data = length 13, hash C9BDB82A + sample 158: + time = 3160000 + flags = 1 + data = length 13, hash A49B2D9D + sample 159: + time = 3180000 + flags = 1 + data = length 13, hash D645E7E5 + sample 160: + time = 3200000 + flags = 1 + data = length 13, hash 1C4232DC + sample 161: + time = 3220000 + flags = 1 + data = length 13, hash 83078219 + sample 162: + time = 3240000 + flags = 1 + data = length 13, hash D6D8B072 + sample 163: + time = 3260000 + flags = 1 + data = length 13, hash 975DB40 + sample 164: + time = 3280000 + flags = 1 + data = length 13, hash A15FDD05 + sample 165: + time = 3300000 + flags = 1 + data = length 13, hash 4B839E41 + sample 166: + time = 3320000 + flags = 1 + data = length 13, hash 7418F499 + sample 167: + time = 3340000 + flags = 1 + data = length 13, hash 7A4945E4 + sample 168: + time = 3360000 + flags = 1 + data = length 13, hash 6249558C + sample 169: + time = 3380000 + flags = 1 + data = length 13, hash BD4C5BE3 + sample 170: + time = 3400000 + flags = 1 + data = length 13, hash BAB30F1D + sample 171: + time = 3420000 + flags = 1 + data = length 13, hash 1E1C7012 + sample 172: + time = 3440000 + flags = 1 + data = length 13, hash 9A3F8A89 + sample 173: + time = 3460000 + flags = 1 + data = length 13, hash 20BE6D7B + sample 174: + time = 3480000 + flags = 1 + data = length 13, hash CAA0591D + sample 175: + time = 3500000 + flags = 1 + data = length 13, hash 6D554D17 + sample 176: + time = 3520000 + flags = 1 + data = length 13, hash D97C3B31 + sample 177: + time = 3540000 + flags = 1 + data = length 13, hash 75BC5C3 + sample 178: + time = 3560000 + flags = 1 + data = length 13, hash 7BA1784B + sample 179: + time = 3580000 + flags = 1 + data = length 13, hash 1D175D92 + sample 180: + time = 3600000 + flags = 1 + data = length 13, hash ADCA60FD + sample 181: + time = 3620000 + flags = 1 + data = length 13, hash 37018693 + sample 182: + time = 3640000 + flags = 1 + data = length 13, hash 4553606F + sample 183: + time = 3660000 + flags = 1 + data = length 13, hash CF434565 + sample 184: + time = 3680000 + flags = 1 + data = length 13, hash D264D757 + sample 185: + time = 3700000 + flags = 1 + data = length 13, hash 4FB493EF + sample 186: + time = 3720000 + flags = 1 + data = length 13, hash 919F53A + sample 187: + time = 3740000 + flags = 1 + data = length 13, hash C22B009B + sample 188: + time = 3760000 + flags = 1 + data = length 13, hash 5981470 + sample 189: + time = 3780000 + flags = 1 + data = length 13, hash A5D3937C + sample 190: + time = 3800000 + flags = 1 + data = length 13, hash A2504429 + sample 191: + time = 3820000 + flags = 1 + data = length 13, hash AD1B70BE + sample 192: + time = 3840000 + flags = 1 + data = length 13, hash 2E39ED5E + sample 193: + time = 3860000 + flags = 1 + data = length 13, hash 13A8BE8E + sample 194: + time = 3880000 + flags = 1 + data = length 13, hash 1ACD740B + sample 195: + time = 3900000 + flags = 1 + data = length 13, hash 80F38B3 + sample 196: + time = 3920000 + flags = 1 + data = length 13, hash DA9DA79F + sample 197: + time = 3940000 + flags = 1 + data = length 13, hash 21B95B7E + sample 198: + time = 3960000 + flags = 1 + data = length 13, hash CD22497B + sample 199: + time = 3980000 + flags = 1 + data = length 13, hash 718BB35D + sample 200: + time = 4000000 + flags = 1 + data = length 13, hash 69ABA6AD + sample 201: + time = 4020000 + flags = 1 + data = length 13, hash BAE19549 + sample 202: + time = 4040000 + flags = 1 + data = length 13, hash 2A792FB3 + sample 203: + time = 4060000 + flags = 1 + data = length 13, hash 71FCD8 + sample 204: + time = 4080000 + flags = 1 + data = length 13, hash 44D2B5B3 + sample 205: + time = 4100000 + flags = 1 + data = length 13, hash 1E87B11B + sample 206: + time = 4120000 + flags = 1 + data = length 13, hash 78CD2C11 + sample 207: + time = 4140000 + flags = 1 + data = length 13, hash 9F198DF0 + sample 208: + time = 4160000 + flags = 1 + data = length 13, hash B291F16A + sample 209: + time = 4180000 + flags = 1 + data = length 13, hash CF820EE0 + sample 210: + time = 4200000 + flags = 1 + data = length 13, hash 4E24F683 + sample 211: + time = 4220000 + flags = 1 + data = length 13, hash 52BCD68F + sample 212: + time = 4240000 + flags = 1 + data = length 13, hash 42588CB0 + sample 213: + time = 4260000 + flags = 1 + data = length 13, hash EBBFECA2 + sample 214: + time = 4280000 + flags = 1 + data = length 13, hash C11050CF + sample 215: + time = 4300000 + flags = 1 + data = length 13, hash 6F738603 + sample 216: + time = 4320000 + flags = 1 + data = length 13, hash DAD06E5 + sample 217: + time = 4340000 + flags = 1 + data = length 13, hash 5B036C64 + sample 218: + time = 4360000 + flags = 1 + data = length 13, hash A58DC12E + sample 219: + time = 4380000 + flags = 1 + data = length 13, hash AC59BA7C +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.0.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.0.dump new file mode 100644 index 0000000000..694fd92a3c --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.0.dump @@ -0,0 +1,697 @@ +seekMap: + isSeekable = true + duration = 3400000 + getPosition(0) = [[timeUs=0, position=9]] + getPosition(1) = [[timeUs=0, position=9], [timeUs=100000, position=129]] + getPosition(1700000) = [[timeUs=1700000, position=2026]] + getPosition(3400000) = [[timeUs=3400000, position=4066]] +numberOfTracks = 1 +track 0: + total output bytes = 4057 + sample count = 170 + format 0: + sampleMimeType = audio/amr-wb + maxInputSize = 61 + channelCount = 1 + sampleRate = 16000 + sample 0: + time = 0 + flags = 1 + data = length 24, hash C3025798 + sample 1: + time = 20000 + flags = 1 + data = length 24, hash 39CABAE9 + sample 2: + time = 40000 + flags = 1 + data = length 24, hash 2752F470 + sample 3: + time = 60000 + flags = 1 + data = length 24, hash 394F76F6 + sample 4: + time = 80000 + flags = 1 + data = length 24, hash FF9EEF + sample 5: + time = 100000 + flags = 1 + data = length 24, hash 54ECB1B4 + sample 6: + time = 120000 + flags = 1 + data = length 24, hash 6D7A3A5F + sample 7: + time = 140000 + flags = 1 + data = length 24, hash 684CD144 + sample 8: + time = 160000 + flags = 1 + data = length 24, hash 87B7D176 + sample 9: + time = 180000 + flags = 1 + data = length 24, hash 4C02F9A5 + sample 10: + time = 200000 + flags = 1 + data = length 24, hash B4154108 + sample 11: + time = 220000 + flags = 1 + data = length 24, hash 4448F477 + sample 12: + time = 240000 + flags = 1 + data = length 24, hash 755A4939 + sample 13: + time = 260000 + flags = 1 + data = length 24, hash 8C8BC6C3 + sample 14: + time = 280000 + flags = 1 + data = length 24, hash BC37F63F + sample 15: + time = 300000 + flags = 1 + data = length 24, hash 3352C43C + sample 16: + time = 320000 + flags = 1 + data = length 24, hash 7998E1F2 + sample 17: + time = 340000 + flags = 1 + data = length 24, hash A8ECBEFC + sample 18: + time = 360000 + flags = 1 + data = length 24, hash 944AC118 + sample 19: + time = 380000 + flags = 1 + data = length 24, hash FD2C8E1F + sample 20: + time = 400000 + flags = 1 + data = length 1, hash 9B + sample 21: + time = 420000 + flags = 1 + data = length 24, hash B3D867AF + sample 22: + time = 440000 + flags = 1 + data = length 24, hash 3DC6E592 + sample 23: + time = 460000 + flags = 1 + data = length 24, hash 32B276CD + sample 24: + time = 480000 + flags = 1 + data = length 24, hash 5488AEF3 + sample 25: + time = 500000 + flags = 1 + data = length 24, hash 7A4D516 + sample 26: + time = 520000 + flags = 1 + data = length 24, hash 570AE83F + sample 27: + time = 540000 + flags = 1 + data = length 24, hash E5CB3477 + sample 28: + time = 560000 + flags = 1 + data = length 24, hash E04C00E4 + sample 29: + time = 580000 + flags = 1 + data = length 24, hash 21B7C97 + sample 30: + time = 600000 + flags = 1 + data = length 24, hash 1633F470 + sample 31: + time = 620000 + flags = 1 + data = length 24, hash 28D65CA6 + sample 32: + time = 640000 + flags = 1 + data = length 24, hash CC6A675C + sample 33: + time = 660000 + flags = 1 + data = length 24, hash 4C91080A + sample 34: + time = 680000 + flags = 1 + data = length 24, hash F6482FB5 + sample 35: + time = 700000 + flags = 1 + data = length 24, hash 2C76F48C + sample 36: + time = 720000 + flags = 1 + data = length 24, hash 6E3B0D72 + sample 37: + time = 740000 + flags = 1 + data = length 24, hash 799AA003 + sample 38: + time = 760000 + flags = 1 + data = length 24, hash DFC0BA81 + sample 39: + time = 780000 + flags = 1 + data = length 24, hash CBDF3826 + sample 40: + time = 800000 + flags = 1 + data = length 24, hash 16862B75 + sample 41: + time = 820000 + flags = 1 + data = length 24, hash 865A828E + sample 42: + time = 840000 + flags = 1 + data = length 24, hash 336BBDC9 + sample 43: + time = 860000 + flags = 1 + data = length 24, hash 6CFC6C34 + sample 44: + time = 880000 + flags = 1 + data = length 24, hash 32C8CD46 + sample 45: + time = 900000 + flags = 1 + data = length 24, hash 9FE11C4C + sample 46: + time = 920000 + flags = 1 + data = length 24, hash AA5A12B7 + sample 47: + time = 940000 + flags = 1 + data = length 24, hash AA0F4A4D + sample 48: + time = 960000 + flags = 1 + data = length 24, hash 34415484 + sample 49: + time = 980000 + flags = 1 + data = length 24, hash 5018928E + sample 50: + time = 1000000 + flags = 1 + data = length 24, hash 4A04D162 + sample 51: + time = 1020000 + flags = 1 + data = length 24, hash 4C70F9F0 + sample 52: + time = 1040000 + flags = 1 + data = length 24, hash 99EF3168 + sample 53: + time = 1060000 + flags = 1 + data = length 24, hash C600DAF + sample 54: + time = 1080000 + flags = 1 + data = length 24, hash FDBB192E + sample 55: + time = 1100000 + flags = 1 + data = length 24, hash 99096A48 + sample 56: + time = 1120000 + flags = 1 + data = length 24, hash D793F88B + sample 57: + time = 1140000 + flags = 1 + data = length 24, hash EEB921BD + sample 58: + time = 1160000 + flags = 1 + data = length 24, hash 8B941A4C + sample 59: + time = 1180000 + flags = 1 + data = length 24, hash ED5F5FEE + sample 60: + time = 1200000 + flags = 1 + data = length 24, hash A588E0BB + sample 61: + time = 1220000 + flags = 1 + data = length 24, hash 588CBC01 + sample 62: + time = 1240000 + flags = 1 + data = length 24, hash DE22266C + sample 63: + time = 1260000 + flags = 1 + data = length 24, hash 921B6E5C + sample 64: + time = 1280000 + flags = 1 + data = length 24, hash EC11F041 + sample 65: + time = 1300000 + flags = 1 + data = length 24, hash 5BA9E0A3 + sample 66: + time = 1320000 + flags = 1 + data = length 24, hash DB6D52F3 + sample 67: + time = 1340000 + flags = 1 + data = length 24, hash 8EEBE525 + sample 68: + time = 1360000 + flags = 1 + data = length 24, hash 47A742AE + sample 69: + time = 1380000 + flags = 1 + data = length 24, hash E93F1E03 + sample 70: + time = 1400000 + flags = 1 + data = length 24, hash 3251F57C + sample 71: + time = 1420000 + flags = 1 + data = length 24, hash 3EDBBBDD + sample 72: + time = 1440000 + flags = 1 + data = length 24, hash 2E98465A + sample 73: + time = 1460000 + flags = 1 + data = length 24, hash A09EA52E + sample 74: + time = 1480000 + flags = 1 + data = length 24, hash A2A86FA6 + sample 75: + time = 1500000 + flags = 1 + data = length 24, hash 71DCD51C + sample 76: + time = 1520000 + flags = 1 + data = length 24, hash 2B02DEE1 + sample 77: + time = 1540000 + flags = 1 + data = length 24, hash 7A725192 + sample 78: + time = 1560000 + flags = 1 + data = length 24, hash 929AD483 + sample 79: + time = 1580000 + flags = 1 + data = length 24, hash 68440BF5 + sample 80: + time = 1600000 + flags = 1 + data = length 24, hash 5BD41AD6 + sample 81: + time = 1620000 + flags = 1 + data = length 24, hash 91A381 + sample 82: + time = 1640000 + flags = 1 + data = length 24, hash 8010C408 + sample 83: + time = 1660000 + flags = 1 + data = length 24, hash 482274BE + sample 84: + time = 1680000 + flags = 1 + data = length 24, hash D7DB8BCC + sample 85: + time = 1700000 + flags = 1 + data = length 24, hash 680BD9DD + sample 86: + time = 1720000 + flags = 1 + data = length 24, hash E313577C + sample 87: + time = 1740000 + flags = 1 + data = length 24, hash 9C10B0CD + sample 88: + time = 1760000 + flags = 1 + data = length 24, hash 2D90AC02 + sample 89: + time = 1780000 + flags = 1 + data = length 24, hash 64E8C245 + sample 90: + time = 1800000 + flags = 1 + data = length 24, hash 3954AC1B + sample 91: + time = 1820000 + flags = 1 + data = length 24, hash ACB8999F + sample 92: + time = 1840000 + flags = 1 + data = length 24, hash 43AE3957 + sample 93: + time = 1860000 + flags = 1 + data = length 24, hash 3C664DB7 + sample 94: + time = 1880000 + flags = 1 + data = length 24, hash 9354B576 + sample 95: + time = 1900000 + flags = 1 + data = length 24, hash B5B9C14E + sample 96: + time = 1920000 + flags = 1 + data = length 24, hash 7DA9C98F + sample 97: + time = 1940000 + flags = 1 + data = length 24, hash EFEE54C6 + sample 98: + time = 1960000 + flags = 1 + data = length 24, hash 79DC8CBD + sample 99: + time = 1980000 + flags = 1 + data = length 24, hash A71A475C + sample 100: + time = 2000000 + flags = 1 + data = length 24, hash CA1CBB94 + sample 101: + time = 2020000 + flags = 1 + data = length 24, hash 91922226 + sample 102: + time = 2040000 + flags = 1 + data = length 24, hash C90278BC + sample 103: + time = 2060000 + flags = 1 + data = length 24, hash BD51986F + sample 104: + time = 2080000 + flags = 1 + data = length 24, hash 90AEF368 + sample 105: + time = 2100000 + flags = 1 + data = length 24, hash 1D83C955 + sample 106: + time = 2120000 + flags = 1 + data = length 24, hash 8FA9A915 + sample 107: + time = 2140000 + flags = 1 + data = length 24, hash C6C753E0 + sample 108: + time = 2160000 + flags = 1 + data = length 24, hash 85FA27A7 + sample 109: + time = 2180000 + flags = 1 + data = length 24, hash A0277324 + sample 110: + time = 2200000 + flags = 1 + data = length 24, hash B7696535 + sample 111: + time = 2220000 + flags = 1 + data = length 24, hash D69D668C + sample 112: + time = 2240000 + flags = 1 + data = length 24, hash 34C057CD + sample 113: + time = 2260000 + flags = 1 + data = length 24, hash 4EC5E974 + sample 114: + time = 2280000 + flags = 1 + data = length 24, hash 1C1CD40D + sample 115: + time = 2300000 + flags = 1 + data = length 24, hash 76CC54BC + sample 116: + time = 2320000 + flags = 1 + data = length 24, hash D497ACF5 + sample 117: + time = 2340000 + flags = 1 + data = length 24, hash A1386080 + sample 118: + time = 2360000 + flags = 1 + data = length 24, hash 7ED36954 + sample 119: + time = 2380000 + flags = 1 + data = length 24, hash C11A3BF9 + sample 120: + time = 2400000 + flags = 1 + data = length 24, hash 8FB69488 + sample 121: + time = 2420000 + flags = 1 + data = length 24, hash C6225F59 + sample 122: + time = 2440000 + flags = 1 + data = length 24, hash 122AB6D2 + sample 123: + time = 2460000 + flags = 1 + data = length 24, hash 1E195E7D + sample 124: + time = 2480000 + flags = 1 + data = length 24, hash BD3DF418 + sample 125: + time = 2500000 + flags = 1 + data = length 24, hash D8AE4A5 + sample 126: + time = 2520000 + flags = 1 + data = length 24, hash 977BD182 + sample 127: + time = 2540000 + flags = 1 + data = length 24, hash F361F060 + sample 128: + time = 2560000 + flags = 1 + data = length 24, hash 11EC8CD0 + sample 129: + time = 2580000 + flags = 1 + data = length 24, hash 3798F3D2 + sample 130: + time = 2600000 + flags = 1 + data = length 24, hash B2C2517C + sample 131: + time = 2620000 + flags = 1 + data = length 24, hash FBE0D0D8 + sample 132: + time = 2640000 + flags = 1 + data = length 24, hash 7033172F + sample 133: + time = 2660000 + flags = 1 + data = length 24, hash BE760029 + sample 134: + time = 2680000 + flags = 1 + data = length 24, hash 590AF28C + sample 135: + time = 2700000 + flags = 1 + data = length 24, hash AD28C48F + sample 136: + time = 2720000 + flags = 1 + data = length 24, hash 640AA61B + sample 137: + time = 2740000 + flags = 1 + data = length 24, hash ABE659B + sample 138: + time = 2760000 + flags = 1 + data = length 24, hash ED2691D2 + sample 139: + time = 2780000 + flags = 1 + data = length 24, hash D998C80E + sample 140: + time = 2800000 + flags = 1 + data = length 24, hash 8DC0DF5C + sample 141: + time = 2820000 + flags = 1 + data = length 24, hash 7692247B + sample 142: + time = 2840000 + flags = 1 + data = length 24, hash C1D1CCB9 + sample 143: + time = 2860000 + flags = 1 + data = length 24, hash 362CE78E + sample 144: + time = 2880000 + flags = 1 + data = length 24, hash 54FA84A + sample 145: + time = 2900000 + flags = 1 + data = length 24, hash 29E88C84 + sample 146: + time = 2920000 + flags = 1 + data = length 24, hash 1CD848AC + sample 147: + time = 2940000 + flags = 1 + data = length 24, hash 5C3D4A79 + sample 148: + time = 2960000 + flags = 1 + data = length 24, hash 1AA8E604 + sample 149: + time = 2980000 + flags = 1 + data = length 24, hash 186A4316 + sample 150: + time = 3000000 + flags = 1 + data = length 24, hash 61ACE481 + sample 151: + time = 3020000 + flags = 1 + data = length 24, hash D0C42780 + sample 152: + time = 3040000 + flags = 1 + data = length 24, hash FAD51BA1 + sample 153: + time = 3060000 + flags = 1 + data = length 24, hash F1A9AC71 + sample 154: + time = 3080000 + flags = 1 + data = length 24, hash 24425449 + sample 155: + time = 3100000 + flags = 1 + data = length 24, hash 37AAC3E6 + sample 156: + time = 3120000 + flags = 1 + data = length 24, hash 91F68CB4 + sample 157: + time = 3140000 + flags = 1 + data = length 24, hash F8C92820 + sample 158: + time = 3160000 + flags = 1 + data = length 24, hash ECD39C3E + sample 159: + time = 3180000 + flags = 1 + data = length 24, hash B27D8F78 + sample 160: + time = 3200000 + flags = 1 + data = length 24, hash C9EB3DFB + sample 161: + time = 3220000 + flags = 1 + data = length 24, hash 88DC54A2 + sample 162: + time = 3240000 + flags = 1 + data = length 24, hash 7FC4C5BE + sample 163: + time = 3260000 + flags = 1 + data = length 24, hash E4F684EF + sample 164: + time = 3280000 + flags = 1 + data = length 24, hash 55C08B56 + sample 165: + time = 3300000 + flags = 1 + data = length 24, hash E5A0F006 + sample 166: + time = 3320000 + flags = 1 + data = length 24, hash DE3F3AA7 + sample 167: + time = 3340000 + flags = 1 + data = length 24, hash 3F28AE7F + sample 168: + time = 3360000 + flags = 1 + data = length 24, hash 3949CAFF + sample 169: + time = 3380000 + flags = 1 + data = length 24, hash 772665A0 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.1.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.1.dump new file mode 100644 index 0000000000..70b19f8e6a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.1.dump @@ -0,0 +1,477 @@ +seekMap: + isSeekable = true + duration = 3400000 + getPosition(0) = [[timeUs=0, position=9]] + getPosition(1) = [[timeUs=0, position=9], [timeUs=100000, position=129]] + getPosition(1700000) = [[timeUs=1700000, position=2026]] + getPosition(3400000) = [[timeUs=3400000, position=4066]] +numberOfTracks = 1 +track 0: + total output bytes = 2760 + sample count = 115 + format 0: + sampleMimeType = audio/amr-wb + maxInputSize = 61 + channelCount = 1 + sampleRate = 16000 + sample 0: + time = 1100000 + flags = 1 + data = length 24, hash 99096A48 + sample 1: + time = 1120000 + flags = 1 + data = length 24, hash D793F88B + sample 2: + time = 1140000 + flags = 1 + data = length 24, hash EEB921BD + sample 3: + time = 1160000 + flags = 1 + data = length 24, hash 8B941A4C + sample 4: + time = 1180000 + flags = 1 + data = length 24, hash ED5F5FEE + sample 5: + time = 1200000 + flags = 1 + data = length 24, hash A588E0BB + sample 6: + time = 1220000 + flags = 1 + data = length 24, hash 588CBC01 + sample 7: + time = 1240000 + flags = 1 + data = length 24, hash DE22266C + sample 8: + time = 1260000 + flags = 1 + data = length 24, hash 921B6E5C + sample 9: + time = 1280000 + flags = 1 + data = length 24, hash EC11F041 + sample 10: + time = 1300000 + flags = 1 + data = length 24, hash 5BA9E0A3 + sample 11: + time = 1320000 + flags = 1 + data = length 24, hash DB6D52F3 + sample 12: + time = 1340000 + flags = 1 + data = length 24, hash 8EEBE525 + sample 13: + time = 1360000 + flags = 1 + data = length 24, hash 47A742AE + sample 14: + time = 1380000 + flags = 1 + data = length 24, hash E93F1E03 + sample 15: + time = 1400000 + flags = 1 + data = length 24, hash 3251F57C + sample 16: + time = 1420000 + flags = 1 + data = length 24, hash 3EDBBBDD + sample 17: + time = 1440000 + flags = 1 + data = length 24, hash 2E98465A + sample 18: + time = 1460000 + flags = 1 + data = length 24, hash A09EA52E + sample 19: + time = 1480000 + flags = 1 + data = length 24, hash A2A86FA6 + sample 20: + time = 1500000 + flags = 1 + data = length 24, hash 71DCD51C + sample 21: + time = 1520000 + flags = 1 + data = length 24, hash 2B02DEE1 + sample 22: + time = 1540000 + flags = 1 + data = length 24, hash 7A725192 + sample 23: + time = 1560000 + flags = 1 + data = length 24, hash 929AD483 + sample 24: + time = 1580000 + flags = 1 + data = length 24, hash 68440BF5 + sample 25: + time = 1600000 + flags = 1 + data = length 24, hash 5BD41AD6 + sample 26: + time = 1620000 + flags = 1 + data = length 24, hash 91A381 + sample 27: + time = 1640000 + flags = 1 + data = length 24, hash 8010C408 + sample 28: + time = 1660000 + flags = 1 + data = length 24, hash 482274BE + sample 29: + time = 1680000 + flags = 1 + data = length 24, hash D7DB8BCC + sample 30: + time = 1700000 + flags = 1 + data = length 24, hash 680BD9DD + sample 31: + time = 1720000 + flags = 1 + data = length 24, hash E313577C + sample 32: + time = 1740000 + flags = 1 + data = length 24, hash 9C10B0CD + sample 33: + time = 1760000 + flags = 1 + data = length 24, hash 2D90AC02 + sample 34: + time = 1780000 + flags = 1 + data = length 24, hash 64E8C245 + sample 35: + time = 1800000 + flags = 1 + data = length 24, hash 3954AC1B + sample 36: + time = 1820000 + flags = 1 + data = length 24, hash ACB8999F + sample 37: + time = 1840000 + flags = 1 + data = length 24, hash 43AE3957 + sample 38: + time = 1860000 + flags = 1 + data = length 24, hash 3C664DB7 + sample 39: + time = 1880000 + flags = 1 + data = length 24, hash 9354B576 + sample 40: + time = 1900000 + flags = 1 + data = length 24, hash B5B9C14E + sample 41: + time = 1920000 + flags = 1 + data = length 24, hash 7DA9C98F + sample 42: + time = 1940000 + flags = 1 + data = length 24, hash EFEE54C6 + sample 43: + time = 1960000 + flags = 1 + data = length 24, hash 79DC8CBD + sample 44: + time = 1980000 + flags = 1 + data = length 24, hash A71A475C + sample 45: + time = 2000000 + flags = 1 + data = length 24, hash CA1CBB94 + sample 46: + time = 2020000 + flags = 1 + data = length 24, hash 91922226 + sample 47: + time = 2040000 + flags = 1 + data = length 24, hash C90278BC + sample 48: + time = 2060000 + flags = 1 + data = length 24, hash BD51986F + sample 49: + time = 2080000 + flags = 1 + data = length 24, hash 90AEF368 + sample 50: + time = 2100000 + flags = 1 + data = length 24, hash 1D83C955 + sample 51: + time = 2120000 + flags = 1 + data = length 24, hash 8FA9A915 + sample 52: + time = 2140000 + flags = 1 + data = length 24, hash C6C753E0 + sample 53: + time = 2160000 + flags = 1 + data = length 24, hash 85FA27A7 + sample 54: + time = 2180000 + flags = 1 + data = length 24, hash A0277324 + sample 55: + time = 2200000 + flags = 1 + data = length 24, hash B7696535 + sample 56: + time = 2220000 + flags = 1 + data = length 24, hash D69D668C + sample 57: + time = 2240000 + flags = 1 + data = length 24, hash 34C057CD + sample 58: + time = 2260000 + flags = 1 + data = length 24, hash 4EC5E974 + sample 59: + time = 2280000 + flags = 1 + data = length 24, hash 1C1CD40D + sample 60: + time = 2300000 + flags = 1 + data = length 24, hash 76CC54BC + sample 61: + time = 2320000 + flags = 1 + data = length 24, hash D497ACF5 + sample 62: + time = 2340000 + flags = 1 + data = length 24, hash A1386080 + sample 63: + time = 2360000 + flags = 1 + data = length 24, hash 7ED36954 + sample 64: + time = 2380000 + flags = 1 + data = length 24, hash C11A3BF9 + sample 65: + time = 2400000 + flags = 1 + data = length 24, hash 8FB69488 + sample 66: + time = 2420000 + flags = 1 + data = length 24, hash C6225F59 + sample 67: + time = 2440000 + flags = 1 + data = length 24, hash 122AB6D2 + sample 68: + time = 2460000 + flags = 1 + data = length 24, hash 1E195E7D + sample 69: + time = 2480000 + flags = 1 + data = length 24, hash BD3DF418 + sample 70: + time = 2500000 + flags = 1 + data = length 24, hash D8AE4A5 + sample 71: + time = 2520000 + flags = 1 + data = length 24, hash 977BD182 + sample 72: + time = 2540000 + flags = 1 + data = length 24, hash F361F060 + sample 73: + time = 2560000 + flags = 1 + data = length 24, hash 11EC8CD0 + sample 74: + time = 2580000 + flags = 1 + data = length 24, hash 3798F3D2 + sample 75: + time = 2600000 + flags = 1 + data = length 24, hash B2C2517C + sample 76: + time = 2620000 + flags = 1 + data = length 24, hash FBE0D0D8 + sample 77: + time = 2640000 + flags = 1 + data = length 24, hash 7033172F + sample 78: + time = 2660000 + flags = 1 + data = length 24, hash BE760029 + sample 79: + time = 2680000 + flags = 1 + data = length 24, hash 590AF28C + sample 80: + time = 2700000 + flags = 1 + data = length 24, hash AD28C48F + sample 81: + time = 2720000 + flags = 1 + data = length 24, hash 640AA61B + sample 82: + time = 2740000 + flags = 1 + data = length 24, hash ABE659B + sample 83: + time = 2760000 + flags = 1 + data = length 24, hash ED2691D2 + sample 84: + time = 2780000 + flags = 1 + data = length 24, hash D998C80E + sample 85: + time = 2800000 + flags = 1 + data = length 24, hash 8DC0DF5C + sample 86: + time = 2820000 + flags = 1 + data = length 24, hash 7692247B + sample 87: + time = 2840000 + flags = 1 + data = length 24, hash C1D1CCB9 + sample 88: + time = 2860000 + flags = 1 + data = length 24, hash 362CE78E + sample 89: + time = 2880000 + flags = 1 + data = length 24, hash 54FA84A + sample 90: + time = 2900000 + flags = 1 + data = length 24, hash 29E88C84 + sample 91: + time = 2920000 + flags = 1 + data = length 24, hash 1CD848AC + sample 92: + time = 2940000 + flags = 1 + data = length 24, hash 5C3D4A79 + sample 93: + time = 2960000 + flags = 1 + data = length 24, hash 1AA8E604 + sample 94: + time = 2980000 + flags = 1 + data = length 24, hash 186A4316 + sample 95: + time = 3000000 + flags = 1 + data = length 24, hash 61ACE481 + sample 96: + time = 3020000 + flags = 1 + data = length 24, hash D0C42780 + sample 97: + time = 3040000 + flags = 1 + data = length 24, hash FAD51BA1 + sample 98: + time = 3060000 + flags = 1 + data = length 24, hash F1A9AC71 + sample 99: + time = 3080000 + flags = 1 + data = length 24, hash 24425449 + sample 100: + time = 3100000 + flags = 1 + data = length 24, hash 37AAC3E6 + sample 101: + time = 3120000 + flags = 1 + data = length 24, hash 91F68CB4 + sample 102: + time = 3140000 + flags = 1 + data = length 24, hash F8C92820 + sample 103: + time = 3160000 + flags = 1 + data = length 24, hash ECD39C3E + sample 104: + time = 3180000 + flags = 1 + data = length 24, hash B27D8F78 + sample 105: + time = 3200000 + flags = 1 + data = length 24, hash C9EB3DFB + sample 106: + time = 3220000 + flags = 1 + data = length 24, hash 88DC54A2 + sample 107: + time = 3240000 + flags = 1 + data = length 24, hash 7FC4C5BE + sample 108: + time = 3260000 + flags = 1 + data = length 24, hash E4F684EF + sample 109: + time = 3280000 + flags = 1 + data = length 24, hash 55C08B56 + sample 110: + time = 3300000 + flags = 1 + data = length 24, hash E5A0F006 + sample 111: + time = 3320000 + flags = 1 + data = length 24, hash DE3F3AA7 + sample 112: + time = 3340000 + flags = 1 + data = length 24, hash 3F28AE7F + sample 113: + time = 3360000 + flags = 1 + data = length 24, hash 3949CAFF + sample 114: + time = 3380000 + flags = 1 + data = length 24, hash 772665A0 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.2.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.2.dump new file mode 100644 index 0000000000..4108303d2c --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.2.dump @@ -0,0 +1,249 @@ +seekMap: + isSeekable = true + duration = 3400000 + getPosition(0) = [[timeUs=0, position=9]] + getPosition(1) = [[timeUs=0, position=9], [timeUs=100000, position=129]] + getPosition(1700000) = [[timeUs=1700000, position=2026]] + getPosition(3400000) = [[timeUs=3400000, position=4066]] +numberOfTracks = 1 +track 0: + total output bytes = 1392 + sample count = 58 + format 0: + sampleMimeType = audio/amr-wb + maxInputSize = 61 + channelCount = 1 + sampleRate = 16000 + sample 0: + time = 2240000 + flags = 1 + data = length 24, hash 34C057CD + sample 1: + time = 2260000 + flags = 1 + data = length 24, hash 4EC5E974 + sample 2: + time = 2280000 + flags = 1 + data = length 24, hash 1C1CD40D + sample 3: + time = 2300000 + flags = 1 + data = length 24, hash 76CC54BC + sample 4: + time = 2320000 + flags = 1 + data = length 24, hash D497ACF5 + sample 5: + time = 2340000 + flags = 1 + data = length 24, hash A1386080 + sample 6: + time = 2360000 + flags = 1 + data = length 24, hash 7ED36954 + sample 7: + time = 2380000 + flags = 1 + data = length 24, hash C11A3BF9 + sample 8: + time = 2400000 + flags = 1 + data = length 24, hash 8FB69488 + sample 9: + time = 2420000 + flags = 1 + data = length 24, hash C6225F59 + sample 10: + time = 2440000 + flags = 1 + data = length 24, hash 122AB6D2 + sample 11: + time = 2460000 + flags = 1 + data = length 24, hash 1E195E7D + sample 12: + time = 2480000 + flags = 1 + data = length 24, hash BD3DF418 + sample 13: + time = 2500000 + flags = 1 + data = length 24, hash D8AE4A5 + sample 14: + time = 2520000 + flags = 1 + data = length 24, hash 977BD182 + sample 15: + time = 2540000 + flags = 1 + data = length 24, hash F361F060 + sample 16: + time = 2560000 + flags = 1 + data = length 24, hash 11EC8CD0 + sample 17: + time = 2580000 + flags = 1 + data = length 24, hash 3798F3D2 + sample 18: + time = 2600000 + flags = 1 + data = length 24, hash B2C2517C + sample 19: + time = 2620000 + flags = 1 + data = length 24, hash FBE0D0D8 + sample 20: + time = 2640000 + flags = 1 + data = length 24, hash 7033172F + sample 21: + time = 2660000 + flags = 1 + data = length 24, hash BE760029 + sample 22: + time = 2680000 + flags = 1 + data = length 24, hash 590AF28C + sample 23: + time = 2700000 + flags = 1 + data = length 24, hash AD28C48F + sample 24: + time = 2720000 + flags = 1 + data = length 24, hash 640AA61B + sample 25: + time = 2740000 + flags = 1 + data = length 24, hash ABE659B + sample 26: + time = 2760000 + flags = 1 + data = length 24, hash ED2691D2 + sample 27: + time = 2780000 + flags = 1 + data = length 24, hash D998C80E + sample 28: + time = 2800000 + flags = 1 + data = length 24, hash 8DC0DF5C + sample 29: + time = 2820000 + flags = 1 + data = length 24, hash 7692247B + sample 30: + time = 2840000 + flags = 1 + data = length 24, hash C1D1CCB9 + sample 31: + time = 2860000 + flags = 1 + data = length 24, hash 362CE78E + sample 32: + time = 2880000 + flags = 1 + data = length 24, hash 54FA84A + sample 33: + time = 2900000 + flags = 1 + data = length 24, hash 29E88C84 + sample 34: + time = 2920000 + flags = 1 + data = length 24, hash 1CD848AC + sample 35: + time = 2940000 + flags = 1 + data = length 24, hash 5C3D4A79 + sample 36: + time = 2960000 + flags = 1 + data = length 24, hash 1AA8E604 + sample 37: + time = 2980000 + flags = 1 + data = length 24, hash 186A4316 + sample 38: + time = 3000000 + flags = 1 + data = length 24, hash 61ACE481 + sample 39: + time = 3020000 + flags = 1 + data = length 24, hash D0C42780 + sample 40: + time = 3040000 + flags = 1 + data = length 24, hash FAD51BA1 + sample 41: + time = 3060000 + flags = 1 + data = length 24, hash F1A9AC71 + sample 42: + time = 3080000 + flags = 1 + data = length 24, hash 24425449 + sample 43: + time = 3100000 + flags = 1 + data = length 24, hash 37AAC3E6 + sample 44: + time = 3120000 + flags = 1 + data = length 24, hash 91F68CB4 + sample 45: + time = 3140000 + flags = 1 + data = length 24, hash F8C92820 + sample 46: + time = 3160000 + flags = 1 + data = length 24, hash ECD39C3E + sample 47: + time = 3180000 + flags = 1 + data = length 24, hash B27D8F78 + sample 48: + time = 3200000 + flags = 1 + data = length 24, hash C9EB3DFB + sample 49: + time = 3220000 + flags = 1 + data = length 24, hash 88DC54A2 + sample 50: + time = 3240000 + flags = 1 + data = length 24, hash 7FC4C5BE + sample 51: + time = 3260000 + flags = 1 + data = length 24, hash E4F684EF + sample 52: + time = 3280000 + flags = 1 + data = length 24, hash 55C08B56 + sample 53: + time = 3300000 + flags = 1 + data = length 24, hash E5A0F006 + sample 54: + time = 3320000 + flags = 1 + data = length 24, hash DE3F3AA7 + sample 55: + time = 3340000 + flags = 1 + data = length 24, hash 3F28AE7F + sample 56: + time = 3360000 + flags = 1 + data = length 24, hash 3949CAFF + sample 57: + time = 3380000 + flags = 1 + data = length 24, hash 772665A0 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.3.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.3.dump new file mode 100644 index 0000000000..e241f5a9c0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 3400000 + getPosition(0) = [[timeUs=0, position=9]] + getPosition(1) = [[timeUs=0, position=9], [timeUs=100000, position=129]] + getPosition(1700000) = [[timeUs=1700000, position=2026]] + getPosition(3400000) = [[timeUs=3400000, position=4066]] +numberOfTracks = 1 +track 0: + total output bytes = 0 + sample count = 0 + format 0: + sampleMimeType = audio/amr-wb + maxInputSize = 61 + channelCount = 1 + sampleRate = 16000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.unknown_length.dump new file mode 100644 index 0000000000..694fd92a3c --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/amr/sample_wb_with_silence_frames.amr.unknown_length.dump @@ -0,0 +1,697 @@ +seekMap: + isSeekable = true + duration = 3400000 + getPosition(0) = [[timeUs=0, position=9]] + getPosition(1) = [[timeUs=0, position=9], [timeUs=100000, position=129]] + getPosition(1700000) = [[timeUs=1700000, position=2026]] + getPosition(3400000) = [[timeUs=3400000, position=4066]] +numberOfTracks = 1 +track 0: + total output bytes = 4057 + sample count = 170 + format 0: + sampleMimeType = audio/amr-wb + maxInputSize = 61 + channelCount = 1 + sampleRate = 16000 + sample 0: + time = 0 + flags = 1 + data = length 24, hash C3025798 + sample 1: + time = 20000 + flags = 1 + data = length 24, hash 39CABAE9 + sample 2: + time = 40000 + flags = 1 + data = length 24, hash 2752F470 + sample 3: + time = 60000 + flags = 1 + data = length 24, hash 394F76F6 + sample 4: + time = 80000 + flags = 1 + data = length 24, hash FF9EEF + sample 5: + time = 100000 + flags = 1 + data = length 24, hash 54ECB1B4 + sample 6: + time = 120000 + flags = 1 + data = length 24, hash 6D7A3A5F + sample 7: + time = 140000 + flags = 1 + data = length 24, hash 684CD144 + sample 8: + time = 160000 + flags = 1 + data = length 24, hash 87B7D176 + sample 9: + time = 180000 + flags = 1 + data = length 24, hash 4C02F9A5 + sample 10: + time = 200000 + flags = 1 + data = length 24, hash B4154108 + sample 11: + time = 220000 + flags = 1 + data = length 24, hash 4448F477 + sample 12: + time = 240000 + flags = 1 + data = length 24, hash 755A4939 + sample 13: + time = 260000 + flags = 1 + data = length 24, hash 8C8BC6C3 + sample 14: + time = 280000 + flags = 1 + data = length 24, hash BC37F63F + sample 15: + time = 300000 + flags = 1 + data = length 24, hash 3352C43C + sample 16: + time = 320000 + flags = 1 + data = length 24, hash 7998E1F2 + sample 17: + time = 340000 + flags = 1 + data = length 24, hash A8ECBEFC + sample 18: + time = 360000 + flags = 1 + data = length 24, hash 944AC118 + sample 19: + time = 380000 + flags = 1 + data = length 24, hash FD2C8E1F + sample 20: + time = 400000 + flags = 1 + data = length 1, hash 9B + sample 21: + time = 420000 + flags = 1 + data = length 24, hash B3D867AF + sample 22: + time = 440000 + flags = 1 + data = length 24, hash 3DC6E592 + sample 23: + time = 460000 + flags = 1 + data = length 24, hash 32B276CD + sample 24: + time = 480000 + flags = 1 + data = length 24, hash 5488AEF3 + sample 25: + time = 500000 + flags = 1 + data = length 24, hash 7A4D516 + sample 26: + time = 520000 + flags = 1 + data = length 24, hash 570AE83F + sample 27: + time = 540000 + flags = 1 + data = length 24, hash E5CB3477 + sample 28: + time = 560000 + flags = 1 + data = length 24, hash E04C00E4 + sample 29: + time = 580000 + flags = 1 + data = length 24, hash 21B7C97 + sample 30: + time = 600000 + flags = 1 + data = length 24, hash 1633F470 + sample 31: + time = 620000 + flags = 1 + data = length 24, hash 28D65CA6 + sample 32: + time = 640000 + flags = 1 + data = length 24, hash CC6A675C + sample 33: + time = 660000 + flags = 1 + data = length 24, hash 4C91080A + sample 34: + time = 680000 + flags = 1 + data = length 24, hash F6482FB5 + sample 35: + time = 700000 + flags = 1 + data = length 24, hash 2C76F48C + sample 36: + time = 720000 + flags = 1 + data = length 24, hash 6E3B0D72 + sample 37: + time = 740000 + flags = 1 + data = length 24, hash 799AA003 + sample 38: + time = 760000 + flags = 1 + data = length 24, hash DFC0BA81 + sample 39: + time = 780000 + flags = 1 + data = length 24, hash CBDF3826 + sample 40: + time = 800000 + flags = 1 + data = length 24, hash 16862B75 + sample 41: + time = 820000 + flags = 1 + data = length 24, hash 865A828E + sample 42: + time = 840000 + flags = 1 + data = length 24, hash 336BBDC9 + sample 43: + time = 860000 + flags = 1 + data = length 24, hash 6CFC6C34 + sample 44: + time = 880000 + flags = 1 + data = length 24, hash 32C8CD46 + sample 45: + time = 900000 + flags = 1 + data = length 24, hash 9FE11C4C + sample 46: + time = 920000 + flags = 1 + data = length 24, hash AA5A12B7 + sample 47: + time = 940000 + flags = 1 + data = length 24, hash AA0F4A4D + sample 48: + time = 960000 + flags = 1 + data = length 24, hash 34415484 + sample 49: + time = 980000 + flags = 1 + data = length 24, hash 5018928E + sample 50: + time = 1000000 + flags = 1 + data = length 24, hash 4A04D162 + sample 51: + time = 1020000 + flags = 1 + data = length 24, hash 4C70F9F0 + sample 52: + time = 1040000 + flags = 1 + data = length 24, hash 99EF3168 + sample 53: + time = 1060000 + flags = 1 + data = length 24, hash C600DAF + sample 54: + time = 1080000 + flags = 1 + data = length 24, hash FDBB192E + sample 55: + time = 1100000 + flags = 1 + data = length 24, hash 99096A48 + sample 56: + time = 1120000 + flags = 1 + data = length 24, hash D793F88B + sample 57: + time = 1140000 + flags = 1 + data = length 24, hash EEB921BD + sample 58: + time = 1160000 + flags = 1 + data = length 24, hash 8B941A4C + sample 59: + time = 1180000 + flags = 1 + data = length 24, hash ED5F5FEE + sample 60: + time = 1200000 + flags = 1 + data = length 24, hash A588E0BB + sample 61: + time = 1220000 + flags = 1 + data = length 24, hash 588CBC01 + sample 62: + time = 1240000 + flags = 1 + data = length 24, hash DE22266C + sample 63: + time = 1260000 + flags = 1 + data = length 24, hash 921B6E5C + sample 64: + time = 1280000 + flags = 1 + data = length 24, hash EC11F041 + sample 65: + time = 1300000 + flags = 1 + data = length 24, hash 5BA9E0A3 + sample 66: + time = 1320000 + flags = 1 + data = length 24, hash DB6D52F3 + sample 67: + time = 1340000 + flags = 1 + data = length 24, hash 8EEBE525 + sample 68: + time = 1360000 + flags = 1 + data = length 24, hash 47A742AE + sample 69: + time = 1380000 + flags = 1 + data = length 24, hash E93F1E03 + sample 70: + time = 1400000 + flags = 1 + data = length 24, hash 3251F57C + sample 71: + time = 1420000 + flags = 1 + data = length 24, hash 3EDBBBDD + sample 72: + time = 1440000 + flags = 1 + data = length 24, hash 2E98465A + sample 73: + time = 1460000 + flags = 1 + data = length 24, hash A09EA52E + sample 74: + time = 1480000 + flags = 1 + data = length 24, hash A2A86FA6 + sample 75: + time = 1500000 + flags = 1 + data = length 24, hash 71DCD51C + sample 76: + time = 1520000 + flags = 1 + data = length 24, hash 2B02DEE1 + sample 77: + time = 1540000 + flags = 1 + data = length 24, hash 7A725192 + sample 78: + time = 1560000 + flags = 1 + data = length 24, hash 929AD483 + sample 79: + time = 1580000 + flags = 1 + data = length 24, hash 68440BF5 + sample 80: + time = 1600000 + flags = 1 + data = length 24, hash 5BD41AD6 + sample 81: + time = 1620000 + flags = 1 + data = length 24, hash 91A381 + sample 82: + time = 1640000 + flags = 1 + data = length 24, hash 8010C408 + sample 83: + time = 1660000 + flags = 1 + data = length 24, hash 482274BE + sample 84: + time = 1680000 + flags = 1 + data = length 24, hash D7DB8BCC + sample 85: + time = 1700000 + flags = 1 + data = length 24, hash 680BD9DD + sample 86: + time = 1720000 + flags = 1 + data = length 24, hash E313577C + sample 87: + time = 1740000 + flags = 1 + data = length 24, hash 9C10B0CD + sample 88: + time = 1760000 + flags = 1 + data = length 24, hash 2D90AC02 + sample 89: + time = 1780000 + flags = 1 + data = length 24, hash 64E8C245 + sample 90: + time = 1800000 + flags = 1 + data = length 24, hash 3954AC1B + sample 91: + time = 1820000 + flags = 1 + data = length 24, hash ACB8999F + sample 92: + time = 1840000 + flags = 1 + data = length 24, hash 43AE3957 + sample 93: + time = 1860000 + flags = 1 + data = length 24, hash 3C664DB7 + sample 94: + time = 1880000 + flags = 1 + data = length 24, hash 9354B576 + sample 95: + time = 1900000 + flags = 1 + data = length 24, hash B5B9C14E + sample 96: + time = 1920000 + flags = 1 + data = length 24, hash 7DA9C98F + sample 97: + time = 1940000 + flags = 1 + data = length 24, hash EFEE54C6 + sample 98: + time = 1960000 + flags = 1 + data = length 24, hash 79DC8CBD + sample 99: + time = 1980000 + flags = 1 + data = length 24, hash A71A475C + sample 100: + time = 2000000 + flags = 1 + data = length 24, hash CA1CBB94 + sample 101: + time = 2020000 + flags = 1 + data = length 24, hash 91922226 + sample 102: + time = 2040000 + flags = 1 + data = length 24, hash C90278BC + sample 103: + time = 2060000 + flags = 1 + data = length 24, hash BD51986F + sample 104: + time = 2080000 + flags = 1 + data = length 24, hash 90AEF368 + sample 105: + time = 2100000 + flags = 1 + data = length 24, hash 1D83C955 + sample 106: + time = 2120000 + flags = 1 + data = length 24, hash 8FA9A915 + sample 107: + time = 2140000 + flags = 1 + data = length 24, hash C6C753E0 + sample 108: + time = 2160000 + flags = 1 + data = length 24, hash 85FA27A7 + sample 109: + time = 2180000 + flags = 1 + data = length 24, hash A0277324 + sample 110: + time = 2200000 + flags = 1 + data = length 24, hash B7696535 + sample 111: + time = 2220000 + flags = 1 + data = length 24, hash D69D668C + sample 112: + time = 2240000 + flags = 1 + data = length 24, hash 34C057CD + sample 113: + time = 2260000 + flags = 1 + data = length 24, hash 4EC5E974 + sample 114: + time = 2280000 + flags = 1 + data = length 24, hash 1C1CD40D + sample 115: + time = 2300000 + flags = 1 + data = length 24, hash 76CC54BC + sample 116: + time = 2320000 + flags = 1 + data = length 24, hash D497ACF5 + sample 117: + time = 2340000 + flags = 1 + data = length 24, hash A1386080 + sample 118: + time = 2360000 + flags = 1 + data = length 24, hash 7ED36954 + sample 119: + time = 2380000 + flags = 1 + data = length 24, hash C11A3BF9 + sample 120: + time = 2400000 + flags = 1 + data = length 24, hash 8FB69488 + sample 121: + time = 2420000 + flags = 1 + data = length 24, hash C6225F59 + sample 122: + time = 2440000 + flags = 1 + data = length 24, hash 122AB6D2 + sample 123: + time = 2460000 + flags = 1 + data = length 24, hash 1E195E7D + sample 124: + time = 2480000 + flags = 1 + data = length 24, hash BD3DF418 + sample 125: + time = 2500000 + flags = 1 + data = length 24, hash D8AE4A5 + sample 126: + time = 2520000 + flags = 1 + data = length 24, hash 977BD182 + sample 127: + time = 2540000 + flags = 1 + data = length 24, hash F361F060 + sample 128: + time = 2560000 + flags = 1 + data = length 24, hash 11EC8CD0 + sample 129: + time = 2580000 + flags = 1 + data = length 24, hash 3798F3D2 + sample 130: + time = 2600000 + flags = 1 + data = length 24, hash B2C2517C + sample 131: + time = 2620000 + flags = 1 + data = length 24, hash FBE0D0D8 + sample 132: + time = 2640000 + flags = 1 + data = length 24, hash 7033172F + sample 133: + time = 2660000 + flags = 1 + data = length 24, hash BE760029 + sample 134: + time = 2680000 + flags = 1 + data = length 24, hash 590AF28C + sample 135: + time = 2700000 + flags = 1 + data = length 24, hash AD28C48F + sample 136: + time = 2720000 + flags = 1 + data = length 24, hash 640AA61B + sample 137: + time = 2740000 + flags = 1 + data = length 24, hash ABE659B + sample 138: + time = 2760000 + flags = 1 + data = length 24, hash ED2691D2 + sample 139: + time = 2780000 + flags = 1 + data = length 24, hash D998C80E + sample 140: + time = 2800000 + flags = 1 + data = length 24, hash 8DC0DF5C + sample 141: + time = 2820000 + flags = 1 + data = length 24, hash 7692247B + sample 142: + time = 2840000 + flags = 1 + data = length 24, hash C1D1CCB9 + sample 143: + time = 2860000 + flags = 1 + data = length 24, hash 362CE78E + sample 144: + time = 2880000 + flags = 1 + data = length 24, hash 54FA84A + sample 145: + time = 2900000 + flags = 1 + data = length 24, hash 29E88C84 + sample 146: + time = 2920000 + flags = 1 + data = length 24, hash 1CD848AC + sample 147: + time = 2940000 + flags = 1 + data = length 24, hash 5C3D4A79 + sample 148: + time = 2960000 + flags = 1 + data = length 24, hash 1AA8E604 + sample 149: + time = 2980000 + flags = 1 + data = length 24, hash 186A4316 + sample 150: + time = 3000000 + flags = 1 + data = length 24, hash 61ACE481 + sample 151: + time = 3020000 + flags = 1 + data = length 24, hash D0C42780 + sample 152: + time = 3040000 + flags = 1 + data = length 24, hash FAD51BA1 + sample 153: + time = 3060000 + flags = 1 + data = length 24, hash F1A9AC71 + sample 154: + time = 3080000 + flags = 1 + data = length 24, hash 24425449 + sample 155: + time = 3100000 + flags = 1 + data = length 24, hash 37AAC3E6 + sample 156: + time = 3120000 + flags = 1 + data = length 24, hash 91F68CB4 + sample 157: + time = 3140000 + flags = 1 + data = length 24, hash F8C92820 + sample 158: + time = 3160000 + flags = 1 + data = length 24, hash ECD39C3E + sample 159: + time = 3180000 + flags = 1 + data = length 24, hash B27D8F78 + sample 160: + time = 3200000 + flags = 1 + data = length 24, hash C9EB3DFB + sample 161: + time = 3220000 + flags = 1 + data = length 24, hash 88DC54A2 + sample 162: + time = 3240000 + flags = 1 + data = length 24, hash 7FC4C5BE + sample 163: + time = 3260000 + flags = 1 + data = length 24, hash E4F684EF + sample 164: + time = 3280000 + flags = 1 + data = length 24, hash 55C08B56 + sample 165: + time = 3300000 + flags = 1 + data = length 24, hash E5A0F006 + sample 166: + time = 3320000 + flags = 1 + data = length 24, hash DE3F3AA7 + sample 167: + time = 3340000 + flags = 1 + data = length 24, hash 3F28AE7F + sample 168: + time = 3360000 + flags = 1 + data = length 24, hash 3949CAFF + sample 169: + time = 3380000 + flags = 1 + data = length 24, hash 772665A0 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/amr/sample_nb_with_silence_frames.amr b/libraries/test_data/src/test/assets/media/amr/sample_nb_with_silence_frames.amr new file mode 100644 index 0000000000..82dc484059 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/amr/sample_nb_with_silence_frames.amr differ diff --git a/libraries/test_data/src/test/assets/media/amr/sample_wb_with_silence_frames.amr b/libraries/test_data/src/test/assets/media/amr/sample_wb_with_silence_frames.amr new file mode 100644 index 0000000000..74228b9fac Binary files /dev/null and b/libraries/test_data/src/test/assets/media/amr/sample_wb_with_silence_frames.amr differ