| Index: webrtc/api/videotrackrenderers.h
|
| diff --git a/webrtc/api/videotrackrenderers.h b/webrtc/api/videotrackrenderers.h
|
| index 46f0c2f56e0a4656fbe316d628ac0636709310ea..04e1ad17987ccd245e341e766fe109422a268371 100644
|
| --- a/webrtc/api/videotrackrenderers.h
|
| +++ b/webrtc/api/videotrackrenderers.h
|
| @@ -25,7 +25,9 @@ namespace webrtc {
|
| // Each VideoTrack owns a VideoTrackRenderers instance.
|
| // The class is thread safe. Rendering to the added VideoRendererInterfaces is
|
| // done on the same thread as the cricket::VideoRenderer.
|
| -class VideoTrackRenderers : public cricket::VideoRenderer {
|
| +class VideoTrackRenderers
|
| + : public cricket::VideoRenderer,
|
| + public rtc::VideoSourceInterface<cricket::VideoFrame> {
|
| public:
|
| VideoTrackRenderers();
|
| ~VideoTrackRenderers();
|
| @@ -34,18 +36,18 @@ class VideoTrackRenderers : public cricket::VideoRenderer {
|
| // incoming frames are replaced by black frames.
|
| virtual bool RenderFrame(const cricket::VideoFrame* frame);
|
|
|
| - void AddRenderer(VideoRendererInterface* renderer);
|
| - void RemoveRenderer(VideoRendererInterface* renderer);
|
| + void AddOrUpdateSink(VideoSinkInterface<cricket::VideoFrame>* sink,
|
| + const rtc::VideoSinkWants& wants) override;
|
| + void RemoveSink(VideoSinkInterface<cricket::VideoFrame>* sink) override;
|
| void SetEnabled(bool enable);
|
|
|
| private:
|
| // Pass the frame on to to each registered renderer. Requires
|
| // critical_section_ already locked.
|
| - void RenderFrameToRenderers(const cricket::VideoFrame* frame);
|
| + void RenderFrameToSinks(const cricket::VideoFrame& frame);
|
|
|
| bool enabled_;
|
| - std::set<VideoRendererInterface*> renderers_;
|
| -
|
| + std::vector<VideoSinkInterface<cricket::VideoFrame>*> sinks_;
|
| rtc::CriticalSection critical_section_; // Protects the above variables
|
| };
|
|
|
|
|