Index: talk/app/webrtc/videotrackrenderers.cc |
diff --git a/talk/app/webrtc/videotrackrenderers.cc b/talk/app/webrtc/videotrackrenderers.cc |
index 5b890371a55dd6bacf56cf0ea305eb02bd1a2f1c..06d610f59c52432045aa1de3d66caf469f1c4328 100644 |
--- a/talk/app/webrtc/videotrackrenderers.cc |
+++ b/talk/app/webrtc/videotrackrenderers.cc |
@@ -25,6 +25,7 @@ |
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
+#include "webrtc/base/checks.h" |
#include "talk/app/webrtc/videotrackrenderers.h" |
#include "talk/media/webrtc/webrtcvideoframe.h" |
@@ -36,17 +37,20 @@ VideoTrackRenderers::VideoTrackRenderers() : enabled_(true) { |
VideoTrackRenderers::~VideoTrackRenderers() { |
} |
-void VideoTrackRenderers::AddRenderer(VideoRendererInterface* renderer) { |
- if (!renderer) { |
+void VideoTrackRenderers::AddSink( |
+ rtc::VideoSinkInterface<cricket::VideoFrame>* sink) { |
+ RTC_DCHECK (sink != nullptr); |
+ if (!sink) { |
return; |
} |
rtc::CritScope cs(&critical_section_); |
- renderers_.insert(renderer); |
+ sinks_.insert(sink); |
} |
-void VideoTrackRenderers::RemoveRenderer(VideoRendererInterface* renderer) { |
+void VideoTrackRenderers::RemoveSink( |
+ rtc::VideoSinkInterface<cricket::VideoFrame>* sink) { |
rtc::CritScope cs(&critical_section_); |
- renderers_.erase(renderer); |
+ sinks_.erase(sink); |
} |
void VideoTrackRenderers::SetEnabled(bool enable) { |
@@ -58,7 +62,7 @@ bool VideoTrackRenderers::RenderFrame(const cricket::VideoFrame* frame) { |
{ |
rtc::CritScope cs(&critical_section_); |
if (enabled_) { |
- RenderFrameToRenderers(frame); |
+ SendFrameToSinks(*frame); |
return true; |
} |
} |
@@ -81,17 +85,16 @@ bool VideoTrackRenderers::RenderFrame(const cricket::VideoFrame* frame) { |
// enabled while we generated the black frame. I think the |
// enabled-ness ought to be applied at the track output, and hence |
// an enabled track shouldn't send any blacked out frames. |
- RenderFrameToRenderers(enabled_ ? frame : &black); |
+ SendFrameToSinks(enabled_ ? *frame : black); |
return true; |
} |
} |
// Called with critical_section_ already locked |
-void VideoTrackRenderers::RenderFrameToRenderers( |
- const cricket::VideoFrame* frame) { |
- for (VideoRendererInterface* renderer : renderers_) { |
- renderer->RenderFrame(frame); |
+void VideoTrackRenderers::SendFrameToSinks(const cricket::VideoFrame& frame) { |
+ for (auto* sink : sinks_) { |
+ sink->OnFrame(frame); |
} |
} |