mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Call VideoFrameReleaseControl.setPlaybackSpeed from sink when enabled
Do not call VideoFrameReleaseControl.setPlaybackSpeed directly from MCVR when the video sink is enabled. PiperOrigin-RevId: 641840894
This commit is contained in:
parent
abf601feaa
commit
ec49d19384
2 changed files with 6 additions and 1 deletions
|
|
@ -674,6 +674,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
||||||
// Pass a direct executor since the callback handling involves posting on the app looper
|
// Pass a direct executor since the callback handling involves posting on the app looper
|
||||||
// again, so there's no need to do two hops.
|
// again, so there's no need to do two hops.
|
||||||
directExecutor());
|
directExecutor());
|
||||||
|
videoSink.setPlaybackSpeed(getPlaybackSpeed());
|
||||||
videoSink.onRendererEnabled(mayRenderStartOfStream);
|
videoSink.onRendererEnabled(mayRenderStartOfStream);
|
||||||
} else {
|
} else {
|
||||||
videoFrameReleaseControl.onEnabled(mayRenderStartOfStream);
|
videoFrameReleaseControl.onEnabled(mayRenderStartOfStream);
|
||||||
|
|
@ -1004,9 +1005,10 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
||||||
public void setPlaybackSpeed(float currentPlaybackSpeed, float targetPlaybackSpeed)
|
public void setPlaybackSpeed(float currentPlaybackSpeed, float targetPlaybackSpeed)
|
||||||
throws ExoPlaybackException {
|
throws ExoPlaybackException {
|
||||||
super.setPlaybackSpeed(currentPlaybackSpeed, targetPlaybackSpeed);
|
super.setPlaybackSpeed(currentPlaybackSpeed, targetPlaybackSpeed);
|
||||||
videoFrameReleaseControl.setPlaybackSpeed(currentPlaybackSpeed);
|
|
||||||
if (shouldUseVideoSink) {
|
if (shouldUseVideoSink) {
|
||||||
videoSink.setPlaybackSpeed(currentPlaybackSpeed);
|
videoSink.setPlaybackSpeed(currentPlaybackSpeed);
|
||||||
|
} else {
|
||||||
|
videoFrameReleaseControl.setPlaybackSpeed(currentPlaybackSpeed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -399,6 +399,9 @@ public final class VideoFrameReleaseControl {
|
||||||
|
|
||||||
/** Sets the playback speed. Called when the renderer playback speed changes. */
|
/** Sets the playback speed. Called when the renderer playback speed changes. */
|
||||||
public void setPlaybackSpeed(float speed) {
|
public void setPlaybackSpeed(float speed) {
|
||||||
|
if (speed == playbackSpeed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.playbackSpeed = speed;
|
this.playbackSpeed = speed;
|
||||||
frameReleaseHelper.onPlaybackSpeed(speed);
|
frameReleaseHelper.onPlaybackSpeed(speed);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue