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

Side by Side Diff: webrtc/sdk/android/src/jni/native_handle_impl.h

Issue 2990583002: Move matrix from VideoFrame to TextureBuffer. (Closed)
Patch Set: Fixes. 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 // of AndroidVideoCapturerJni. 99 // of AndroidVideoCapturerJni.
100 jobject surface_texture_helper_; 100 jobject surface_texture_helper_;
101 rtc::Callback0<void> no_longer_used_cb_; 101 rtc::Callback0<void> no_longer_used_cb_;
102 }; 102 };
103 103
104 class AndroidVideoBuffer : public AndroidVideoFrameBuffer { 104 class AndroidVideoBuffer : public AndroidVideoFrameBuffer {
105 public: 105 public:
106 AndroidVideoBuffer(JNIEnv* jni, 106 AndroidVideoBuffer(JNIEnv* jni,
107 jmethodID j_retain_id, 107 jmethodID j_retain_id,
108 jmethodID j_release_id, 108 jmethodID j_release_id,
109 int width, 109 jmethodID j_get_width_id,
110 int height, 110 jmethodID j_get_height_id,
111 const Matrix& matrix,
112 jobject j_video_frame_buffer); 111 jobject j_video_frame_buffer);
113 ~AndroidVideoBuffer() override; 112 ~AndroidVideoBuffer() override;
114 113
115 jobject video_frame_buffer() const; 114 jobject video_frame_buffer() const;
116 115
117 // Returns an instance of VideoRenderer.I420Frame (deprecated) 116 // Returns an instance of VideoRenderer.I420Frame (deprecated)
118 jobject ToJavaI420Frame(JNIEnv* jni, int width, int height, int rotation); 117 jobject ToJavaI420Frame(JNIEnv* jni, int rotation);
119 118
120 private: 119 private:
121 Type type() const override; 120 Type type() const override;
122 int width() const override; 121 int width() const override;
123 int height() const override; 122 int height() const override;
124 123
125 rtc::scoped_refptr<webrtc::I420BufferInterface> ToI420() override; 124 rtc::scoped_refptr<webrtc::I420BufferInterface> ToI420() override;
126 125
127 AndroidType android_type() override { return AndroidType::kJavaBuffer; } 126 AndroidType android_type() override { return AndroidType::kJavaBuffer; }
128 127
129 const jmethodID j_release_id_; 128 const jmethodID j_release_id_;
130 const int width_; 129 const jmethodID j_get_width_id_;
131 const int height_; 130 const jmethodID j_get_height_id_;
132 const Matrix matrix_;
133 // Holds a VideoFrame.Buffer. 131 // Holds a VideoFrame.Buffer.
134 ScopedGlobalRef<jobject> j_video_frame_buffer_; 132 ScopedGlobalRef<jobject> j_video_frame_buffer_;
135 }; 133 };
136 134
137 class AndroidVideoBufferFactory { 135 class AndroidVideoBufferFactory {
138 public: 136 public:
139 explicit AndroidVideoBufferFactory(JNIEnv* jni); 137 explicit AndroidVideoBufferFactory(JNIEnv* jni);
140 138
141 webrtc::VideoFrame CreateFrame(JNIEnv* jni, 139 webrtc::VideoFrame CreateFrame(JNIEnv* jni,
142 jobject j_video_frame, 140 jobject j_video_frame,
143 uint32_t timestamp_rtp) const; 141 uint32_t timestamp_rtp) const;
144 142
145 rtc::scoped_refptr<AndroidVideoBuffer> CreateBuffer( 143 rtc::scoped_refptr<AndroidVideoBuffer> CreateBuffer(
146 int width,
147 int height,
148 const Matrix& matrix,
149 jobject j_video_frame_buffer) const; 144 jobject j_video_frame_buffer) const;
150 145
151 private: 146 private:
152 ScopedGlobalRef<jclass> j_video_frame_class_; 147 ScopedGlobalRef<jclass> j_video_frame_class_;
153 jmethodID j_get_buffer_id_; 148 jmethodID j_get_buffer_id_;
154 jmethodID j_get_width_id_;
155 jmethodID j_get_height_id_;
156 jmethodID j_get_rotation_id_; 149 jmethodID j_get_rotation_id_;
157 jmethodID j_get_transform_matrix_id_;
158 jmethodID j_get_timestamp_ns_id_; 150 jmethodID j_get_timestamp_ns_id_;
159 151
160 ScopedGlobalRef<jclass> j_video_frame_buffer_class_; 152 ScopedGlobalRef<jclass> j_video_frame_buffer_class_;
161 jmethodID j_retain_id_; 153 jmethodID j_retain_id_;
162 jmethodID j_release_id_; 154 jmethodID j_release_id_;
155 jmethodID j_get_width_id_;
156 jmethodID j_get_height_id_;
163 }; 157 };
164 158
165 } // namespace webrtc_jni 159 } // namespace webrtc_jni
166 160
167 #endif // WEBRTC_SDK_ANDROID_SRC_JNI_NATIVE_HANDLE_IMPL_H_ 161 #endif // WEBRTC_SDK_ANDROID_SRC_JNI_NATIVE_HANDLE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698