From f25c912c729951a43c1adb3f5f7310fbca09e5ed Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 13 Apr 2022 11:44:50 +0100 Subject: [PATCH] Rename GlFrameProcessor updateProgramAndDraw to drawFrame. What a minimal implementation should include is now explained in the interface javadoc while the method name reflects what the method does. PiperOrigin-RevId: 441432059 --- .../BitmapOverlayFrameProcessor.java | 2 +- .../PeriodicVignetteFrameProcessor.java | 2 +- .../AdvancedFrameProcessorPixelTest.java | 24 ++++---- .../transformer/FrameProcessorChainTest.java | 2 +- .../PresentationFrameProcessorPixelTest.java | 60 +++++++++---------- .../transformer/AdvancedFrameProcessor.java | 2 +- .../ExternalCopyFrameProcessor.java | 2 +- .../transformer/FrameProcessorChain.java | 4 +- .../media3/transformer/GlFrameProcessor.java | 12 ++-- .../PresentationFrameProcessor.java | 4 +- .../transformer/ScaleToFitFrameProcessor.java | 4 +- 11 files changed, 59 insertions(+), 59 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayFrameProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayFrameProcessor.java index dd7b9539c6..256bf3a5d0 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayFrameProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayFrameProcessor.java @@ -117,7 +117,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } @Override - public void updateProgramAndDraw(long presentationTimeUs) { + public void drawFrame(long presentationTimeUs) { checkStateNotNull(glProgram); glProgram.use(); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteFrameProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteFrameProcessor.java index e313266b3b..ee71d74f72 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteFrameProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteFrameProcessor.java @@ -105,7 +105,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } @Override - public void updateProgramAndDraw(long presentationTimeUs) { + public void drawFrame(long presentationTimeUs) { checkStateNotNull(glProgram).use(); double theta = presentationTimeUs * 2 * Math.PI / DIMMING_PERIOD_US; float innerRadius = minInnerRadius + deltaInnerRadius * (0.5f - 0.5f * (float) Math.cos(theta)); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AdvancedFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AdvancedFrameProcessorPixelTest.java index ce240e94a3..1b2b0332ea 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AdvancedFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AdvancedFrameProcessorPixelTest.java @@ -86,14 +86,14 @@ public final class AdvancedFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_noEdits_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_noEdits"; + public void drawFrame_noEdits_producesExpectedOutput() throws Exception { + String testId = "drawFrame_noEdits"; Matrix identityMatrix = new Matrix(); advancedFrameProcessor = new AdvancedFrameProcessor(getApplicationContext(), identityMatrix); advancedFrameProcessor.initialize(inputTexId, width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(FIRST_FRAME_PNG_ASSET_STRING); - advancedFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + advancedFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -107,8 +107,8 @@ public final class AdvancedFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_translateRight_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_translateRight"; + public void drawFrame_translateRight_producesExpectedOutput() throws Exception { + String testId = "drawFrame_translateRight"; Matrix translateRightMatrix = new Matrix(); translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); advancedFrameProcessor = @@ -117,7 +117,7 @@ public final class AdvancedFrameProcessorPixelTest { Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_EXPECTED_OUTPUT_PNG_ASSET_STRING); - advancedFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + advancedFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -131,8 +131,8 @@ public final class AdvancedFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_scaleNarrow_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_scaleNarrow"; + public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { + String testId = "drawFrame_scaleNarrow"; Matrix scaleNarrowMatrix = new Matrix(); scaleNarrowMatrix.postScale(.5f, 1.2f); advancedFrameProcessor = new AdvancedFrameProcessor(getApplicationContext(), scaleNarrowMatrix); @@ -140,7 +140,7 @@ public final class AdvancedFrameProcessorPixelTest { Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_EXPECTED_OUTPUT_PNG_ASSET_STRING); - advancedFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + advancedFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -154,15 +154,15 @@ public final class AdvancedFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_rotate90_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_rotate90"; + public void drawFrame_rotate90_producesExpectedOutput() throws Exception { + String testId = "drawFrame_rotate90"; Matrix rotate90Matrix = new Matrix(); rotate90Matrix.postRotate(/* degrees= */ 90); advancedFrameProcessor = new AdvancedFrameProcessor(getApplicationContext(), rotate90Matrix); advancedFrameProcessor.initialize(inputTexId, width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_EXPECTED_OUTPUT_PNG_ASSET_STRING); - advancedFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + advancedFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java index ee81429b44..5b41b513e5 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java @@ -146,7 +146,7 @@ public final class FrameProcessorChainTest { } @Override - public void updateProgramAndDraw(long presentationTimeNs) {} + public void drawFrame(long presentationTimeNs) {} @Override public void release() {} diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationFrameProcessorPixelTest.java index dc408d6520..745f32befa 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationFrameProcessorPixelTest.java @@ -90,8 +90,8 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_noEdits_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_noEdits"; + public void drawFrame_noEdits_producesExpectedOutput() throws Exception { + String testId = "drawFrame_noEdits"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()).build(); presentationFrameProcessor.initialize(inputTexId, inputWidth, inputHeight); @@ -99,7 +99,7 @@ public final class PresentationFrameProcessorPixelTest { setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(FIRST_FRAME_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -114,8 +114,8 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_cropSmaller_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_cropSmaller"; + public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { + String testId = "drawFrame_cropSmaller"; GlFrameProcessor presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setCrop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) @@ -126,7 +126,7 @@ public final class PresentationFrameProcessorPixelTest { Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -141,8 +141,8 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_cropLarger_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_cropSmaller"; + public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { + String testId = "drawFrame_cropSmaller"; GlFrameProcessor presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setCrop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) @@ -152,7 +152,7 @@ public final class PresentationFrameProcessorPixelTest { setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -167,9 +167,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput() + public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_scaleToFit_narrow"; + String testId = "drawFrame_changeAspectRatio_scaleToFit_narrow"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(1f, PresentationFrameProcessor.SCALE_TO_FIT) @@ -181,7 +181,7 @@ public final class PresentationFrameProcessorPixelTest { BitmapTestUtil.readBitmap( ASPECT_RATIO_SCALE_TO_FIT_NARROW_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -196,9 +196,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() + public void drawFrame_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_scaleToFit_wide"; + String testId = "drawFrame_changeAspectRatio_scaleToFit_wide"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(2f, PresentationFrameProcessor.SCALE_TO_FIT) @@ -209,7 +209,7 @@ public final class PresentationFrameProcessorPixelTest { Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WIDE_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -224,10 +224,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void - updateProgramAndDraw_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpectedOutput() - throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_scaleToFitWithCrop_narrow"; + public void drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpectedOutput() + throws Exception { + String testId = "drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(1f, PresentationFrameProcessor.SCALE_TO_FIT_WITH_CROP) @@ -239,7 +238,7 @@ public final class PresentationFrameProcessorPixelTest { BitmapTestUtil.readBitmap( ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_NARROW_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -254,10 +253,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void - updateProgramAndDraw_changeAspectRatio_scaleToFitWithCrop_wide_producesExpectedOutput() - throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_scaleToFitWithCrop_wide"; + public void drawFrame_changeAspectRatio_scaleToFitWithCrop_wide_producesExpectedOutput() + throws Exception { + String testId = "drawFrame_changeAspectRatio_scaleToFitWithCrop_wide"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(2f, PresentationFrameProcessor.SCALE_TO_FIT_WITH_CROP) @@ -269,7 +267,7 @@ public final class PresentationFrameProcessorPixelTest { BitmapTestUtil.readBitmap( ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_WIDE_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -284,9 +282,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_changeAspectRatio_stretchToFit_narrow_producesExpectedOutput() + public void drawFrame_changeAspectRatio_stretchToFit_narrow_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_stretchToFit_narrow"; + String testId = "drawFrame_changeAspectRatio_stretchToFit_narrow"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(1f, PresentationFrameProcessor.STRETCH_TO_FIT) @@ -298,7 +296,7 @@ public final class PresentationFrameProcessorPixelTest { BitmapTestUtil.readBitmap( ASPECT_RATIO_STRETCH_TO_FIT_NARROW_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -313,9 +311,9 @@ public final class PresentationFrameProcessorPixelTest { } @Test - public void updateProgramAndDraw_changeAspectRatio_stretchToFit_wide_producesExpectedOutput() + public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput() throws Exception { - String testId = "updateProgramAndDraw_changeAspectRatio_stretchToFit_wide"; + String testId = "drawFrame_changeAspectRatio_stretchToFit_wide"; presentationFrameProcessor = new PresentationFrameProcessor.Builder(getApplicationContext()) .setAspectRatio(2f, PresentationFrameProcessor.STRETCH_TO_FIT) @@ -327,7 +325,7 @@ public final class PresentationFrameProcessorPixelTest { BitmapTestUtil.readBitmap( ASPECT_RATIO_STRETCH_TO_FIT_WIDE_EXPECTED_OUTPUT_PNG_ASSET_STRING); - presentationFrameProcessor.updateProgramAndDraw(/* presentationTimeUs= */ 0); + presentationFrameProcessor.drawFrame(/* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AdvancedFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AdvancedFrameProcessor.java index 1bd7bd7fb5..c0ce1853fc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AdvancedFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AdvancedFrameProcessor.java @@ -187,7 +187,7 @@ public final class AdvancedFrameProcessor implements GlFrameProcessor { } @Override - public void updateProgramAndDraw(long presentationTimeUs) { + public void drawFrame(long presentationTimeUs) { checkStateNotNull(glProgram).use(); glProgram.setFloatsUniform( "uTransformationMatrix", matrixProvider.getGlMatrixArray(presentationTimeUs)); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalCopyFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalCopyFrameProcessor.java index eaeeedad05..c114e985df 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalCopyFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalCopyFrameProcessor.java @@ -103,7 +103,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } @Override - public void updateProgramAndDraw(long presentationTimeUs) { + public void drawFrame(long presentationTimeUs) { checkStateNotNull(glProgram); glProgram.use(); glProgram.bindAttributesAndUniforms(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index e3382bd631..53ff83b2a5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -446,12 +446,12 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; intermediateSize.getWidth(), intermediateSize.getHeight()); clearOutputFrame(); - frameProcessors.get(i).updateProgramAndDraw(presentationTimeUs); + frameProcessors.get(i).drawFrame(presentationTimeUs); } GlUtil.focusEglSurface( eglDisplay, eglContext, eglSurface, outputSize.getWidth(), outputSize.getHeight()); clearOutputFrame(); - getLast(frameProcessors).updateProgramAndDraw(presentationTimeUs); + getLast(frameProcessors).drawFrame(presentationTimeUs); EGLExt.eglPresentationTimeANDROID(eglDisplay, eglSurface, presentationTimeNs); EGL14.eglSwapBuffers(eglDisplay, eglSurface); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlFrameProcessor.java index 31ff97ad14..e9f52aa795 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlFrameProcessor.java @@ -27,7 +27,7 @@ import java.io.IOException; *
    *
  1. The constructor, for implementation-specific arguments. *
  2. {@link #initialize(int,int,int)}, to set up graphics initialization. - *
  3. {@link #updateProgramAndDraw(long)}, to process one frame. + *
  4. {@link #drawFrame(long)}, to process one frame. *
  5. {@link #release()}, upon conclusion of processing. *
*/ @@ -47,8 +47,7 @@ public interface GlFrameProcessor { void initialize(int inputTexId, int inputWidth, int inputHeight) throws IOException; /** - * Returns the output {@link Size} of frames processed through {@link - * #updateProgramAndDraw(long)}. + * Returns the output {@link Size} of frames processed through {@link #drawFrame(long)}. * *

This method may only be called after the frame processor has been {@link * #initialize(int,int,int) initialized}. @@ -56,15 +55,18 @@ public interface GlFrameProcessor { Size getOutputSize(); /** - * Updates the shader program's vertex attributes and uniforms, binds them, and draws. + * Draws one frame. * *

This method may only be called after the frame processor has been {@link * #initialize(int,int,int) initialized}. The caller is responsible for focussing the correct * render target before calling this method. * + *

A minimal implementation should tell OpenGL to use its shader program, bind the shader + * program's vertex attributes and uniforms, and issue a drawing command. + * * @param presentationTimeUs The presentation timestamp of the current frame, in microseconds. */ - void updateProgramAndDraw(long presentationTimeUs); + void drawFrame(long presentationTimeUs); /** Releases all resources. */ void release(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/PresentationFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/PresentationFrameProcessor.java index c958d9d498..6e2d49ee31 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/PresentationFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/PresentationFrameProcessor.java @@ -268,8 +268,8 @@ public final class PresentationFrameProcessor implements GlFrameProcessor { } @Override - public void updateProgramAndDraw(long presentationTimeUs) { - checkStateNotNull(advancedFrameProcessor).updateProgramAndDraw(presentationTimeUs); + public void drawFrame(long presentationTimeUs) { + checkStateNotNull(advancedFrameProcessor).drawFrame(presentationTimeUs); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitFrameProcessor.java index cb0a1fabde..0401fc911a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitFrameProcessor.java @@ -134,8 +134,8 @@ public final class ScaleToFitFrameProcessor implements GlFrameProcessor { } @Override - public void updateProgramAndDraw(long presentationTimeUs) { - checkStateNotNull(advancedFrameProcessor).updateProgramAndDraw(presentationTimeUs); + public void drawFrame(long presentationTimeUs) { + checkStateNotNull(advancedFrameProcessor).drawFrame(presentationTimeUs); } @Override