Android: Generalize and make TextureBufferImpl public
This CL generalizes TextureBufferImpl so it's useful from other contexts than from a SurfaceTextureHelper, and fixes a bug in cropAndScale(). It also exposes the class in the api so that clients don't have to duplicate the logic. Bug: None Change-Id: Ib82aa8bee025ec14de74a7be9d91fd4e5298a248 Reviewed-on: https://webrtc-review.googlesource.com/69819 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Commit-Queue: Magnus Jedvert <magjed@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22875}
This commit is contained in:

committed by
Commit Bot

parent
e31be15d47
commit
28111d7fa0
@ -171,10 +171,10 @@ public class VideoRenderer {
|
||||
yuvStrides[1], yuvPlanes[2], yuvStrides[2],
|
||||
() -> { VideoRenderer.renderFrameDone(this); });
|
||||
} else {
|
||||
// Note: surfaceTextureHelper being null means calling toI420 will crash.
|
||||
// Note: No Handler or YuvConverter means calling toI420 will crash.
|
||||
buffer = new TextureBufferImpl(width, height, VideoFrame.TextureBuffer.Type.OES, textureId,
|
||||
RendererCommon.convertMatrixToAndroidGraphicsMatrix(samplingMatrix),
|
||||
null /* surfaceTextureHelper */, () -> { VideoRenderer.renderFrameDone(this); });
|
||||
RendererCommon.convertMatrixToAndroidGraphicsMatrix(samplingMatrix), null /* handler */,
|
||||
null /* yuvConverter */, () -> VideoRenderer.renderFrameDone(this));
|
||||
}
|
||||
return new VideoFrame(buffer, rotationDegree, 0 /* timestampNs */);
|
||||
}
|
||||
|
Reference in New Issue
Block a user