summaryrefslogtreecommitdiff
path: root/video_engine/vie_rtp_rtcp_impl.cc
diff options
context:
space:
mode:
authorsprang@webrtc.org <sprang@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-12-04 15:09:27 +0000
committersprang@webrtc.org <sprang@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-12-04 15:09:27 +0000
commit5fdd10a56c3d7dcf2ea3cb2cd1118f616b783d24 (patch)
tree2d13269542ec8b68c105c356ba6191666a789cca /video_engine/vie_rtp_rtcp_impl.cc
parentf1630b1f53156a9723ae5431f2fb1e54786593b9 (diff)
downloadwebrtc-5fdd10a56c3d7dcf2ea3cb2cd1118f616b783d24.tar.gz
Add send frame rate statistics callback
BUG=2235 R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/4479005 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5213 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'video_engine/vie_rtp_rtcp_impl.cc')
-rw-r--r--video_engine/vie_rtp_rtcp_impl.cc37
1 files changed, 30 insertions, 7 deletions
diff --git a/video_engine/vie_rtp_rtcp_impl.cc b/video_engine/vie_rtp_rtcp_impl.cc
index 7d3c8ad2..edad270b 100644
--- a/video_engine/vie_rtp_rtcp_impl.cc
+++ b/video_engine/vie_rtp_rtcp_impl.cc
@@ -1178,16 +1178,39 @@ int ViERTP_RTCPImpl::DeregisterSendBitrateObserver(
}
int ViERTP_RTCPImpl::RegisterSendFrameCountObserver(
- int channel, FrameCountObserver* callback) {
- // TODO(sprang): Implement
- return -1;
+ int video_channel, FrameCountObserver* callback) {
+ WEBRTC_TRACE(kTraceApiCall, kTraceVideo,
+ ViEId(shared_data_->instance_id(), video_channel),
+ "%s(channel: %d)", __FUNCTION__, video_channel);
+ ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
+ ViEChannel* vie_channel = cs.Channel(video_channel);
+ if (!vie_channel) {
+ WEBRTC_TRACE(kTraceError, kTraceVideo,
+ ViEId(shared_data_->instance_id(), video_channel),
+ "%s: Channel %d doesn't exist", __FUNCTION__, video_channel);
+ shared_data_->SetLastError(kViERtpRtcpInvalidChannelId);
+ return -1;
+ }
+ vie_channel->RegisterSendFrameCountObserver(callback);
+ return 0;
}
int ViERTP_RTCPImpl::DeregisterSendFrameCountObserver(
- int channel, FrameCountObserver* callback) {
- // TODO(sprang): Implement
- return -1;
+ int video_channel, FrameCountObserver* callback) {
+ WEBRTC_TRACE(kTraceApiCall, kTraceVideo,
+ ViEId(shared_data_->instance_id(), video_channel),
+ "%s(channel: %d)", __FUNCTION__, video_channel);
+ ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
+ ViEChannel* vie_channel = cs.Channel(video_channel);
+ if (!vie_channel) {
+ WEBRTC_TRACE(kTraceError, kTraceVideo,
+ ViEId(shared_data_->instance_id(), video_channel),
+ "%s: Channel %d doesn't exist", __FUNCTION__, video_channel);
+ shared_data_->SetLastError(kViERtpRtcpInvalidChannelId);
+ return -1;
+ }
+ vie_channel->RegisterSendFrameCountObserver(NULL);
+ return 0;
}
-
} // namespace webrtc