(Auto)update libjingle 69648312-> 69830415
git-svn-id: http://webrtc.googlecode.com/svn/trunk/talk@6527 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/app/webrtc/statscollector.cc b/app/webrtc/statscollector.cc
index 67d64fb..86a88c1 100644
--- a/app/webrtc/statscollector.cc
+++ b/app/webrtc/statscollector.cc
@@ -137,6 +137,8 @@
"googLocalCandidateType";
const char StatsReport::kStatsValueNameLocalCertificateId[] =
"googLocalCertificateId";
+const char StatsReport::kStatsValueNameAdaptationChanges[] =
+ "googAdaptationChanges";
const char StatsReport::kStatsValueNameNacksReceived[] = "googNacksReceived";
const char StatsReport::kStatsValueNameNacksSent[] = "googNacksSent";
const char StatsReport::kStatsValueNamePlisReceived[] = "googPlisReceived";
@@ -422,6 +424,8 @@
(info.adapt_reason & 0x2) > 0);
report->AddBoolean(StatsReport::kStatsValueNameViewLimitedResolution,
(info.adapt_reason & 0x4) > 0);
+ report->AddValue(StatsReport::kStatsValueNameAdaptationChanges,
+ info.adapt_changes);
report->AddValue(StatsReport::kStatsValueNameAvgEncodeMs, info.avg_encode_ms);
report->AddValue(StatsReport::kStatsValueNameCaptureJitterMs,
info.capture_jitter_ms);
diff --git a/app/webrtc/statstypes.h b/app/webrtc/statstypes.h
index 22e281c..0a2aa03 100644
--- a/app/webrtc/statstypes.h
+++ b/app/webrtc/statstypes.h
@@ -141,6 +141,7 @@
static const char kStatsValueNameBandwidthLimitedResolution[];
static const char kStatsValueNameCpuLimitedResolution[];
static const char kStatsValueNameViewLimitedResolution[];
+ static const char kStatsValueNameAdaptationChanges[];
static const char kStatsValueNameEchoCancellationQualityMin[];
static const char kStatsValueNameEchoDelayMedian[];
static const char kStatsValueNameEchoDelayStdDev[];
diff --git a/media/base/mediachannel.h b/media/base/mediachannel.h
index 34d2def..60cdebd 100644
--- a/media/base/mediachannel.h
+++ b/media/base/mediachannel.h
@@ -901,6 +901,7 @@
nominal_bitrate(0),
preferred_bitrate(0),
adapt_reason(0),
+ adapt_changes(0),
capture_jitter_ms(0),
avg_encode_ms(0),
encode_usage_percent(0),
@@ -922,6 +923,7 @@
int nominal_bitrate;
int preferred_bitrate;
int adapt_reason;
+ int adapt_changes;
int capture_jitter_ms;
int avg_encode_ms;
int encode_usage_percent;
diff --git a/media/base/videoadapter.h b/media/base/videoadapter.h
index 0634942..8881837 100644
--- a/media/base/videoadapter.h
+++ b/media/base/videoadapter.h
@@ -72,6 +72,8 @@
void set_scale_third(bool enable);
bool scale_third() const { return scale_third_; }
+ int adaptation_changes() const { return adaption_changes_; }
+
protected:
float FindClosestScale(int width, int height, int target_num_pixels);
float FindClosestViewScale(int width, int height, int target_num_pixels);
diff --git a/media/webrtc/webrtcvideoengine.cc b/media/webrtc/webrtcvideoengine.cc
index 1ca92cf..13034f0 100644
--- a/media/webrtc/webrtcvideoengine.cc
+++ b/media/webrtc/webrtcvideoengine.cc
@@ -586,9 +586,9 @@
video_capturer_(NULL),
encoder_observer_(channel_id),
external_capture_(external_capture),
- capturer_updated_(false),
interval_(0),
- cpu_monitor_(cpu_monitor) {
+ cpu_monitor_(cpu_monitor),
+ old_adaptation_changes_(0) {
}
int channel_id() const { return channel_id_; }
@@ -625,12 +625,17 @@
int64 interval() { return interval_; }
int CurrentAdaptReason() const {
- const CoordinatedVideoAdapter* adapter = video_adapter();
- if (!adapter) {
+ if (!video_adapter()) {
return CoordinatedVideoAdapter::ADAPTREASON_NONE;
}
return video_adapter()->adapt_reason();
}
+ int AdaptChanges() const {
+ if (!video_adapter()) {
+ return old_adaptation_changes_;
+ }
+ return old_adaptation_changes_ + video_adapter()->adaptation_changes();
+ }
StreamParams* stream_params() { return stream_params_.get(); }
void set_stream_params(const StreamParams& sp) {
@@ -655,6 +660,8 @@
CoordinatedVideoAdapter* old_video_adapter = video_adapter();
if (old_video_adapter) {
+ // Get adaptation changes from old video adapter.
+ old_adaptation_changes_ += old_video_adapter->adaptation_changes();
// Disconnect signals from old video adapter.
SignalCpuAdaptationUnable.disconnect(old_video_adapter);
if (cpu_monitor_) {
@@ -662,7 +669,6 @@
}
}
- capturer_updated_ = true;
video_capturer_ = video_capturer;
vie_wrapper->base()->RegisterCpuOveruseObserver(channel_id_, NULL);
@@ -817,13 +823,13 @@
WebRtcLocalStreamInfo local_stream_info_;
- bool capturer_updated_;
-
int64 interval_;
talk_base::CpuMonitor* cpu_monitor_;
talk_base::scoped_ptr<WebRtcOveruseObserver> overuse_observer_;
+ int old_adaptation_changes_;
+
VideoOptions video_options_;
};
@@ -2506,6 +2512,7 @@
send_codec_->maxBitrate, kMaxVideoBitrate);
}
sinfo.adapt_reason = send_channel->CurrentAdaptReason();
+ sinfo.adapt_changes = send_channel->AdaptChanges();
#ifdef USE_WEBRTC_DEV_BRANCH
webrtc::CpuOveruseMetrics metrics;