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
ab2aac9d
authored
Sep 07, 2015
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Infer mime types from DASH manifest.
parent
9592a8a4
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
8 deletions
library/src/main/java/com/google/android/exoplayer/dash/DashChunkSource.java
library/src/main/java/com/google/android/exoplayer/dash/DashChunkSource.java
View file @
ab2aac9d
...
@@ -615,39 +615,56 @@ public class DashChunkSource implements ChunkSource, Output {
...
@@ -615,39 +615,56 @@ public class DashChunkSource implements ChunkSource, Output {
private
static
String
getMediaMimeType
(
Format
format
)
{
private
static
String
getMediaMimeType
(
Format
format
)
{
String
formatMimeType
=
format
.
mimeType
;
String
formatMimeType
=
format
.
mimeType
;
String
codecs
=
format
.
codecs
;
if
(
MimeTypes
.
isAudio
(
formatMimeType
))
{
if
(
MimeTypes
.
isAudio
(
formatMimeType
))
{
return
getAudioMediaMimeType
(
codecs
);
return
getAudioMediaMimeType
(
format
);
}
else
if
(
MimeTypes
.
isVideo
(
formatMimeType
))
{
}
else
if
(
MimeTypes
.
isVideo
(
formatMimeType
))
{
return
getVideoMediaMimeType
(
codecs
);
return
getVideoMediaMimeType
(
format
);
}
else
if
(
mimeTypeIsRawText
(
formatMimeType
))
{
}
else
if
(
mimeTypeIsRawText
(
formatMimeType
))
{
return
formatMimeType
;
return
formatMimeType
;
}
else
if
(
MimeTypes
.
APPLICATION_MP4
.
equals
(
formatMimeType
)
&&
"stpp"
.
equals
(
codecs
))
{
}
else
if
(
MimeTypes
.
APPLICATION_MP4
.
equals
(
formatMimeType
)
&&
"stpp"
.
equals
(
format
.
codecs
))
{
return
MimeTypes
.
APPLICATION_TTML
;
return
MimeTypes
.
APPLICATION_TTML
;
}
else
{
}
else
{
return
null
;
return
null
;
}
}
}
}
private
static
String
getVideoMediaMimeType
(
String
codecs
)
{
private
static
String
getVideoMediaMimeType
(
Format
format
)
{
String
codecs
=
format
.
codecs
;
if
(
TextUtils
.
isEmpty
(
codecs
))
{
if
(
TextUtils
.
isEmpty
(
codecs
))
{
Log
.
w
(
TAG
,
"Codecs attribute missing: "
+
format
.
id
);
return
MimeTypes
.
VIDEO_UNKNOWN
;
return
MimeTypes
.
VIDEO_UNKNOWN
;
}
else
if
(
codecs
.
startsWith
(
"avc1"
)
||
codecs
.
startsWith
(
"avc3"
))
{
return
MimeTypes
.
VIDEO_H264
;
}
else
if
(
codecs
.
startsWith
(
"hev1"
)
||
codecs
.
startsWith
(
"hvc1"
))
{
return
MimeTypes
.
VIDEO_H265
;
}
else
if
(
codecs
.
startsWith
(
"vp9"
))
{
}
else
if
(
codecs
.
startsWith
(
"vp9"
))
{
return
MimeTypes
.
VIDEO_VP9
;
return
MimeTypes
.
VIDEO_VP9
;
}
else
if
(
codecs
.
startsWith
(
"vp8"
))
{
}
else
if
(
codecs
.
startsWith
(
"vp8"
))
{
return
MimeTypes
.
VIDEO_VP8
;
return
MimeTypes
.
VIDEO_VP8
;
}
}
// TODO: Parse more codecs values here.
Log
.
w
(
TAG
,
"Failed to parse mime from codecs: "
+
format
.
id
+
", "
+
codecs
);
return
MimeTypes
.
VIDEO_UNKNOWN
;
return
MimeTypes
.
VIDEO_UNKNOWN
;
}
}
private
static
String
getAudioMediaMimeType
(
String
codecs
)
{
private
static
String
getAudioMediaMimeType
(
Format
format
)
{
String
codecs
=
format
.
codecs
;
if
(
TextUtils
.
isEmpty
(
codecs
))
{
if
(
TextUtils
.
isEmpty
(
codecs
))
{
Log
.
w
(
TAG
,
"Codecs attribute missing: "
+
format
.
id
);
return
MimeTypes
.
AUDIO_UNKNOWN
;
return
MimeTypes
.
AUDIO_UNKNOWN
;
}
else
if
(
codecs
.
startsWith
(
"mp4a"
))
{
return
MimeTypes
.
AUDIO_AAC
;
}
else
if
(
codecs
.
startsWith
(
"ac-3"
)
||
codecs
.
startsWith
(
"dac3"
))
{
return
MimeTypes
.
AUDIO_AC3
;
}
else
if
(
codecs
.
startsWith
(
"ec-3"
)
||
codecs
.
startsWith
(
"dec3"
))
{
return
MimeTypes
.
AUDIO_EC3
;
}
else
if
(
codecs
.
startsWith
(
"dtsc"
)
||
codecs
.
startsWith
(
"dtse"
))
{
return
MimeTypes
.
AUDIO_DTS
;
}
else
if
(
codecs
.
startsWith
(
"dtsh"
)
||
codecs
.
startsWith
(
"dtsl"
))
{
return
MimeTypes
.
AUDIO_DTS_HD
;
}
else
if
(
codecs
.
startsWith
(
"opus"
))
{
}
else
if
(
codecs
.
startsWith
(
"opus"
))
{
return
MimeTypes
.
AUDIO_OPUS
;
return
MimeTypes
.
AUDIO_OPUS
;
}
}
// TODO: Parse more codecs values here.
Log
.
w
(
TAG
,
"Failed to parse mime from codecs: "
+
format
.
id
+
", "
+
codecs
);
return
MimeTypes
.
AUDIO_UNKNOWN
;
return
MimeTypes
.
AUDIO_UNKNOWN
;
}
}
...
...
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