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
a44a78c7
authored
Jul 23, 2015
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Fix some HEVC and H.263 nits.
parent
9dc1bfbb
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
11 deletions
library/src/main/java/com/google/android/exoplayer/extractor/mp4/Atom.java
library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java
library/src/main/java/com/google/android/exoplayer/util/MimeTypes.java
library/src/main/java/com/google/android/exoplayer/extractor/mp4/Atom.java
View file @
a44a78c7
...
...
@@ -41,6 +41,8 @@ import java.util.List;
public
static
final
int
TYPE_avc3
=
Util
.
getIntegerCodeForString
(
"avc3"
);
public
static
final
int
TYPE_hvc1
=
Util
.
getIntegerCodeForString
(
"hvc1"
);
public
static
final
int
TYPE_hev1
=
Util
.
getIntegerCodeForString
(
"hev1"
);
public
static
final
int
TYPE_s263
=
Util
.
getIntegerCodeForString
(
"s263"
);
public
static
final
int
TYPE_d263
=
Util
.
getIntegerCodeForString
(
"d263"
);
public
static
final
int
TYPE_mdat
=
Util
.
getIntegerCodeForString
(
"mdat"
);
public
static
final
int
TYPE_mp4a
=
Util
.
getIntegerCodeForString
(
"mp4a"
);
public
static
final
int
TYPE_ac_3
=
Util
.
getIntegerCodeForString
(
"ac-3"
);
...
...
@@ -92,8 +94,6 @@ import java.util.List;
public
static
final
int
TYPE_stco
=
Util
.
getIntegerCodeForString
(
"stco"
);
public
static
final
int
TYPE_co64
=
Util
.
getIntegerCodeForString
(
"co64"
);
public
static
final
int
TYPE_tx3g
=
Util
.
getIntegerCodeForString
(
"tx3g"
);
public
static
final
int
TYPE_s263
=
Util
.
getIntegerCodeForString
(
"s263"
);
public
static
final
int
TYPE_d263
=
Util
.
getIntegerCodeForString
(
"d263"
);
public
final
int
type
;
...
...
library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java
View file @
a44a78c7
...
...
@@ -1069,14 +1069,14 @@ public final class WebmExtractor implements Extractor {
break
;
case
CODEC_ID_H264:
mimeType
=
MimeTypes
.
VIDEO_H264
;
Pair
<
List
<
byte
[]>,
Integer
>
h264Data
=
parse
H264
CodecPrivate
(
Pair
<
List
<
byte
[]>,
Integer
>
h264Data
=
parse
Avc
CodecPrivate
(
new
ParsableByteArray
(
codecPrivate
));
initializationData
=
h264Data
.
first
;
nalUnitLengthFieldLength
=
h264Data
.
second
;
break
;
case
CODEC_ID_H265:
mimeType
=
MimeTypes
.
VIDEO_H265
;
Pair
<
List
<
byte
[]>,
Integer
>
hevcData
=
parseH
EVC
CodecPrivate
(
Pair
<
List
<
byte
[]>,
Integer
>
hevcData
=
parseH
evc
CodecPrivate
(
new
ParsableByteArray
(
codecPrivate
));
initializationData
=
hevcData
.
first
;
nalUnitLengthFieldLength
=
hevcData
.
second
;
...
...
@@ -1121,12 +1121,12 @@ public final class WebmExtractor implements Extractor {
}
/**
* Builds initialization data for a {@link MediaFormat} from H.264 codec private data.
* Builds initialization data for a {@link MediaFormat} from H.264
(AVC)
codec private data.
*
* @return The initialization data for the {@link MediaFormat}.
* @throws ParserException If the initialization data could not be built.
*/
private
static
Pair
<
List
<
byte
[]>,
Integer
>
parse
H264
CodecPrivate
(
ParsableByteArray
buffer
)
private
static
Pair
<
List
<
byte
[]>,
Integer
>
parse
Avc
CodecPrivate
(
ParsableByteArray
buffer
)
throws
ParserException
{
try
{
// TODO: Deduplicate with AtomParsers.parseAvcCFromParent.
...
...
@@ -1144,7 +1144,7 @@ public final class WebmExtractor implements Extractor {
}
return
Pair
.
create
(
initializationData
,
nalUnitLengthFieldLength
);
}
catch
(
ArrayIndexOutOfBoundsException
e
)
{
throw
new
ParserException
(
"Error parsing
vorbis
codec private"
);
throw
new
ParserException
(
"Error parsing
AVC
codec private"
);
}
}
...
...
@@ -1154,10 +1154,10 @@ public final class WebmExtractor implements Extractor {
* @return The initialization data for the {@link MediaFormat}.
* @throws ParserException If the initialization data could not be built.
*/
private
static
Pair
<
List
<
byte
[]>,
Integer
>
parseH
EVC
CodecPrivate
(
ParsableByteArray
parent
)
private
static
Pair
<
List
<
byte
[]>,
Integer
>
parseH
evc
CodecPrivate
(
ParsableByteArray
parent
)
throws
ParserException
{
try
{
// TODO: Deduplicate with AtomParsers.parse
A
vcCFromParent.
// TODO: Deduplicate with AtomParsers.parse
H
vcCFromParent.
parent
.
setPosition
(
21
);
int
lengthSizeMinusOne
=
parent
.
readUnsignedByte
()
&
0x03
;
...
...
@@ -1197,7 +1197,7 @@ public final class WebmExtractor implements Extractor {
List
<
byte
[]>
initializationData
=
csdLength
==
0
?
null
:
Collections
.
singletonList
(
buffer
);
return
Pair
.
create
(
initializationData
,
lengthSizeMinusOne
+
1
);
}
catch
(
ArrayIndexOutOfBoundsException
e
)
{
throw
new
ParserException
(
"Error parsing
vorbis
codec private"
);
throw
new
ParserException
(
"Error parsing
HEVC
codec private"
);
}
}
...
...
library/src/main/java/com/google/android/exoplayer/util/MimeTypes.java
View file @
a44a78c7
...
...
@@ -32,12 +32,12 @@ public class MimeTypes {
public
static
final
String
VIDEO_MP4
=
BASE_TYPE_VIDEO
+
"/mp4"
;
public
static
final
String
VIDEO_WEBM
=
BASE_TYPE_VIDEO
+
"/webm"
;
public
static
final
String
VIDEO_H263
=
BASE_TYPE_VIDEO
+
"/3gpp"
;
public
static
final
String
VIDEO_H264
=
BASE_TYPE_VIDEO
+
"/avc"
;
public
static
final
String
VIDEO_H265
=
BASE_TYPE_VIDEO
+
"/hevc"
;
public
static
final
String
VIDEO_VP8
=
BASE_TYPE_VIDEO
+
"/x-vnd.on2.vp8"
;
public
static
final
String
VIDEO_VP9
=
BASE_TYPE_VIDEO
+
"/x-vnd.on2.vp9"
;
public
static
final
String
VIDEO_MP4V
=
BASE_TYPE_VIDEO
+
"/mp4v-es"
;
public
static
final
String
VIDEO_H263
=
BASE_TYPE_VIDEO
+
"/3gpp"
;
public
static
final
String
AUDIO_MP4
=
BASE_TYPE_AUDIO
+
"/mp4"
;
public
static
final
String
AUDIO_AAC
=
BASE_TYPE_AUDIO
+
"/mp4a-latm"
;
...
...
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