diff options
author | sprang@webrtc.org <sprang@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-12-04 15:09:27 +0000 |
---|---|---|
committer | sprang@webrtc.org <sprang@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-12-04 15:09:27 +0000 |
commit | 5fdd10a56c3d7dcf2ea3cb2cd1118f616b783d24 (patch) | |
tree | 2d13269542ec8b68c105c356ba6191666a789cca /video_engine/vie_rtp_rtcp_impl.cc | |
parent | f1630b1f53156a9723ae5431f2fb1e54786593b9 (diff) | |
download | webrtc-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.cc | 37 |
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 |