Chromium Code Reviews| Index: webrtc/media/base/videobroadcaster.h |
| diff --git a/webrtc/media/base/videobroadcaster.h b/webrtc/media/base/videobroadcaster.h |
| index 89c9f3dd49cbfbab58d11c6078c34606306d7ecb..ba179c152031db2fea042a7265121bb0d63dd725 100644 |
| --- a/webrtc/media/base/videobroadcaster.h |
| +++ b/webrtc/media/base/videobroadcaster.h |
| @@ -14,6 +14,7 @@ |
| #include <utility> |
| #include <vector> |
| +#include "webrtc/base/criticalsection.h" |
| #include "webrtc/base/thread_checker.h" |
| #include "webrtc/media/base/videoframe.h" |
| #include "webrtc/media/base/videosinkinterface.h" |
| @@ -21,6 +22,12 @@ |
| namespace rtc { |
| +// VideoBroadcaster broadcast video frames to sinks and combine |
|
pthatcher1
2016/03/09 18:16:49
combines
perkj_webrtc
2016/03/09 21:22:59
Done.
|
| +// VideoSinkWants from its sinks. It do that by implementing the |
|
pthatcher1
2016/03/09 18:16:49
implementing the => implementing
pthatcher1
2016/03/09 18:16:49
do that => does that
perkj_webrtc
2016/03/09 21:22:59
Done.
perkj_webrtc
2016/03/09 21:22:59
Done.
perkj_webrtc
2016/03/09 21:22:59
Done.
|
| +// rtc::VideoSourceInterface and rtc::VideoSinkInterface. |
| +// Sinks must be added and removed on one and only one thread. |
| +// jVideo frames can be broadcasted on any thread. I.e VideoBroadcaster::OnFrame |
|
pthatcher1
2016/03/09 18:16:49
jVideo => video
perkj_webrtc
2016/03/09 21:22:59
Done.
|
| +// can be called on any thread. |
| class VideoBroadcaster : public VideoSourceInterface<cricket::VideoFrame>, |
| public VideoSinkInterface<cricket::VideoFrame> { |
| public: |
| @@ -46,13 +53,15 @@ class VideoBroadcaster : public VideoSourceInterface<cricket::VideoFrame>, |
| VideoSinkInterface<cricket::VideoFrame>* sink; |
| VideoSinkWants wants; |
| }; |
| - SinkPair* FindSinkPair(const VideoSinkInterface<cricket::VideoFrame>* sink); |
| - void UpdateWants(); |
| + SinkPair* FindSinkPair(const VideoSinkInterface<cricket::VideoFrame>* sink) |
| + EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); |
| + void UpdateWants() EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); |
| ThreadChecker thread_checker_; |
| + rtc::CriticalSection sinks_and_wants_lock_; |
| - VideoSinkWants current_wants_; |
| - std::vector<SinkPair> sinks_; |
| + VideoSinkWants current_wants_ GUARDED_BY(sinks_and_wants_lock_); |
| + std::vector<SinkPair> sinks_ GUARDED_BY(sinks_and_wants_lock_); |
| }; |
| } // namespace rtc |