summaryrefslogtreecommitdiff
path: root/video_engine/vie_rtp_rtcp_impl.cc
diff options
context:
space:
mode:
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