Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: webrtc/sdk/android/src/jni/native_handle_impl.h

Issue 2982213002: Add support for capturers to capture VideoFrames. (Closed)
Patch Set: Minor changes Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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:
« no previous file with comments | « webrtc/sdk/android/src/jni/androidvideotracksource_jni.cc ('k') | webrtc/sdk/android/src/jni/native_handle_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698