| Index: webrtc/sdk/android/src/jni/native_handle_impl.h
|
| diff --git a/webrtc/sdk/android/src/jni/native_handle_impl.h b/webrtc/sdk/android/src/jni/native_handle_impl.h
|
| index 834441a7c685f33b675ff4288c629ab0b9f42c02..fc674db9d4996691837cb11714f2e5cea80d3a47 100644
|
| --- a/webrtc/sdk/android/src/jni/native_handle_impl.h
|
| +++ b/webrtc/sdk/android/src/jni/native_handle_impl.h
|
| @@ -103,12 +103,28 @@ class AndroidTextureBuffer : public AndroidVideoFrameBuffer {
|
|
|
| class AndroidVideoBuffer : public AndroidVideoFrameBuffer {
|
| public:
|
| + // Wraps an existing reference to a Java VideoBuffer. Retain will not be
|
| + // called but release will be called when the C++ object is destroyed.
|
| + static rtc::scoped_refptr<AndroidVideoBuffer> WrapReference(
|
| + JNIEnv* jni,
|
| + jmethodID j_release_id,
|
| + int width,
|
| + int height,
|
| + jobject j_video_frame_buffer);
|
| +
|
| AndroidVideoBuffer(JNIEnv* jni,
|
| jmethodID j_retain_id,
|
| jmethodID j_release_id,
|
| int width,
|
| int height,
|
| jobject j_video_frame_buffer);
|
| + // Should not be called directly. Wraps a reference. Use
|
| + // AndroidVideoBuffer::WrapReference instead for clarity.
|
| + AndroidVideoBuffer(JNIEnv* jni,
|
| + jmethodID j_release_id,
|
| + int width,
|
| + int height,
|
| + jobject j_video_frame_buffer);
|
| ~AndroidVideoBuffer() override;
|
|
|
| jobject video_frame_buffer() const;
|
| @@ -140,7 +156,14 @@ class AndroidVideoBufferFactory {
|
| jobject j_video_frame,
|
| uint32_t timestamp_rtp) const;
|
|
|
| + // Wraps a buffer to AndroidVideoBuffer without incrementing the reference
|
| + // count.
|
| + rtc::scoped_refptr<AndroidVideoBuffer> WrapBuffer(
|
| + JNIEnv* jni,
|
| + jobject j_video_frame_buffer) const;
|
| +
|
| rtc::scoped_refptr<AndroidVideoBuffer> CreateBuffer(
|
| + JNIEnv* jni,
|
| jobject j_video_frame_buffer) const;
|
|
|
| private:
|
|
|