mirror of
https://github.com/samsonjs/media.git
synced 2026-03-25 09:25:53 +00:00
Move usages of allowReleaseFirstFrameBeforeStarted inside sink
PiperOrigin-RevId: 642611061
This commit is contained in:
parent
0b2bca02ca
commit
6234a8bede
3 changed files with 22 additions and 4 deletions
|
|
@ -529,8 +529,8 @@ public final class CompositingVideoSinkProvider implements VideoSinkProvider, Vi
|
|||
// VideoSink impl
|
||||
|
||||
@Override
|
||||
public void onRendererEnabled(boolean releaseFirstFrameBeforeStarted) {
|
||||
videoFrameReleaseControl.onEnabled(releaseFirstFrameBeforeStarted);
|
||||
public void onRendererEnabled(boolean mayRenderStartOfStream) {
|
||||
videoFrameReleaseControl.onEnabled(mayRenderStartOfStream);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -694,6 +694,11 @@ public final class CompositingVideoSinkProvider implements VideoSinkProvider, Vi
|
|||
CompositingVideoSinkProvider.this.clearOutputSurfaceInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enableMayRenderStartOfStream() {
|
||||
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long registerInputFrame(long framePresentationTimeUs, boolean isLastFrame) {
|
||||
checkState(isInitialized());
|
||||
|
|
|
|||
|
|
@ -704,7 +704,11 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer
|
|||
|
||||
@Override
|
||||
public void enableMayRenderStartOfStream() {
|
||||
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
||||
if (videoSink != null) {
|
||||
videoSink.enableMayRenderStartOfStream();
|
||||
} else {
|
||||
videoFrameReleaseControl.allowReleaseFirstFrameBeforeStarted();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ public interface VideoSink {
|
|||
int INPUT_TYPE_BITMAP = 2;
|
||||
|
||||
/** Called when the renderer is enabled. */
|
||||
void onRendererEnabled(boolean releaseFirstFrameBeforeStarted);
|
||||
void onRendererEnabled(boolean mayRenderStartOfStream);
|
||||
|
||||
/** Called when the renderer is disabled. */
|
||||
void onRendererDisabled();
|
||||
|
|
@ -199,6 +199,15 @@ public interface VideoSink {
|
|||
/** Clears the set output surface info. */
|
||||
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.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue