Index: talk/app/webrtc/videotrackrenderers.cc |
diff --git a/talk/app/webrtc/videotrackrenderers.cc b/talk/app/webrtc/videotrackrenderers.cc |
index be232f3005b6c1a76b8e8f450c571d278644ef6f..3c47c6edab3fb4974362870f7b6ecd2fd7de86ee 100644 |
--- a/talk/app/webrtc/videotrackrenderers.cc |
+++ b/talk/app/webrtc/videotrackrenderers.cc |
@@ -41,23 +41,12 @@ void VideoTrackRenderers::AddRenderer(VideoRendererInterface* renderer) { |
return; |
} |
rtc::CritScope cs(&critical_section_); |
- std::vector<RenderObserver>::iterator it = renderers_.begin(); |
- for (; it != renderers_.end(); ++it) { |
- if (it->renderer_ == renderer) |
- return; |
- } |
- renderers_.push_back(RenderObserver(renderer)); |
+ renderers_.insert(renderer); |
} |
void VideoTrackRenderers::RemoveRenderer(VideoRendererInterface* renderer) { |
rtc::CritScope cs(&critical_section_); |
- std::vector<RenderObserver>::iterator it = renderers_.begin(); |
- for (; it != renderers_.end(); ++it) { |
- if (it->renderer_ == renderer) { |
- renderers_.erase(it); |
- return; |
- } |
- } |
+ renderers_.erase(renderer); |
} |
void VideoTrackRenderers::SetEnabled(bool enable) { |
@@ -74,14 +63,8 @@ bool VideoTrackRenderers::RenderFrame(const cricket::VideoFrame* frame) { |
if (!enabled_) { |
return true; |
} |
- |
- std::vector<RenderObserver>::iterator it = renderers_.begin(); |
- for (; it != renderers_.end(); ++it) { |
- if (it->can_apply_rotation_) { |
- it->renderer_->RenderFrame(frame); |
- } else { |
- it->renderer_->RenderFrame(frame->GetCopyWithRotationApplied()); |
- } |
+ for (VideoRendererInterface* renderer : renderers_) { |
+ renderer->RenderFrame(frame); |
} |
return true; |
} |