| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
| 3  * | 3  * | 
| 4  *  Use of this source code is governed by a BSD-style license | 4  *  Use of this source code is governed by a BSD-style license | 
| 5  *  that can be found in the LICENSE file in the root of the source | 5  *  that can be found in the LICENSE file in the root of the source | 
| 6  *  tree. An additional intellectual property rights grant can be found | 6  *  tree. An additional intellectual property rights grant can be found | 
| 7  *  in the file PATENTS.  All contributing project authors may | 7  *  in the file PATENTS.  All contributing project authors may | 
| 8  *  be found in the AUTHORS file in the root of the source tree. | 8  *  be found in the AUTHORS file in the root of the source tree. | 
| 9  */ | 9  */ | 
| 10 | 10 | 
| 11 #ifndef WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 11 #ifndef WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 
| 12 #define WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 12 #define WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 
| 13 | 13 | 
| 14 // TODO(perkj): Add implementation. | 14 #include <vector> | 
|  | 15 | 
|  | 16 #include "webrtc/base/thread_checker.h" | 
|  | 17 #include "webrtc/media/base/videoframe.h" | 
|  | 18 #include "webrtc/media/base/videosourceinterface.h" | 
|  | 19 | 
|  | 20 namespace rtc { | 
|  | 21 | 
|  | 22 // VideoSourceBase is not thread safe. | 
|  | 23 class VideoSourceBase : public VideoSourceInterface<cricket::VideoFrame> { | 
|  | 24  public: | 
|  | 25   VideoSourceBase(); | 
|  | 26   void AddOrUpdateSink(VideoSinkInterface<cricket::VideoFrame>* sink, | 
|  | 27                        const VideoSinkWants& wants) override; | 
|  | 28   void RemoveSink(VideoSinkInterface<cricket::VideoFrame>* sink) override; | 
|  | 29 | 
|  | 30  protected: | 
|  | 31   struct SinkPair { | 
|  | 32     SinkPair(VideoSinkInterface<cricket::VideoFrame>* sink, | 
|  | 33              VideoSinkWants wants) | 
|  | 34         : sink(sink), wants(wants) {} | 
|  | 35     VideoSinkInterface<cricket::VideoFrame>* sink; | 
|  | 36     VideoSinkWants wants; | 
|  | 37   }; | 
|  | 38   SinkPair* FindSinkPair(const VideoSinkInterface<cricket::VideoFrame>* sink); | 
|  | 39 | 
|  | 40   const std::vector<SinkPair>& sink_pairs() const { return sinks_; } | 
|  | 41   ThreadChecker thread_checker_; | 
|  | 42 | 
|  | 43  private: | 
|  | 44   std::vector<SinkPair> sinks_; | 
|  | 45 }; | 
|  | 46 | 
|  | 47 }  // namespace rtc | 
| 15 | 48 | 
| 16 #endif  // WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 49 #endif  // WEBRTC_MEDIA_BASE_VIDEOSOURCEBASE_H_ | 
| OLD | NEW | 
|---|