| 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);
|
| }
|
| }
|
|
|
|
|