Fix an issue where a keyframe was not skipped.
Keyframe was rendered rather than skipped when performing an exact seek to a non-zero position close to the start of the stream. PiperOrigin-RevId: 284798460
This commit is contained in:
parent
272858f676
commit
65adcdaeb9
@ -101,6 +101,9 @@
|
|||||||
* Fix Dolby Vision fallback to AVC and HEVC.
|
* Fix Dolby Vision fallback to AVC and HEVC.
|
||||||
* Fix early end-of-stream detection when using video tunneling, on API level
|
* Fix early end-of-stream detection when using video tunneling, on API level
|
||||||
23 and above.
|
23 and above.
|
||||||
|
* Fix an issue where a keyframe was rendered rather than skipped when
|
||||||
|
performing an exact seek to a non-zero position close to the start of the
|
||||||
|
stream.
|
||||||
* Audio:
|
* Audio:
|
||||||
* Fix the start of audio getting truncated when transitioning to a new
|
* Fix the start of audio getting truncated when transitioning to a new
|
||||||
item in a playlist of Opus streams.
|
item in a playlist of Opus streams.
|
||||||
|
@ -385,8 +385,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
@DrainAction private int codecDrainAction;
|
@DrainAction private int codecDrainAction;
|
||||||
private boolean codecReceivedBuffers;
|
private boolean codecReceivedBuffers;
|
||||||
private boolean codecReceivedEos;
|
private boolean codecReceivedEos;
|
||||||
private long lastBufferInStreamPresentationTimeUs;
|
|
||||||
private long largestQueuedPresentationTimeUs;
|
private long largestQueuedPresentationTimeUs;
|
||||||
|
private long lastBufferInStreamPresentationTimeUs;
|
||||||
private boolean inputStreamEnded;
|
private boolean inputStreamEnded;
|
||||||
private boolean outputStreamEnded;
|
private boolean outputStreamEnded;
|
||||||
private boolean waitingForKeys;
|
private boolean waitingForKeys;
|
||||||
@ -1016,6 +1016,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer {
|
|||||||
codecReconfigurationState = RECONFIGURATION_STATE_NONE;
|
codecReconfigurationState = RECONFIGURATION_STATE_NONE;
|
||||||
codecReceivedEos = false;
|
codecReceivedEos = false;
|
||||||
codecReceivedBuffers = false;
|
codecReceivedBuffers = false;
|
||||||
|
largestQueuedPresentationTimeUs = C.TIME_UNSET;
|
||||||
|
lastBufferInStreamPresentationTimeUs = C.TIME_UNSET;
|
||||||
codecDrainState = DRAIN_STATE_NONE;
|
codecDrainState = DRAIN_STATE_NONE;
|
||||||
codecDrainAction = DRAIN_ACTION_NONE;
|
codecDrainAction = DRAIN_ACTION_NONE;
|
||||||
codecNeedsAdaptationWorkaroundBuffer = false;
|
codecNeedsAdaptationWorkaroundBuffer = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user