Skip to content

Commit 76769e2

Browse files
committed
Updated RTCStats.cpp to Java mapping
1 parent af64b37 commit 76769e2

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

webrtc-jni/src/main/cpp/src/api/RTCStats.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,34 @@ namespace jni
168168
case webrtc::RTCStatsMemberInterface::kSequenceString:
169169
return jni::static_java_ref_cast<jobject>(env,
170170
JavaString::createArray(env, *member.cast_to<webrtc::RTCStatsMember<std::vector<std::string>>>()));
171+
172+
case webrtc::RTCStatsMemberInterface::kMapStringDouble:
173+
{
174+
std::map<std::string, double> map = *member.cast_to<webrtc::RTCStatsMember<std::map<std::string, double>>>();
175+
176+
JavaHashMap memberMap(env);
177+
178+
for (const auto& item : map) {
179+
memberMap.put(jni::static_java_ref_cast<jobject>(env, JavaString::toJava(env, item.first)),
180+
Double::create(env, item.second));
181+
}
182+
183+
return jni::static_java_ref_cast<jobject>(env, memberMap);
184+
}
185+
186+
case webrtc::RTCStatsMemberInterface::kMapStringUint64:
187+
{
188+
std::map<std::string, uint64_t> map = *member.cast_to<webrtc::RTCStatsMember<std::map<std::string, uint64_t>>>();
189+
190+
JavaHashMap memberMap(env);
191+
192+
for (const auto& item : map) {
193+
memberMap.put(jni::static_java_ref_cast<jobject>(env, JavaString::toJava(env, item.first)),
194+
JavaBigInteger::toJava(env, rtc::ToString(item.second)));
195+
}
196+
197+
return jni::static_java_ref_cast<jobject>(env, memberMap);
198+
}
171199
}
172200

173201
return nullptr;

0 commit comments

Comments
 (0)