mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Merge pull request #7064 from davibe:enhancement/6907
PiperOrigin-RevId: 300330109
This commit is contained in:
parent
40d5db0460
commit
dca68b2198
2 changed files with 14 additions and 9 deletions
|
|
@ -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) ###
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue