mirror of
https://github.com/samsonjs/media.git
synced 2026-03-30 10:15:48 +00:00
- Fix bug where we'd try and call replaceStream having already notified the renderer that the current stream is final. This could occur if a period was added to the end of the playlist. - If the current period being played is removed and a new period to play cannot be resolved, assume we've gone off the end of the playlist and transition to the ended state. This allows the current source to be re-used (unlike the previous behavior of considering it an error). Treat valid seeks that cannot be resolved due to concurrent timeline update similarly. - Add seek sanity check back to ExoPlayerImpl. Meh. It's probably best to keep this, since it stops the exposed window index being invalid w.r.t the exposed timeline. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=141167151
48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
/*
|
|
* Copyright (C) 2016 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package com.google.android.exoplayer2;
|
|
|
|
/**
|
|
* Thrown when an attempt is made to seek to a position that does not exist in the player's
|
|
* {@link Timeline}.
|
|
*/
|
|
public final class IllegalSeekPositionException extends IllegalStateException {
|
|
|
|
/**
|
|
* The {@link Timeline} in which the seek was attempted.
|
|
*/
|
|
public final Timeline timeline;
|
|
/**
|
|
* The index of the window being seeked to.
|
|
*/
|
|
public final int windowIndex;
|
|
/**
|
|
* The seek position in the specified window.
|
|
*/
|
|
public final long positionMs;
|
|
|
|
/**
|
|
* @param timeline The {@link Timeline} in which the seek was attempted.
|
|
* @param windowIndex The index of the window being seeked to.
|
|
* @param positionMs The seek position in the specified window.
|
|
*/
|
|
public IllegalSeekPositionException(Timeline timeline, int windowIndex, long positionMs) {
|
|
this.timeline = timeline;
|
|
this.windowIndex = windowIndex;
|
|
this.positionMs = positionMs;
|
|
}
|
|
|
|
}
|