Move usages of allowReleaseFirstFrameBeforeStarted inside sink
PiperOrigin-RevId: 642611061
This commit is contained in:
parent
0b2bca02ca
commit
6234a8bede
@ -529,8 +529,8 @@ public final class CompositingVideoSinkProvider implements VideoSinkProvider, Vi
|
|||||||
// VideoSink impl
|
// VideoSink impl
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRendererEnabled(boolean releaseFirstFrameBeforeStarted) {
|
public void onRendererEnabled(boolean mayRenderStartOfStream) {
|
||||||
videoFrameReleaseControl.onEnabled(releaseFirstFrameBeforeStarted);
|
videoFrameReleaseControl.onEnabled(mayRenderStartOfStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -694,6 +694,11 @@ public final class CompositingVideoSinkProvider implements VideoSinkProvider, Vi
|
|||||||
CompositingVideoSinkProvider.this.clearOutputSurfaceInfo();
|
CompositingVideoSinkProvider.this.clearOutputSurfaceInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enableMayRenderStartOfStream() {
|
||||||
|
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long registerInputFrame(long framePresentationTimeUs, boolean isLastFrame) {
|
public long registerInputFrame(long framePresentationTimeUs, boolean isLastFrame) {
|
||||||
checkState(isInitialized());
|
checkState(isInitialized());
|
||||||
|
@ -704,8 +704,12 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void enableMayRenderStartOfStream() {
|
public void enableMayRenderStartOfStream() {
|
||||||
|
if (videoSink != null) {
|
||||||
|
videoSink.enableMayRenderStartOfStream();
|
||||||
|
} else {
|
||||||
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPositionReset(long positionUs, boolean joining) throws ExoPlaybackException {
|
protected void onPositionReset(long positionUs, boolean joining) throws ExoPlaybackException {
|
||||||
|
@ -107,7 +107,7 @@ public interface VideoSink {
|
|||||||
int INPUT_TYPE_BITMAP = 2;
|
int INPUT_TYPE_BITMAP = 2;
|
||||||
|
|
||||||
/** Called when the renderer is enabled. */
|
/** Called when the renderer is enabled. */
|
||||||
void onRendererEnabled(boolean releaseFirstFrameBeforeStarted);
|
void onRendererEnabled(boolean mayRenderStartOfStream);
|
||||||
|
|
||||||
/** Called when the renderer is disabled. */
|
/** Called when the renderer is disabled. */
|
||||||
void onRendererDisabled();
|
void onRendererDisabled();
|
||||||
@ -199,6 +199,15 @@ public interface VideoSink {
|
|||||||
/** Clears the set output surface info. */
|
/** Clears the set output surface info. */
|
||||||
void clearOutputSurfaceInfo();
|
void clearOutputSurfaceInfo();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables this video sink to render the start of the stream even if the renderer is not
|
||||||
|
* {@linkplain #onRendererStarted() started} yet.
|
||||||
|
*
|
||||||
|
* <p>This is used to update the value of {@code mayRenderStartOfStream} passed to {@link
|
||||||
|
* #onRendererEnabled(boolean)}.
|
||||||
|
*/
|
||||||
|
void enableMayRenderStartOfStream();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Informs the video sink that a new input stream will be queued.
|
* Informs the video sink that a new input stream will be queued.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user