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
28d709aa
authored
Dec 04, 2017
by
Pavel Stambrecht
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Iso8601Parser improved to be able to parse timestamp offsets from UTC
parent
ad16efdf
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
8 deletions
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
View file @
28d709aa
...
@@ -963,10 +963,9 @@ public final class DashMediaSource implements MediaSource {
...
@@ -963,10 +963,9 @@ public final class DashMediaSource implements MediaSource {
private
static
final
class
Iso8601Parser
implements
ParsingLoadable
.
Parser
<
Long
>
{
private
static
final
class
Iso8601Parser
implements
ParsingLoadable
.
Parser
<
Long
>
{
private
static
final
String
ISO_8601_FORMAT
=
"yyyy-MM-dd'T'HH:mm:ss'Z'"
;
private
static
final
String
ISO_8601_FORMAT
=
"yyyy-MM-dd'T'HH:mm:ss'Z'"
;
private
static
final
String
ISO_8601_FORMAT_2
=
"yyyy-MM-dd'T'HH:mm:ssZ"
;
private
static
final
String
ISO_8601_WITH_OFFSET_FORMAT
=
"yyyy-MM-dd'T'HH:mm:ssZ"
;
private
static
final
String
ISO_8601_FORMAT_3
=
"yyyy-MM-dd'T'HH:mm:ssZ"
;
private
static
final
String
ISO_8601_WITH_OFFSET_FORMAT_REGEX_PATTERN
=
".*[+\\-]\\d{2}:\\d{2}$"
;
private
static
final
String
ISO_8601_FORMAT_2_REGEX_PATTERN
=
".*[+\\-]\\d{2}:\\d{2}$"
;
private
static
final
String
ISO_8601_WITH_OFFSET_FORMAT_REGEX_PATTERN_2
=
".*[+\\-]\\d{4}$"
;
private
static
final
String
ISO_8601_FORMAT_3_REGEX_PATTERN
=
".*[+\\-]\\d{4}$"
;
@Override
@Override
public
Long
parse
(
Uri
uri
,
InputStream
inputStream
)
throws
IOException
{
public
Long
parse
(
Uri
uri
,
InputStream
inputStream
)
throws
IOException
{
...
@@ -975,10 +974,10 @@ public final class DashMediaSource implements MediaSource {
...
@@ -975,10 +974,10 @@ public final class DashMediaSource implements MediaSource {
if
(
firstLine
!=
null
)
{
if
(
firstLine
!=
null
)
{
//determine format pattern
//determine format pattern
String
formatPattern
;
String
formatPattern
;
if
(
firstLine
.
matches
(
ISO_8601_
FORMAT_2
_REGEX_PATTERN
))
{
if
(
firstLine
.
matches
(
ISO_8601_
WITH_OFFSET_FORMAT
_REGEX_PATTERN
))
{
formatPattern
=
ISO_8601_
FORMAT_2
;
formatPattern
=
ISO_8601_
WITH_OFFSET_FORMAT
;
}
else
if
(
firstLine
.
matches
(
ISO_8601_
FORMAT_3_REGEX_PATTERN
))
{
}
else
if
(
firstLine
.
matches
(
ISO_8601_
WITH_OFFSET_FORMAT_REGEX_PATTERN_2
))
{
formatPattern
=
ISO_8601_
FORMAT_3
;
formatPattern
=
ISO_8601_
WITH_OFFSET_FORMAT
;
}
else
{
}
else
{
formatPattern
=
ISO_8601_FORMAT
;
formatPattern
=
ISO_8601_FORMAT
;
}
}
...
@@ -995,6 +994,7 @@ public final class DashMediaSource implements MediaSource {
...
@@ -995,6 +994,7 @@ public final class DashMediaSource implements MediaSource {
throw
new
ParserException
(
"Unable to parse ISO 8601. Input value is null"
);
throw
new
ParserException
(
"Unable to parse ISO 8601. Input value is null"
);
}
}
}
}
}
}
}
}
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