mirror of
https://github.com/androidx/media.git
synced 2025-05-12 01:59:50 +08:00
WavExtractorTest and TsExtractorTest
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=123848524
This commit is contained in:
parent
ed19a582a7
commit
94fa2ecfe5
BIN
library/src/androidTest/assets/ts/sample.mpeg
Normal file
BIN
library/src/androidTest/assets/ts/sample.mpeg
Normal file
Binary file not shown.
103
library/src/androidTest/assets/ts/sample.mpeg.dump
Normal file
103
library/src/androidTest/assets/ts/sample.mpeg.dump
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = false
|
||||||
|
duration = UNSET TIME
|
||||||
|
getPosition(0) = 0
|
||||||
|
numberOfTracks = 3
|
||||||
|
track 2:
|
||||||
|
format:
|
||||||
|
bitrate = -1
|
||||||
|
id = null
|
||||||
|
containerMimeType = null
|
||||||
|
sampleMimeType = video/mpeg2
|
||||||
|
maxInputSize = -1
|
||||||
|
requiresSecureDecryption = false
|
||||||
|
width = 1080
|
||||||
|
height = 720
|
||||||
|
frameRate = -1.0
|
||||||
|
rotationDegrees = -1
|
||||||
|
pixelWidthHeightRatio = 1.0
|
||||||
|
channelCount = -1
|
||||||
|
sampleRate = -1
|
||||||
|
pcmEncoding = -1
|
||||||
|
encoderDelay = -1
|
||||||
|
encoderPadding = -1
|
||||||
|
subsampleOffsetUs = 9223372036854775807
|
||||||
|
selectionFlags = 0
|
||||||
|
language = null
|
||||||
|
drmInitData = -
|
||||||
|
initializationData:
|
||||||
|
data = length 22, hash D3167F9
|
||||||
|
sample count = 2
|
||||||
|
sample 0:
|
||||||
|
time = 33366
|
||||||
|
flags = 1
|
||||||
|
data = length 36420, hash A653C4D9
|
||||||
|
sample 1:
|
||||||
|
time = 66733
|
||||||
|
flags = 0
|
||||||
|
data = length 52814, hash 8D54E344
|
||||||
|
track 3:
|
||||||
|
format:
|
||||||
|
bitrate = -1
|
||||||
|
id = null
|
||||||
|
containerMimeType = null
|
||||||
|
sampleMimeType = audio/mpeg-L2
|
||||||
|
maxInputSize = 4096
|
||||||
|
requiresSecureDecryption = false
|
||||||
|
width = -1
|
||||||
|
height = -1
|
||||||
|
frameRate = -1.0
|
||||||
|
rotationDegrees = -1
|
||||||
|
pixelWidthHeightRatio = -1.0
|
||||||
|
channelCount = 1
|
||||||
|
sampleRate = 44100
|
||||||
|
pcmEncoding = -1
|
||||||
|
encoderDelay = -1
|
||||||
|
encoderPadding = -1
|
||||||
|
subsampleOffsetUs = 9223372036854775807
|
||||||
|
selectionFlags = 0
|
||||||
|
language = null
|
||||||
|
drmInitData = -
|
||||||
|
initializationData:
|
||||||
|
sample count = 4
|
||||||
|
sample 0:
|
||||||
|
time = 90511
|
||||||
|
flags = 1
|
||||||
|
data = length 1253, hash 727FD1C6
|
||||||
|
sample 1:
|
||||||
|
time = 116633
|
||||||
|
flags = 1
|
||||||
|
data = length 1254, hash 787D6CCE
|
||||||
|
sample 2:
|
||||||
|
time = 142755
|
||||||
|
flags = 1
|
||||||
|
data = length 1254, hash 44B92592
|
||||||
|
sample 3:
|
||||||
|
time = 168877
|
||||||
|
flags = 1
|
||||||
|
data = length 1254, hash 3B315899
|
||||||
|
track 21:
|
||||||
|
format:
|
||||||
|
bitrate = -1
|
||||||
|
id = null
|
||||||
|
containerMimeType = null
|
||||||
|
sampleMimeType = application/id3
|
||||||
|
maxInputSize = -1
|
||||||
|
requiresSecureDecryption = false
|
||||||
|
width = -1
|
||||||
|
height = -1
|
||||||
|
frameRate = -1.0
|
||||||
|
rotationDegrees = -1
|
||||||
|
pixelWidthHeightRatio = -1.0
|
||||||
|
channelCount = -1
|
||||||
|
sampleRate = -1
|
||||||
|
pcmEncoding = -1
|
||||||
|
encoderDelay = -1
|
||||||
|
encoderPadding = -1
|
||||||
|
subsampleOffsetUs = 9223372036854775807
|
||||||
|
selectionFlags = 0
|
||||||
|
language = null
|
||||||
|
drmInitData = -
|
||||||
|
initializationData:
|
||||||
|
sample count = 0
|
||||||
|
tracksEnded = true
|
BIN
library/src/androidTest/assets/wav/sample.wav
Normal file
BIN
library/src/androidTest/assets/wav/sample.wav
Normal file
Binary file not shown.
42
library/src/androidTest/assets/wav/sample.wav.dump
Normal file
42
library/src/androidTest/assets/wav/sample.wav.dump
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
seekMap:
|
||||||
|
isSeekable = true
|
||||||
|
duration = 1000000
|
||||||
|
getPosition(0) = 78
|
||||||
|
numberOfTracks = 1
|
||||||
|
track 0:
|
||||||
|
format:
|
||||||
|
bitrate = 705600
|
||||||
|
id = null
|
||||||
|
containerMimeType = null
|
||||||
|
sampleMimeType = audio/raw
|
||||||
|
maxInputSize = 32768
|
||||||
|
requiresSecureDecryption = false
|
||||||
|
width = -1
|
||||||
|
height = -1
|
||||||
|
frameRate = -1.0
|
||||||
|
rotationDegrees = -1
|
||||||
|
pixelWidthHeightRatio = -1.0
|
||||||
|
channelCount = 1
|
||||||
|
sampleRate = 44100
|
||||||
|
pcmEncoding = 2
|
||||||
|
encoderDelay = -1
|
||||||
|
encoderPadding = -1
|
||||||
|
subsampleOffsetUs = 9223372036854775807
|
||||||
|
selectionFlags = 0
|
||||||
|
language = null
|
||||||
|
drmInitData = -
|
||||||
|
initializationData:
|
||||||
|
sample count = 3
|
||||||
|
sample 0:
|
||||||
|
time = 884
|
||||||
|
flags = 1
|
||||||
|
data = length 32768, hash 9A8CEEBA
|
||||||
|
sample 1:
|
||||||
|
time = 372403
|
||||||
|
flags = 1
|
||||||
|
data = length 32768, hash C1717317
|
||||||
|
sample 2:
|
||||||
|
time = 743922
|
||||||
|
flags = 1
|
||||||
|
data = length 22664, hash 819F5F62
|
||||||
|
tracksEnded = true
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.google.android.exoplayer.extractor.ts;
|
||||||
|
|
||||||
|
import com.google.android.exoplayer.extractor.Extractor;
|
||||||
|
import com.google.android.exoplayer.testutil.TestUtil;
|
||||||
|
|
||||||
|
import android.test.InstrumentationTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit test for {@link TsExtractor}.
|
||||||
|
*/
|
||||||
|
public final class TsExtractorTest extends InstrumentationTestCase {
|
||||||
|
|
||||||
|
public void testSample() throws Exception {
|
||||||
|
TestUtil.assertOutput(new TestUtil.ExtractorFactory() {
|
||||||
|
@Override
|
||||||
|
public Extractor create() {
|
||||||
|
return new TsExtractor();
|
||||||
|
}
|
||||||
|
}, "ts/sample.mpeg", getInstrumentation());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2016 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.google.android.exoplayer.extractor.wav;
|
||||||
|
|
||||||
|
import com.google.android.exoplayer.extractor.Extractor;
|
||||||
|
import com.google.android.exoplayer.testutil.TestUtil;
|
||||||
|
|
||||||
|
import android.test.InstrumentationTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit test for {@link WavExtractor}.
|
||||||
|
*/
|
||||||
|
public final class WavExtractorTest extends InstrumentationTestCase {
|
||||||
|
|
||||||
|
public void testSample() throws Exception {
|
||||||
|
TestUtil.assertOutput(new TestUtil.ExtractorFactory() {
|
||||||
|
@Override
|
||||||
|
public Extractor create() {
|
||||||
|
return new WavExtractor();
|
||||||
|
}
|
||||||
|
}, "wav/sample.wav", getInstrumentation());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer.testutil;
|
package com.google.android.exoplayer.testutil;
|
||||||
|
|
||||||
|
import com.google.android.exoplayer.C;
|
||||||
import com.google.android.exoplayer.Format;
|
import com.google.android.exoplayer.Format;
|
||||||
import com.google.android.exoplayer.extractor.ExtractorInput;
|
import com.google.android.exoplayer.extractor.ExtractorInput;
|
||||||
import com.google.android.exoplayer.extractor.TrackOutput;
|
import com.google.android.exoplayer.extractor.TrackOutput;
|
||||||
@ -23,6 +24,7 @@ import com.google.android.exoplayer.util.ParsableByteArray;
|
|||||||
import android.test.MoreAsserts;
|
import android.test.MoreAsserts;
|
||||||
import junit.framework.Assert;
|
import junit.framework.Assert;
|
||||||
|
|
||||||
|
import java.io.EOFException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -68,9 +70,16 @@ public final class FakeTrackOutput implements TrackOutput, Dumper.Dumpable {
|
|||||||
public int sampleData(ExtractorInput input, int length, boolean allowEndOfInput)
|
public int sampleData(ExtractorInput input, int length, boolean allowEndOfInput)
|
||||||
throws IOException, InterruptedException {
|
throws IOException, InterruptedException {
|
||||||
byte[] newData = new byte[length];
|
byte[] newData = new byte[length];
|
||||||
input.readFully(newData, 0, length);
|
int bytesAppended = input.read(newData, 0, length);
|
||||||
|
if (bytesAppended == C.RESULT_END_OF_INPUT) {
|
||||||
|
if (allowEndOfInput) {
|
||||||
|
return C.RESULT_END_OF_INPUT;
|
||||||
|
}
|
||||||
|
throw new EOFException();
|
||||||
|
}
|
||||||
|
newData = Arrays.copyOf(newData, bytesAppended);
|
||||||
sampleData = TestUtil.joinByteArrays(sampleData, newData);
|
sampleData = TestUtil.joinByteArrays(sampleData, newData);
|
||||||
return length;
|
return bytesAppended;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user