summaryrefslogtreecommitdiffstats
path: root/content/renderer/media/mock_peer_connection_impl.cc
diff options
context:
space:
mode:
authorhta@chromium.org <hta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 14:45:08 +0000
committerhta@chromium.org <hta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-11 14:45:08 +0000
commit0df90c4ad84c4996f9438cbd1063beb5cfaca516 (patch)
tree449e3c1758a4048fcbaf7c55d1505d34ea6126e9 /content/renderer/media/mock_peer_connection_impl.cc
parentab4e38c7faa56afa32db1fe108d63bf0802ba95b (diff)
downloadchromium_src-0df90c4ad84c4996f9438cbd1063beb5cfaca516.zip
chromium_src-0df90c4ad84c4996f9438cbd1063beb5cfaca516.tar.gz
chromium_src-0df90c4ad84c4996f9438cbd1063beb5cfaca516.tar.bz2
Implement stats passing between libjingle and Webkit.
This allows the getStats call in webkit to be relayed to the getStats call in libjingle. BUG= Review URL: https://chromiumcodereview.appspot.com/11308167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172325 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/media/mock_peer_connection_impl.cc')
-rw-r--r--content/renderer/media/mock_peer_connection_impl.cc37
1 files changed, 30 insertions, 7 deletions
diff --git a/content/renderer/media/mock_peer_connection_impl.cc b/content/renderer/media/mock_peer_connection_impl.cc
index bb3783c..1c243d7 100644
--- a/content/renderer/media/mock_peer_connection_impl.cc
+++ b/content/renderer/media/mock_peer_connection_impl.cc
@@ -109,13 +109,6 @@ bool MockPeerConnectionImpl::SendDtmf(
return false;
}
-bool MockPeerConnectionImpl::GetStats(
- webrtc::StatsObserver* observer,
- webrtc::MediaStreamTrackInterface* track) {
- NOTIMPLEMENTED();
- return false;
-}
-
void MockPeerConnectionImpl::RemoveStream(
MediaStreamInterface* local_stream) {
DCHECK_EQ(stream_label_, local_stream->label());
@@ -123,6 +116,36 @@ void MockPeerConnectionImpl::RemoveStream(
local_streams_->RemoveStream(local_stream);
}
+bool MockPeerConnectionImpl::GetStats(
+ webrtc::StatsObserver* observer,
+ webrtc::MediaStreamTrackInterface* track) {
+ std::vector<webrtc::StatsReport> reports;
+ webrtc::StatsReport report;
+ report.id = "1234";
+ report.type = "ssrc";
+ report.local.timestamp = 42;
+ webrtc::StatsElement::Value value;
+ value.name = "trackname";
+ value.value = "trackvalue";
+ report.local.values.push_back(value);
+ reports.push_back(report);
+ // If selector is given, we pass back one report.
+ // If selector is not given, we pass back two.
+ if (!track) {
+ report.id = "nontrack";
+ report.type = "generic";
+ report.local.timestamp = 44;
+ value.name = "somename";
+ value.value = "somevalue";
+ report.local.values.push_back(value);
+ reports.push_back(report);
+ }
+ // Note that the callback is synchronous, not asynchronous; it will
+ // happen before the request call completes.
+ observer->OnComplete(reports);
+ return true;
+}
+
MockPeerConnectionImpl::ReadyState MockPeerConnectionImpl::ready_state() {
return ready_state_;
}