Texture input tests: use separate textures to queue to transformer

Use different textures in calls to queueInputTexture(). Allows the texture to be deleted one it is used in transformer and effect.

PiperOrigin-RevId: 632430866
This commit is contained in:
tofunmi 2024-05-10 02:38:58 -07:00 committed by Copybara-Service
parent 325f4ec502
commit 1749726bc9

View File

@ -254,7 +254,8 @@ public class TransformerEndToEndTest {
.setDurationUs(C.MICROS_PER_SECOND) .setDurationUs(C.MICROS_PER_SECOND)
.setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects)) .setEffects(new Effects(/* audioProcessors= */ ImmutableList.of(), videoEffects))
.build(); .build();
int texId = generateTextureFromBitmap(bitmap); int texId1 = generateTextureFromBitmap(bitmap);
int texId2 = generateTextureFromBitmap(bitmap);
HandlerThread textureQueuingThread = new HandlerThread("textureQueuingThread"); HandlerThread textureQueuingThread = new HandlerThread("textureQueuingThread");
textureQueuingThread.start(); textureQueuingThread.start();
Looper looper = checkNotNull(textureQueuingThread.getLooper()); Looper looper = checkNotNull(textureQueuingThread.getLooper());
@ -263,9 +264,9 @@ public class TransformerEndToEndTest {
@Override @Override
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
if (textureAssetLoader != null if (textureAssetLoader != null
&& textureAssetLoader.queueInputTexture(texId, /* presentationTimeUs= */ 0)) { && textureAssetLoader.queueInputTexture(texId1, /* presentationTimeUs= */ 0)) {
textureAssetLoader.queueInputTexture( textureAssetLoader.queueInputTexture(
texId, /* presentationTimeUs= */ C.MICROS_PER_SECOND / 2); texId2, /* presentationTimeUs= */ C.MICROS_PER_SECOND / 2);
textureAssetLoader.signalEndOfVideoInput(); textureAssetLoader.signalEndOfVideoInput();
return; return;
} }
@ -305,7 +306,8 @@ public class TransformerEndToEndTest {
new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY)) new EditedMediaItem.Builder(MediaItem.fromUri(Uri.EMPTY))
.setDurationUs(C.MICROS_PER_SECOND) .setDurationUs(C.MICROS_PER_SECOND)
.build(); .build();
int texId = generateTextureFromBitmap(bitmap); int texId1 = generateTextureFromBitmap(bitmap);
int texId2 = generateTextureFromBitmap(bitmap);
HandlerThread textureQueuingThread = new HandlerThread("textureQueuingThread"); HandlerThread textureQueuingThread = new HandlerThread("textureQueuingThread");
textureQueuingThread.start(); textureQueuingThread.start();
Looper looper = checkNotNull(textureQueuingThread.getLooper()); Looper looper = checkNotNull(textureQueuingThread.getLooper());
@ -314,9 +316,9 @@ public class TransformerEndToEndTest {
@Override @Override
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
if (textureAssetLoader != null if (textureAssetLoader != null
&& textureAssetLoader.queueInputTexture(texId, /* presentationTimeUs= */ 0)) { && textureAssetLoader.queueInputTexture(texId1, /* presentationTimeUs= */ 0)) {
textureAssetLoader.queueInputTexture( textureAssetLoader.queueInputTexture(
texId, /* presentationTimeUs= */ C.MICROS_PER_SECOND / 2); texId2, /* presentationTimeUs= */ C.MICROS_PER_SECOND / 2);
textureAssetLoader.signalEndOfVideoInput(); textureAssetLoader.signalEndOfVideoInput();
return; return;
} }