discord-jadx/app/src/main/java/org/webrtc/NativeCapturerObserver.java

33 lines
1.3 KiB
Java

package org.webrtc;
import org.webrtc.VideoFrame;
import org.webrtc.VideoProcessor;
public class NativeCapturerObserver implements CapturerObserver {
private final NativeAndroidVideoTrackSource nativeAndroidVideoTrackSource;
@CalledByNative
public NativeCapturerObserver(long j) {
this.nativeAndroidVideoTrackSource = new NativeAndroidVideoTrackSource(j);
}
@Override // org.webrtc.CapturerObserver
public void onCapturerStarted(boolean z2) {
this.nativeAndroidVideoTrackSource.setState(z2);
}
@Override // org.webrtc.CapturerObserver
public void onCapturerStopped() {
this.nativeAndroidVideoTrackSource.setState(false);
}
@Override // org.webrtc.CapturerObserver
public void onFrameCaptured(VideoFrame videoFrame) {
VideoProcessor.FrameAdaptationParameters adaptFrame = this.nativeAndroidVideoTrackSource.adaptFrame(videoFrame);
if (adaptFrame != null) {
VideoFrame.Buffer cropAndScale = videoFrame.getBuffer().cropAndScale(adaptFrame.cropX, adaptFrame.cropY, adaptFrame.cropWidth, adaptFrame.cropHeight, adaptFrame.scaleWidth, adaptFrame.scaleHeight);
this.nativeAndroidVideoTrackSource.onFrameCaptured(new VideoFrame(cropAndScale, videoFrame.getRotation(), adaptFrame.timestampNs));
cropAndScale.release();
}
}
}