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

Side by Side Diff: webrtc/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.cc

Issue 3009613002: Android: Replace webrtc_jni namespace with nested jni namespace (Closed)
Patch Set: Rebase Created 3 years, 3 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 2017 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2017 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
11 #include "webrtc/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h" 11 #include "webrtc/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h"
12 12
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "webrtc/sdk/android/src/jni/classreferenceholder.h" 16 #include "webrtc/sdk/android/src/jni/classreferenceholder.h"
17 17
18 namespace webrtc_jni { 18 namespace webrtc {
19 namespace jni {
19 20
20 RTCStatsCollectorCallbackWrapper::RTCStatsCollectorCallbackWrapper( 21 RTCStatsCollectorCallbackWrapper::RTCStatsCollectorCallbackWrapper(
21 JNIEnv* jni, 22 JNIEnv* jni,
22 jobject j_callback) 23 jobject j_callback)
23 : j_callback_global_(jni, j_callback), 24 : j_callback_global_(jni, j_callback),
24 j_callback_class_(jni, GetObjectClass(jni, j_callback)), 25 j_callback_class_(jni, GetObjectClass(jni, j_callback)),
25 j_stats_report_class_(FindClass(jni, "org/webrtc/RTCStatsReport")), 26 j_stats_report_class_(FindClass(jni, "org/webrtc/RTCStatsReport")),
26 j_stats_report_ctor_(GetMethodID(jni, 27 j_stats_report_ctor_(GetMethodID(jni,
27 j_stats_report_class_, 28 j_stats_report_class_,
28 "<init>", 29 "<init>",
(...skipping 21 matching lines...) Expand all
50 j_big_integer_class_(FindClass(jni, "java/math/BigInteger")), 51 j_big_integer_class_(FindClass(jni, "java/math/BigInteger")),
51 j_big_integer_ctor_(GetMethodID(jni, 52 j_big_integer_ctor_(GetMethodID(jni,
52 j_big_integer_class_, 53 j_big_integer_class_,
53 "<init>", 54 "<init>",
54 "(Ljava/lang/String;)V")), 55 "(Ljava/lang/String;)V")),
55 j_double_class_(FindClass(jni, "java/lang/Double")), 56 j_double_class_(FindClass(jni, "java/lang/Double")),
56 j_double_ctor_(GetMethodID(jni, j_double_class_, "<init>", "(D)V")), 57 j_double_ctor_(GetMethodID(jni, j_double_class_, "<init>", "(D)V")),
57 j_string_class_(FindClass(jni, "java/lang/String")) {} 58 j_string_class_(FindClass(jni, "java/lang/String")) {}
58 59
59 void RTCStatsCollectorCallbackWrapper::OnStatsDelivered( 60 void RTCStatsCollectorCallbackWrapper::OnStatsDelivered(
60 const rtc::scoped_refptr<const webrtc::RTCStatsReport>& report) { 61 const rtc::scoped_refptr<const RTCStatsReport>& report) {
61 JNIEnv* jni = AttachCurrentThreadIfNeeded(); 62 JNIEnv* jni = AttachCurrentThreadIfNeeded();
62 ScopedLocalRefFrame local_ref_frame(jni); 63 ScopedLocalRefFrame local_ref_frame(jni);
63 jobject j_report = ReportToJava(jni, report); 64 jobject j_report = ReportToJava(jni, report);
64 jmethodID m = GetMethodID(jni, *j_callback_class_, "onStatsDelivered", 65 jmethodID m = GetMethodID(jni, *j_callback_class_, "onStatsDelivered",
65 "(Lorg/webrtc/RTCStatsReport;)V"); 66 "(Lorg/webrtc/RTCStatsReport;)V");
66 jni->CallVoidMethod(*j_callback_global_, m, j_report); 67 jni->CallVoidMethod(*j_callback_global_, m, j_report);
67 CHECK_EXCEPTION(jni) << "error during CallVoidMethod"; 68 CHECK_EXCEPTION(jni) << "error during CallVoidMethod";
68 } 69 }
69 70
70 jobject RTCStatsCollectorCallbackWrapper::ReportToJava( 71 jobject RTCStatsCollectorCallbackWrapper::ReportToJava(
71 JNIEnv* jni, 72 JNIEnv* jni,
72 const rtc::scoped_refptr<const webrtc::RTCStatsReport>& report) { 73 const rtc::scoped_refptr<const RTCStatsReport>& report) {
73 jobject j_stats_map = 74 jobject j_stats_map =
74 jni->NewObject(j_linked_hash_map_class_, j_linked_hash_map_ctor_); 75 jni->NewObject(j_linked_hash_map_class_, j_linked_hash_map_ctor_);
75 CHECK_EXCEPTION(jni) << "error during NewObject"; 76 CHECK_EXCEPTION(jni) << "error during NewObject";
76 for (const webrtc::RTCStats& stats : *report) { 77 for (const RTCStats& stats : *report) {
77 // Create a local reference frame for each RTCStats, since there is a 78 // Create a local reference frame for each RTCStats, since there is a
78 // maximum number of references that can be created in one frame. 79 // maximum number of references that can be created in one frame.
79 ScopedLocalRefFrame local_ref_frame(jni); 80 ScopedLocalRefFrame local_ref_frame(jni);
80 jstring j_id = JavaStringFromStdString(jni, stats.id()); 81 jstring j_id = JavaStringFromStdString(jni, stats.id());
81 jobject j_stats = StatsToJava(jni, stats); 82 jobject j_stats = StatsToJava(jni, stats);
82 jni->CallObjectMethod(j_stats_map, j_linked_hash_map_put_, j_id, j_stats); 83 jni->CallObjectMethod(j_stats_map, j_linked_hash_map_put_, j_id, j_stats);
83 CHECK_EXCEPTION(jni) << "error during CallObjectMethod"; 84 CHECK_EXCEPTION(jni) << "error during CallObjectMethod";
84 } 85 }
85 jobject j_report = jni->NewObject(j_stats_report_class_, j_stats_report_ctor_, 86 jobject j_report = jni->NewObject(j_stats_report_class_, j_stats_report_ctor_,
86 report->timestamp_us(), j_stats_map); 87 report->timestamp_us(), j_stats_map);
87 CHECK_EXCEPTION(jni) << "error during NewObject"; 88 CHECK_EXCEPTION(jni) << "error during NewObject";
88 return j_report; 89 return j_report;
89 } 90 }
90 91
91 jobject RTCStatsCollectorCallbackWrapper::StatsToJava( 92 jobject RTCStatsCollectorCallbackWrapper::StatsToJava(JNIEnv* jni,
92 JNIEnv* jni, 93 const RTCStats& stats) {
93 const webrtc::RTCStats& stats) {
94 jstring j_type = JavaStringFromStdString(jni, stats.type()); 94 jstring j_type = JavaStringFromStdString(jni, stats.type());
95 jstring j_id = JavaStringFromStdString(jni, stats.id()); 95 jstring j_id = JavaStringFromStdString(jni, stats.id());
96 jobject j_members = 96 jobject j_members =
97 jni->NewObject(j_linked_hash_map_class_, j_linked_hash_map_ctor_); 97 jni->NewObject(j_linked_hash_map_class_, j_linked_hash_map_ctor_);
98 for (const webrtc::RTCStatsMemberInterface* member : stats.Members()) { 98 for (const RTCStatsMemberInterface* member : stats.Members()) {
99 if (!member->is_defined()) { 99 if (!member->is_defined()) {
100 continue; 100 continue;
101 } 101 }
102 // Create a local reference frame for each member as well. 102 // Create a local reference frame for each member as well.
103 ScopedLocalRefFrame local_ref_frame(jni); 103 ScopedLocalRefFrame local_ref_frame(jni);
104 jstring j_name = JavaStringFromStdString(jni, member->name()); 104 jstring j_name = JavaStringFromStdString(jni, member->name());
105 jobject j_member = MemberToJava(jni, member); 105 jobject j_member = MemberToJava(jni, member);
106 jni->CallObjectMethod(j_members, j_linked_hash_map_put_, j_name, j_member); 106 jni->CallObjectMethod(j_members, j_linked_hash_map_put_, j_name, j_member);
107 CHECK_EXCEPTION(jni) << "error during CallObjectMethod"; 107 CHECK_EXCEPTION(jni) << "error during CallObjectMethod";
108 } 108 }
109 jobject j_stats = 109 jobject j_stats =
110 jni->NewObject(j_stats_class_, j_stats_ctor_, stats.timestamp_us(), 110 jni->NewObject(j_stats_class_, j_stats_ctor_, stats.timestamp_us(),
111 j_type, j_id, j_members); 111 j_type, j_id, j_members);
112 CHECK_EXCEPTION(jni) << "error during NewObject"; 112 CHECK_EXCEPTION(jni) << "error during NewObject";
113 return j_stats; 113 return j_stats;
114 } 114 }
115 115
116 jobject RTCStatsCollectorCallbackWrapper::MemberToJava( 116 jobject RTCStatsCollectorCallbackWrapper::MemberToJava(
117 JNIEnv* jni, 117 JNIEnv* jni,
118 const webrtc::RTCStatsMemberInterface* member) { 118 const RTCStatsMemberInterface* member) {
119 switch (member->type()) { 119 switch (member->type()) {
120 case webrtc::RTCStatsMemberInterface::kBool: { 120 case RTCStatsMemberInterface::kBool: {
121 jobject value = 121 jobject value = jni->NewObject(j_boolean_class_, j_boolean_ctor_,
122 jni->NewObject(j_boolean_class_, j_boolean_ctor_, 122 *member->cast_to<RTCStatsMember<bool>>());
123 *member->cast_to<webrtc::RTCStatsMember<bool>>());
124 CHECK_EXCEPTION(jni) << "error during NewObject"; 123 CHECK_EXCEPTION(jni) << "error during NewObject";
125 return value; 124 return value;
126 } 125 }
127 case webrtc::RTCStatsMemberInterface::kInt32: { 126 case RTCStatsMemberInterface::kInt32: {
128 jobject value = 127 jobject value =
129 jni->NewObject(j_integer_class_, j_integer_ctor_, 128 jni->NewObject(j_integer_class_, j_integer_ctor_,
130 *member->cast_to<webrtc::RTCStatsMember<int32_t>>()); 129 *member->cast_to<RTCStatsMember<int32_t>>());
131 CHECK_EXCEPTION(jni) << "error during NewObject"; 130 CHECK_EXCEPTION(jni) << "error during NewObject";
132 return value; 131 return value;
133 } 132 }
134 case webrtc::RTCStatsMemberInterface::kUint32: { 133 case RTCStatsMemberInterface::kUint32: {
135 jobject value = jni->NewObject( 134 jobject value =
136 j_long_class_, j_long_ctor_, 135 jni->NewObject(j_long_class_, j_long_ctor_,
137 (jlong)*member->cast_to<webrtc::RTCStatsMember<uint32_t>>()); 136 (jlong)*member->cast_to<RTCStatsMember<uint32_t>>());
138 CHECK_EXCEPTION(jni) << "error during NewObject"; 137 CHECK_EXCEPTION(jni) << "error during NewObject";
139 return value; 138 return value;
140 } 139 }
141 case webrtc::RTCStatsMemberInterface::kInt64: { 140 case RTCStatsMemberInterface::kInt64: {
142 jobject value = 141 jobject value =
143 jni->NewObject(j_long_class_, j_long_ctor_, 142 jni->NewObject(j_long_class_, j_long_ctor_,
144 *member->cast_to<webrtc::RTCStatsMember<int64_t>>()); 143 *member->cast_to<RTCStatsMember<int64_t>>());
145 CHECK_EXCEPTION(jni) << "error during NewObject"; 144 CHECK_EXCEPTION(jni) << "error during NewObject";
146 return value; 145 return value;
147 } 146 }
148 case webrtc::RTCStatsMemberInterface::kUint64: { 147 case RTCStatsMemberInterface::kUint64: {
149 jobject value = 148 jobject value =
150 jni->NewObject(j_big_integer_class_, j_big_integer_ctor_, 149 jni->NewObject(j_big_integer_class_, j_big_integer_ctor_,
151 JavaStringFromStdString(jni, member->ValueToString())); 150 JavaStringFromStdString(jni, member->ValueToString()));
152 CHECK_EXCEPTION(jni) << "error during NewObject"; 151 CHECK_EXCEPTION(jni) << "error during NewObject";
153 return value; 152 return value;
154 } 153 }
155 case webrtc::RTCStatsMemberInterface::kDouble: { 154 case RTCStatsMemberInterface::kDouble: {
156 jobject value = 155 jobject value =
157 jni->NewObject(j_double_class_, j_double_ctor_, 156 jni->NewObject(j_double_class_, j_double_ctor_,
158 *member->cast_to<webrtc::RTCStatsMember<double>>()); 157 *member->cast_to<RTCStatsMember<double>>());
159 CHECK_EXCEPTION(jni) << "error during NewObject"; 158 CHECK_EXCEPTION(jni) << "error during NewObject";
160 return value; 159 return value;
161 } 160 }
162 case webrtc::RTCStatsMemberInterface::kString: { 161 case RTCStatsMemberInterface::kString: {
163 return JavaStringFromStdString( 162 return JavaStringFromStdString(
164 jni, *member->cast_to<webrtc::RTCStatsMember<std::string>>()); 163 jni, *member->cast_to<RTCStatsMember<std::string>>());
165 } 164 }
166 case webrtc::RTCStatsMemberInterface::kSequenceBool: { 165 case RTCStatsMemberInterface::kSequenceBool: {
167 const std::vector<bool>& values = 166 const std::vector<bool>& values =
168 *member->cast_to<webrtc::RTCStatsMember<std::vector<bool>>>(); 167 *member->cast_to<RTCStatsMember<std::vector<bool>>>();
169 jobjectArray j_values = 168 jobjectArray j_values =
170 jni->NewObjectArray(values.size(), j_boolean_class_, nullptr); 169 jni->NewObjectArray(values.size(), j_boolean_class_, nullptr);
171 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 170 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
172 for (size_t i = 0; i < values.size(); ++i) { 171 for (size_t i = 0; i < values.size(); ++i) {
173 jobject value = 172 jobject value =
174 jni->NewObject(j_boolean_class_, j_boolean_ctor_, values[i]); 173 jni->NewObject(j_boolean_class_, j_boolean_ctor_, values[i]);
175 jni->SetObjectArrayElement(j_values, i, value); 174 jni->SetObjectArrayElement(j_values, i, value);
176 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 175 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
177 } 176 }
178 return j_values; 177 return j_values;
179 } 178 }
180 case webrtc::RTCStatsMemberInterface::kSequenceInt32: { 179 case RTCStatsMemberInterface::kSequenceInt32: {
181 const std::vector<int32_t>& values = 180 const std::vector<int32_t>& values =
182 *member->cast_to<webrtc::RTCStatsMember<std::vector<int32_t>>>(); 181 *member->cast_to<RTCStatsMember<std::vector<int32_t>>>();
183 jobjectArray j_values = 182 jobjectArray j_values =
184 jni->NewObjectArray(values.size(), j_integer_class_, nullptr); 183 jni->NewObjectArray(values.size(), j_integer_class_, nullptr);
185 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 184 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
186 for (size_t i = 0; i < values.size(); ++i) { 185 for (size_t i = 0; i < values.size(); ++i) {
187 jobject value = 186 jobject value =
188 jni->NewObject(j_integer_class_, j_integer_ctor_, values[i]); 187 jni->NewObject(j_integer_class_, j_integer_ctor_, values[i]);
189 jni->SetObjectArrayElement(j_values, i, value); 188 jni->SetObjectArrayElement(j_values, i, value);
190 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 189 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
191 } 190 }
192 return j_values; 191 return j_values;
193 } 192 }
194 case webrtc::RTCStatsMemberInterface::kSequenceUint32: { 193 case RTCStatsMemberInterface::kSequenceUint32: {
195 const std::vector<uint32_t>& values = 194 const std::vector<uint32_t>& values =
196 *member->cast_to<webrtc::RTCStatsMember<std::vector<uint32_t>>>(); 195 *member->cast_to<RTCStatsMember<std::vector<uint32_t>>>();
197 jobjectArray j_values = 196 jobjectArray j_values =
198 jni->NewObjectArray(values.size(), j_long_class_, nullptr); 197 jni->NewObjectArray(values.size(), j_long_class_, nullptr);
199 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 198 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
200 for (size_t i = 0; i < values.size(); ++i) { 199 for (size_t i = 0; i < values.size(); ++i) {
201 jobject value = jni->NewObject(j_long_class_, j_long_ctor_, values[i]); 200 jobject value = jni->NewObject(j_long_class_, j_long_ctor_, values[i]);
202 jni->SetObjectArrayElement(j_values, i, value); 201 jni->SetObjectArrayElement(j_values, i, value);
203 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 202 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
204 } 203 }
205 return j_values; 204 return j_values;
206 } 205 }
207 case webrtc::RTCStatsMemberInterface::kSequenceInt64: { 206 case RTCStatsMemberInterface::kSequenceInt64: {
208 const std::vector<int64_t>& values = 207 const std::vector<int64_t>& values =
209 *member->cast_to<webrtc::RTCStatsMember<std::vector<int64_t>>>(); 208 *member->cast_to<RTCStatsMember<std::vector<int64_t>>>();
210 jobjectArray j_values = 209 jobjectArray j_values =
211 jni->NewObjectArray(values.size(), j_long_class_, nullptr); 210 jni->NewObjectArray(values.size(), j_long_class_, nullptr);
212 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 211 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
213 for (size_t i = 0; i < values.size(); ++i) { 212 for (size_t i = 0; i < values.size(); ++i) {
214 jobject value = jni->NewObject(j_long_class_, j_long_ctor_, values[i]); 213 jobject value = jni->NewObject(j_long_class_, j_long_ctor_, values[i]);
215 jni->SetObjectArrayElement(j_values, i, value); 214 jni->SetObjectArrayElement(j_values, i, value);
216 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 215 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
217 } 216 }
218 return j_values; 217 return j_values;
219 } 218 }
220 case webrtc::RTCStatsMemberInterface::kSequenceUint64: { 219 case RTCStatsMemberInterface::kSequenceUint64: {
221 const std::vector<uint64_t>& values = 220 const std::vector<uint64_t>& values =
222 *member->cast_to<webrtc::RTCStatsMember<std::vector<uint64_t>>>(); 221 *member->cast_to<RTCStatsMember<std::vector<uint64_t>>>();
223 jobjectArray j_values = 222 jobjectArray j_values =
224 jni->NewObjectArray(values.size(), j_big_integer_class_, nullptr); 223 jni->NewObjectArray(values.size(), j_big_integer_class_, nullptr);
225 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 224 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
226 for (size_t i = 0; i < values.size(); ++i) { 225 for (size_t i = 0; i < values.size(); ++i) {
227 jobject value = jni->NewObject( 226 jobject value = jni->NewObject(
228 j_big_integer_class_, j_big_integer_ctor_, 227 j_big_integer_class_, j_big_integer_ctor_,
229 JavaStringFromStdString(jni, rtc::ToString(values[i]))); 228 JavaStringFromStdString(jni, rtc::ToString(values[i])));
230 jni->SetObjectArrayElement(j_values, i, value); 229 jni->SetObjectArrayElement(j_values, i, value);
231 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 230 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
232 } 231 }
233 return j_values; 232 return j_values;
234 } 233 }
235 case webrtc::RTCStatsMemberInterface::kSequenceDouble: { 234 case RTCStatsMemberInterface::kSequenceDouble: {
236 const std::vector<double>& values = 235 const std::vector<double>& values =
237 *member->cast_to<webrtc::RTCStatsMember<std::vector<double>>>(); 236 *member->cast_to<RTCStatsMember<std::vector<double>>>();
238 jobjectArray j_values = 237 jobjectArray j_values =
239 jni->NewObjectArray(values.size(), j_double_class_, nullptr); 238 jni->NewObjectArray(values.size(), j_double_class_, nullptr);
240 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 239 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
241 for (size_t i = 0; i < values.size(); ++i) { 240 for (size_t i = 0; i < values.size(); ++i) {
242 jobject value = 241 jobject value =
243 jni->NewObject(j_double_class_, j_double_ctor_, values[i]); 242 jni->NewObject(j_double_class_, j_double_ctor_, values[i]);
244 jni->SetObjectArrayElement(j_values, i, value); 243 jni->SetObjectArrayElement(j_values, i, value);
245 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 244 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
246 } 245 }
247 return j_values; 246 return j_values;
248 } 247 }
249 case webrtc::RTCStatsMemberInterface::kSequenceString: { 248 case RTCStatsMemberInterface::kSequenceString: {
250 const std::vector<std::string>& values = 249 const std::vector<std::string>& values =
251 *member->cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>(); 250 *member->cast_to<RTCStatsMember<std::vector<std::string>>>();
252 jobjectArray j_values = 251 jobjectArray j_values =
253 jni->NewObjectArray(values.size(), j_string_class_, nullptr); 252 jni->NewObjectArray(values.size(), j_string_class_, nullptr);
254 CHECK_EXCEPTION(jni) << "error during NewObjectArray"; 253 CHECK_EXCEPTION(jni) << "error during NewObjectArray";
255 for (size_t i = 0; i < values.size(); ++i) { 254 for (size_t i = 0; i < values.size(); ++i) {
256 jni->SetObjectArrayElement(j_values, i, 255 jni->SetObjectArrayElement(j_values, i,
257 JavaStringFromStdString(jni, values[i])); 256 JavaStringFromStdString(jni, values[i]));
258 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement"; 257 CHECK_EXCEPTION(jni) << "error during SetObjectArrayElement";
259 } 258 }
260 return j_values; 259 return j_values;
261 } 260 }
262 } 261 }
263 RTC_NOTREACHED(); 262 RTC_NOTREACHED();
264 return nullptr; 263 return nullptr;
265 } 264 }
266 265
267 } // namespace webrtc_jni 266 } // namespace jni
267 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/sdk/android/src/jni/pc/rtcstatscollectorcallbackwrapper.h ('k') | webrtc/sdk/android/src/jni/pc/rtpreceiver_jni.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698