Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1245)

Unified Diff: talk/app/webrtc/videotrackrenderers.cc

Issue 1655793003: Make cricket::VideoCapturer implement VideoSourceInterface (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Adding VideoSourceInterface and letting cricket::VideoCapturer implement it Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}
}

Powered by Google App Engine
This is Rietveld 408576698