Pass java EncodedImage over jni to VideoEncoderWrapper::OnEncodedFrame
Preparation for adding a release() method on java's EncodedImage, and
call that from C++.
Bug: webrtc:9378
Change-Id: I301f64b16684c535f45a3fc9cd9ae1543df59d92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/141861
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28268}
diff --git a/sdk/android/api/org/webrtc/EncodedImage.java b/sdk/android/api/org/webrtc/EncodedImage.java
index 84c72b1..f8de3d2 100644
--- a/sdk/android/api/org/webrtc/EncodedImage.java
+++ b/sdk/android/api/org/webrtc/EncodedImage.java
@@ -10,6 +10,7 @@
package org.webrtc;
+import android.support.annotation.Nullable;
import java.nio.ByteBuffer;
import java.util.concurrent.TimeUnit;
@@ -53,11 +54,11 @@
public final FrameType frameType;
public final int rotation;
public final boolean completeFrame;
- public final Integer qp;
+ public final @Nullable Integer qp;
@CalledByNative
private EncodedImage(ByteBuffer buffer, int encodedWidth, int encodedHeight, long captureTimeNs,
- FrameType frameType, int rotation, boolean completeFrame, Integer qp) {
+ FrameType frameType, int rotation, boolean completeFrame, @Nullable Integer qp) {
this.buffer = buffer;
this.encodedWidth = encodedWidth;
this.encodedHeight = encodedHeight;
@@ -69,6 +70,46 @@
this.qp = qp;
}
+ @CalledByNative
+ private ByteBuffer getBuffer() {
+ return buffer;
+ }
+
+ @CalledByNative
+ private int getEncodedWidth() {
+ return encodedWidth;
+ }
+
+ @CalledByNative
+ private int getEncodedHeight() {
+ return encodedHeight;
+ }
+
+ @CalledByNative
+ private long getCaptureTimeNs() {
+ return captureTimeNs;
+ }
+
+ @CalledByNative
+ private int getFrameType() {
+ return frameType.getNative();
+ }
+
+ @CalledByNative
+ private int getRotation() {
+ return rotation;
+ }
+
+ @CalledByNative
+ private boolean getCompleteFrame() {
+ return completeFrame;
+ }
+
+ @CalledByNative
+ private @Nullable Integer getQp() {
+ return qp;
+ }
+
public static Builder builder() {
return new Builder();
}
@@ -81,7 +122,7 @@
private EncodedImage.FrameType frameType;
private int rotation;
private boolean completeFrame;
- private Integer qp;
+ private @Nullable Integer qp;
private Builder() {}
@@ -126,7 +167,7 @@
return this;
}
- public Builder setQp(Integer qp) {
+ public Builder setQp(@Nullable Integer qp) {
this.qp = qp;
return this;
}