Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
5d045715
authored
Mar 11, 2015
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Remove need for InlinedApi with a few more C constants.
parent
56a509d8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
47 additions
and
27 deletions
library/src/main/java/com/google/android/exoplayer/C.java
library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java
library/src/main/java/com/google/android/exoplayer/SampleHolder.java
library/src/main/java/com/google/android/exoplayer/chunk/parser/mp4/FragmentedMp4Extractor.java
library/src/main/java/com/google/android/exoplayer/chunk/parser/webm/WebmExtractor.java
library/src/main/java/com/google/android/exoplayer/source/FrameworkSampleExtractor.java
library/src/test/java/com/google/android/exoplayer/CTest.java
library/src/test/java/com/google/android/exoplayer/chunk/parser/webm/WebmExtractorTest.java
library/src/main/java/com/google/android/exoplayer/C.java
View file @
5d045715
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
*/
*/
package
com
.
google
.
android
.
exoplayer
;
package
com
.
google
.
android
.
exoplayer
;
import
android.media.MediaCodec
;
import
android.media.MediaExtractor
;
import
android.media.MediaExtractor
;
/**
/**
...
@@ -43,11 +44,23 @@ public final class C {
...
@@ -43,11 +44,23 @@ public final class C {
public
static
final
String
UTF8_NAME
=
"UTF-8"
;
public
static
final
String
UTF8_NAME
=
"UTF-8"
;
/**
/**
*
Sample flag that indicates the sample is a synchronization sample.
*
@see MediaExtractor#SAMPLE_FLAG_SYNC
*/
*/
@SuppressWarnings
(
"InlinedApi"
)
@SuppressWarnings
(
"InlinedApi"
)
public
static
final
int
SAMPLE_FLAG_SYNC
=
MediaExtractor
.
SAMPLE_FLAG_SYNC
;
public
static
final
int
SAMPLE_FLAG_SYNC
=
MediaExtractor
.
SAMPLE_FLAG_SYNC
;
/**
* @see MediaExtractor#SAMPLE_FLAG_ENCRYPTED
*/
@SuppressWarnings
(
"InlinedApi"
)
public
static
final
int
SAMPLE_FLAG_ENCRYPTED
=
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
;
/**
* @see MediaCodec#CRYPTO_MODE_AES_CTR
*/
@SuppressWarnings
(
"InlinedApi"
)
public
static
final
int
CRYPTO_MODE_AES_CTR
=
MediaCodec
.
CRYPTO_MODE_AES_CTR
;
private
C
()
{}
private
C
()
{}
}
}
library/src/main/java/com/google/android/exoplayer/MediaCodecTrackRenderer.java
View file @
5d045715
...
@@ -26,7 +26,6 @@ import android.media.MediaCodec;
...
@@ -26,7 +26,6 @@ import android.media.MediaCodec;
import
android.media.MediaCodec.CodecException
;
import
android.media.MediaCodec.CodecException
;
import
android.media.MediaCodec.CryptoException
;
import
android.media.MediaCodec.CryptoException
;
import
android.media.MediaCrypto
;
import
android.media.MediaCrypto
;
import
android.media.MediaExtractor
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.os.SystemClock
;
import
android.os.SystemClock
;
...
@@ -583,7 +582,7 @@ public abstract class MediaCodecTrackRenderer extends TrackRenderer {
...
@@ -583,7 +582,7 @@ public abstract class MediaCodecTrackRenderer extends TrackRenderer {
}
}
waitingForFirstSyncFrame
=
false
;
waitingForFirstSyncFrame
=
false
;
}
}
boolean
sampleEncrypted
=
(
sampleHolder
.
flags
&
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
;
boolean
sampleEncrypted
=
(
sampleHolder
.
flags
&
C
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
;
waitingForKeys
=
shouldWaitForKeys
(
sampleEncrypted
);
waitingForKeys
=
shouldWaitForKeys
(
sampleEncrypted
);
if
(
waitingForKeys
)
{
if
(
waitingForKeys
)
{
return
false
;
return
false
;
...
...
library/src/main/java/com/google/android/exoplayer/SampleHolder.java
View file @
5d045715
...
@@ -50,9 +50,8 @@ public final class SampleHolder {
...
@@ -50,9 +50,8 @@ public final class SampleHolder {
public
int
size
;
public
int
size
;
/**
/**
* Flags that accompany the sample. A combination of
* Flags that accompany the sample. A combination of {@link C#SAMPLE_FLAG_SYNC} and
* {@link android.media.MediaExtractor#SAMPLE_FLAG_SYNC} and
* {@link C#SAMPLE_FLAG_ENCRYPTED}
* {@link android.media.MediaExtractor#SAMPLE_FLAG_ENCRYPTED}
*/
*/
public
int
flags
;
public
int
flags
;
...
...
library/src/main/java/com/google/android/exoplayer/chunk/parser/mp4/FragmentedMp4Extractor.java
View file @
5d045715
...
@@ -33,10 +33,6 @@ import com.google.android.exoplayer.util.MimeTypes;
...
@@ -33,10 +33,6 @@ import com.google.android.exoplayer.util.MimeTypes;
import
com.google.android.exoplayer.util.ParsableByteArray
;
import
com.google.android.exoplayer.util.ParsableByteArray
;
import
com.google.android.exoplayer.util.Util
;
import
com.google.android.exoplayer.util.Util
;
import
android.annotation.SuppressLint
;
import
android.media.MediaCodec
;
import
android.media.MediaExtractor
;
import
java.nio.ByteBuffer
;
import
java.nio.ByteBuffer
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Collections
;
...
@@ -795,7 +791,6 @@ public final class FragmentedMp4Extractor implements Extractor {
...
@@ -795,7 +791,6 @@ public final class FragmentedMp4Extractor implements Extractor {
return
RESULT_READ_SAMPLE
;
return
RESULT_READ_SAMPLE
;
}
}
@SuppressLint
(
"InlinedApi"
)
private
void
readSampleEncryptionData
(
ParsableByteArray
sampleEncryptionData
,
SampleHolder
out
)
{
private
void
readSampleEncryptionData
(
ParsableByteArray
sampleEncryptionData
,
SampleHolder
out
)
{
TrackEncryptionBox
encryptionBox
=
TrackEncryptionBox
encryptionBox
=
track
.
sampleDescriptionEncryptionBoxes
[
fragmentRun
.
sampleDescriptionIndex
];
track
.
sampleDescriptionEncryptionBoxes
[
fragmentRun
.
sampleDescriptionIndex
];
...
@@ -833,8 +828,8 @@ public final class FragmentedMp4Extractor implements Extractor {
...
@@ -833,8 +828,8 @@ public final class FragmentedMp4Extractor implements Extractor {
}
}
out
.
cryptoInfo
.
set
(
subsampleCount
,
clearDataSizes
,
encryptedDataSizes
,
keyId
,
vector
,
out
.
cryptoInfo
.
set
(
subsampleCount
,
clearDataSizes
,
encryptedDataSizes
,
keyId
,
vector
,
MediaCodec
.
CRYPTO_MODE_AES_CTR
);
C
.
CRYPTO_MODE_AES_CTR
);
out
.
flags
|=
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
;
out
.
flags
|=
C
.
SAMPLE_FLAG_ENCRYPTED
;
}
}
}
}
library/src/main/java/com/google/android/exoplayer/chunk/parser/webm/WebmExtractor.java
View file @
5d045715
...
@@ -26,10 +26,6 @@ import com.google.android.exoplayer.upstream.NonBlockingInputStream;
...
@@ -26,10 +26,6 @@ import com.google.android.exoplayer.upstream.NonBlockingInputStream;
import
com.google.android.exoplayer.util.LongArray
;
import
com.google.android.exoplayer.util.LongArray
;
import
com.google.android.exoplayer.util.MimeTypes
;
import
com.google.android.exoplayer.util.MimeTypes
;
import
android.annotation.SuppressLint
;
import
android.media.MediaCodec
;
import
android.media.MediaExtractor
;
import
java.nio.ByteBuffer
;
import
java.nio.ByteBuffer
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -425,7 +421,6 @@ public final class WebmExtractor implements Extractor {
...
@@ -425,7 +421,6 @@ public final class WebmExtractor implements Extractor {
return
true
;
return
true
;
}
}
@SuppressLint
(
"InlinedApi"
)
/* package */
boolean
onBinaryElement
(
/* package */
boolean
onBinaryElement
(
int
id
,
long
elementOffsetBytes
,
int
headerSizeBytes
,
int
contentsSizeBytes
,
int
id
,
long
elementOffsetBytes
,
int
headerSizeBytes
,
int
contentsSizeBytes
,
NonBlockingInputStream
inputStream
)
throws
ParserException
{
NonBlockingInputStream
inputStream
)
throws
ParserException
{
...
@@ -507,8 +502,8 @@ public final class WebmExtractor implements Extractor {
...
@@ -507,8 +502,8 @@ public final class WebmExtractor implements Extractor {
encryptedDataSizes
[
0
]
=
sampleHolder
.
size
;
encryptedDataSizes
[
0
]
=
sampleHolder
.
size
;
sampleHolder
.
cryptoInfo
.
set
(
1
,
clearDataSizes
,
encryptedDataSizes
,
sampleHolder
.
cryptoInfo
.
set
(
1
,
clearDataSizes
,
encryptedDataSizes
,
encryptionKeyId
,
iv
,
MediaCodec
.
CRYPTO_MODE_AES_CTR
);
encryptionKeyId
,
iv
,
C
.
CRYPTO_MODE_AES_CTR
);
sampleHolder
.
flags
|=
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
;
sampleHolder
.
flags
|=
C
.
SAMPLE_FLAG_ENCRYPTED
;
}
}
}
}
...
...
library/src/main/java/com/google/android/exoplayer/source/FrameworkSampleExtractor.java
View file @
5d045715
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
*/
*/
package
com
.
google
.
android
.
exoplayer
.
source
;
package
com
.
google
.
android
.
exoplayer
.
source
;
import
com.google.android.exoplayer.C
;
import
com.google.android.exoplayer.MediaFormat
;
import
com.google.android.exoplayer.MediaFormat
;
import
com.google.android.exoplayer.SampleHolder
;
import
com.google.android.exoplayer.SampleHolder
;
import
com.google.android.exoplayer.SampleSource
;
import
com.google.android.exoplayer.SampleSource
;
...
@@ -163,7 +164,7 @@ public final class FrameworkSampleExtractor implements SampleExtractor {
...
@@ -163,7 +164,7 @@ public final class FrameworkSampleExtractor implements SampleExtractor {
}
}
sampleHolder
.
timeUs
=
mediaExtractor
.
getSampleTime
();
sampleHolder
.
timeUs
=
mediaExtractor
.
getSampleTime
();
sampleHolder
.
flags
=
mediaExtractor
.
getSampleFlags
();
sampleHolder
.
flags
=
mediaExtractor
.
getSampleFlags
();
if
((
sampleHolder
.
flags
&
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
)
{
if
((
sampleHolder
.
flags
&
C
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
)
{
sampleHolder
.
cryptoInfo
.
setFromExtractorV16
(
mediaExtractor
);
sampleHolder
.
cryptoInfo
.
setFromExtractorV16
(
mediaExtractor
);
}
}
...
...
library/src/test/java/com/google/android/exoplayer/CTest.java
0 → 100644
View file @
5d045715
package
com
.
google
.
android
.
exoplayer
;
import
android.annotation.SuppressLint
;
import
android.media.MediaCodec
;
import
android.media.MediaExtractor
;
import
junit.framework.TestCase
;
/**
* Unit test for {@link C}.
*/
public
class
CTest
extends
TestCase
{
@SuppressLint
(
"InlinedApi"
)
public
static
final
void
testContants
()
{
// Sanity check that constant values match those defined by the platform.
assertEquals
(
MediaExtractor
.
SAMPLE_FLAG_SYNC
,
C
.
SAMPLE_FLAG_SYNC
);
assertEquals
(
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
,
C
.
SAMPLE_FLAG_ENCRYPTED
);
assertEquals
(
MediaCodec
.
CRYPTO_MODE_AES_CTR
,
C
.
CRYPTO_MODE_AES_CTR
);
}
}
library/src/test/java/com/google/android/exoplayer/chunk/parser/webm/WebmExtractorTest.java
View file @
5d045715
...
@@ -25,9 +25,6 @@ import com.google.android.exoplayer.upstream.ByteArrayNonBlockingInputStream;
...
@@ -25,9 +25,6 @@ import com.google.android.exoplayer.upstream.ByteArrayNonBlockingInputStream;
import
com.google.android.exoplayer.upstream.NonBlockingInputStream
;
import
com.google.android.exoplayer.upstream.NonBlockingInputStream
;
import
com.google.android.exoplayer.util.MimeTypes
;
import
com.google.android.exoplayer.util.MimeTypes
;
import
android.annotation.SuppressLint
;
import
android.media.MediaCodec
;
import
android.media.MediaExtractor
;
import
android.test.InstrumentationTestCase
;
import
android.test.InstrumentationTestCase
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -355,7 +352,6 @@ public class WebmExtractorTest extends InstrumentationTestCase {
...
@@ -355,7 +352,6 @@ public class WebmExtractorTest extends InstrumentationTestCase {
}
}
}
}
@SuppressLint
(
"InlinedApi"
)
private
void
assertSample
(
private
void
assertSample
(
MediaSegment
mediaSegment
,
int
timeUs
,
boolean
keyframe
,
boolean
invisible
,
MediaSegment
mediaSegment
,
int
timeUs
,
boolean
keyframe
,
boolean
invisible
,
boolean
encrypted
)
{
boolean
encrypted
)
{
...
@@ -364,10 +360,10 @@ public class WebmExtractorTest extends InstrumentationTestCase {
...
@@ -364,10 +360,10 @@ public class WebmExtractorTest extends InstrumentationTestCase {
assertEquals
(
timeUs
,
sampleHolder
.
timeUs
);
assertEquals
(
timeUs
,
sampleHolder
.
timeUs
);
assertEquals
(
keyframe
,
(
sampleHolder
.
flags
&
C
.
SAMPLE_FLAG_SYNC
)
!=
0
);
assertEquals
(
keyframe
,
(
sampleHolder
.
flags
&
C
.
SAMPLE_FLAG_SYNC
)
!=
0
);
assertEquals
(
invisible
,
sampleHolder
.
decodeOnly
);
assertEquals
(
invisible
,
sampleHolder
.
decodeOnly
);
assertEquals
(
encrypted
,
(
sampleHolder
.
flags
&
MediaExtractor
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
);
assertEquals
(
encrypted
,
(
sampleHolder
.
flags
&
C
.
SAMPLE_FLAG_ENCRYPTED
)
!=
0
);
if
(
encrypted
)
{
if
(
encrypted
)
{
android
.
test
.
MoreAsserts
.
assertEquals
(
TEST_INITIALIZATION_VECTOR
,
sampleHolder
.
cryptoInfo
.
iv
);
android
.
test
.
MoreAsserts
.
assertEquals
(
TEST_INITIALIZATION_VECTOR
,
sampleHolder
.
cryptoInfo
.
iv
);
assertEquals
(
MediaCodec
.
CRYPTO_MODE_AES_CTR
,
sampleHolder
.
cryptoInfo
.
mode
);
assertEquals
(
C
.
CRYPTO_MODE_AES_CTR
,
sampleHolder
.
cryptoInfo
.
mode
);
assertEquals
(
1
,
sampleHolder
.
cryptoInfo
.
numSubSamples
);
assertEquals
(
1
,
sampleHolder
.
cryptoInfo
.
numSubSamples
);
assertEquals
(
100
,
sampleHolder
.
cryptoInfo
.
numBytesOfEncryptedData
[
0
]);
assertEquals
(
100
,
sampleHolder
.
cryptoInfo
.
numBytesOfEncryptedData
[
0
]);
assertEquals
(
0
,
sampleHolder
.
cryptoInfo
.
numBytesOfClearData
[
0
]);
assertEquals
(
0
,
sampleHolder
.
cryptoInfo
.
numBytesOfClearData
[
0
]);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment