Clean up StatsObserver's OnComplete methods (address TODOs).
R=perkj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/29239004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7898 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
3440fe1bc5
commit
e2e199b894
@ -131,6 +131,7 @@ using webrtc::SessionDescriptionInterface;
|
||||
using webrtc::SetSessionDescriptionObserver;
|
||||
using webrtc::StatsObserver;
|
||||
using webrtc::StatsReport;
|
||||
using webrtc::StatsReports;
|
||||
using webrtc::VideoRendererInterface;
|
||||
using webrtc::VideoSourceInterface;
|
||||
using webrtc::VideoTrackInterface;
|
||||
@ -985,7 +986,7 @@ class StatsObserverWrapper : public StatsObserver {
|
||||
|
||||
virtual ~StatsObserverWrapper() {}
|
||||
|
||||
virtual void OnComplete(const std::vector<StatsReport>& reports) OVERRIDE {
|
||||
virtual void OnComplete(const StatsReports& reports) OVERRIDE {
|
||||
ScopedLocalRefFrame local_ref_frame(jni());
|
||||
jobjectArray j_reports = ReportsToJava(jni(), reports);
|
||||
jmethodID m = GetMethodID(jni(), *j_observer_class_, "onComplete",
|
||||
@ -996,22 +997,22 @@ class StatsObserverWrapper : public StatsObserver {
|
||||
|
||||
private:
|
||||
jobjectArray ReportsToJava(
|
||||
JNIEnv* jni, const std::vector<StatsReport>& reports) {
|
||||
JNIEnv* jni, const StatsReports& reports) {
|
||||
jobjectArray reports_array = jni->NewObjectArray(
|
||||
reports.size(), *j_stats_report_class_, NULL);
|
||||
for (int i = 0; i < reports.size(); ++i) {
|
||||
int i = 0;
|
||||
for (const auto* report : reports) {
|
||||
ScopedLocalRefFrame local_ref_frame(jni);
|
||||
const StatsReport& report = reports[i];
|
||||
jstring j_id = JavaStringFromStdString(jni, report.id);
|
||||
jstring j_type = JavaStringFromStdString(jni, report.type);
|
||||
jobjectArray j_values = ValuesToJava(jni, report.values);
|
||||
jstring j_id = JavaStringFromStdString(jni, report->id);
|
||||
jstring j_type = JavaStringFromStdString(jni, report->type);
|
||||
jobjectArray j_values = ValuesToJava(jni, report->values);
|
||||
jobject j_report = jni->NewObject(*j_stats_report_class_,
|
||||
j_stats_report_ctor_,
|
||||
j_id,
|
||||
j_type,
|
||||
report.timestamp,
|
||||
report->timestamp,
|
||||
j_values);
|
||||
jni->SetObjectArrayElement(reports_array, i, j_report);
|
||||
jni->SetObjectArrayElement(reports_array, i++, j_report);
|
||||
}
|
||||
return reports_array;
|
||||
}
|
||||
|
||||
@ -123,12 +123,11 @@ class RTCStatsObserver : public StatsObserver {
|
||||
_peerConnection = peerConnection;
|
||||
}
|
||||
|
||||
virtual void OnComplete(const std::vector<StatsReport>& reports) OVERRIDE {
|
||||
virtual void OnComplete(const StatsReports& reports) OVERRIDE {
|
||||
NSMutableArray* stats = [NSMutableArray arrayWithCapacity:reports.size()];
|
||||
std::vector<StatsReport>::const_iterator it = reports.begin();
|
||||
for (; it != reports.end(); ++it) {
|
||||
for (const auto* report : reports) {
|
||||
RTCStatsReport* statsReport =
|
||||
[[RTCStatsReport alloc] initWithStatsReport:*it];
|
||||
[[RTCStatsReport alloc] initWithStatsReport:*report];
|
||||
[stats addObject:statsReport];
|
||||
}
|
||||
[_delegate peerConnection:_peerConnection didGetStats:stats];
|
||||
|
||||
@ -113,18 +113,7 @@ class StreamCollectionInterface : public rtc::RefCountInterface {
|
||||
|
||||
class StatsObserver : public rtc::RefCountInterface {
|
||||
public:
|
||||
// TODO(tommi): Remove.
|
||||
virtual void OnComplete(const std::vector<StatsReport>& reports) {}
|
||||
|
||||
// TODO(tommi): Make pure virtual and remove implementation.
|
||||
virtual void OnComplete(const StatsReports& reports) {
|
||||
std::vector<StatsReportCopyable> report_copies;
|
||||
for (size_t i = 0; i < reports.size(); ++i)
|
||||
report_copies.push_back(StatsReportCopyable(*reports[i]));
|
||||
std::vector<StatsReport>* r =
|
||||
reinterpret_cast<std::vector<StatsReport>*>(&report_copies);
|
||||
OnComplete(*r);
|
||||
}
|
||||
virtual void OnComplete(const StatsReports& reports) = 0;
|
||||
|
||||
protected:
|
||||
virtual ~StatsObserver() {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user