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
dca68b21
authored
Mar 11, 2020
by
Oliver Woodman
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Merge pull request #7064 from davibe:enhancement/6907
PiperOrigin-RevId: 300330109
parent
40d5db04
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
9 deletions
RELEASENOTES.md
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
RELEASENOTES.md
View file @
dca68b21
...
@@ -5,6 +5,8 @@
...
@@ -5,6 +5,8 @@
*
Text: Catch-and-log all fatal exceptions in
`TextRenderer`
instead of
*
Text: Catch-and-log all fatal exceptions in
`TextRenderer`
instead of
re-throwing, allowing playback to continue even if subtitles fail
re-throwing, allowing playback to continue even if subtitles fail
(
[
#6885
](
https://github.com/google/ExoPlayer/issues/6885
)
).
(
[
#6885
](
https://github.com/google/ExoPlayer/issues/6885
)
).
*
DASH: Update the manifest URI to avoid repeated HTTP redirects
(
[
#6907
](
https://github.com/google/ExoPlayer/issues/6907
)
).
*
FFmpeg extension: Add support for x86_64.
*
FFmpeg extension: Add support for x86_64.
### 2.11.3 (2020-02-19) ###
### 2.11.3 (2020-02-19) ###
...
...
library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java
View file @
dca68b21
...
@@ -807,15 +807,18 @@ public final class DashMediaSource extends BaseMediaSource {
...
@@ -807,15 +807,18 @@ public final class DashMediaSource extends BaseMediaSource {
manifestLoadPending
&=
manifest
.
dynamic
;
manifestLoadPending
&=
manifest
.
dynamic
;
manifestLoadStartTimestampMs
=
elapsedRealtimeMs
-
loadDurationMs
;
manifestLoadStartTimestampMs
=
elapsedRealtimeMs
-
loadDurationMs
;
manifestLoadEndTimestampMs
=
elapsedRealtimeMs
;
manifestLoadEndTimestampMs
=
elapsedRealtimeMs
;
if
(
manifest
.
location
!=
null
)
{
synchronized
(
manifestUriLock
)
{
synchronized
(
manifestUriLock
)
{
// This condition checks that replaceManifestUri wasn't called between the start and end of
// Checks whether replaceManifestUri(Uri) was called to manually replace the URI between the
// this load. If it was, we ignore the manifest location and prefer the manual replacement.
// start and end of this load. If it was then isSameUriInstance evaluates to false, and we
@SuppressWarnings
(
"ReferenceEquality"
)
// prefer the manual replacement to one derived from the previous request.
boolean
isSameUriInstance
=
loadable
.
dataSpec
.
uri
==
manifestUri
;
@SuppressWarnings
(
"ReferenceEquality"
)
if
(
isSameUriInstance
)
{
boolean
isSameUriInstance
=
loadable
.
dataSpec
.
uri
==
manifestUri
;
manifestUri
=
manifest
.
location
;
if
(
isSameUriInstance
)
{
}
// Replace the manifest URI with one specified by a manifest Location element (if present),
// or with the final (possibly redirected) URI. This follows the recommendation in
// DASH-IF-IOP 4.3, section 3.2.15.3. See: https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf.
manifestUri
=
manifest
.
location
!=
null
?
manifest
.
location
:
loadable
.
getUri
();
}
}
}
}
...
...
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