| 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  | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  44   // aggregated by all VideoSinkWants from all sinks. |  44   // aggregated by all VideoSinkWants from all sinks. | 
|  45   VideoSinkWants wants() const; |  45   VideoSinkWants wants() const; | 
|  46  |  46  | 
|  47   // This method ensures that if a sink sets rotation_applied == true, |  47   // This method ensures that if a sink sets rotation_applied == true, | 
|  48   // it will never receive a frame with pending rotation. Our caller |  48   // it will never receive a frame with pending rotation. Our caller | 
|  49   // may pass in frames without precise synchronization with changes |  49   // may pass in frames without precise synchronization with changes | 
|  50   // to the VideoSinkWants. |  50   // to the VideoSinkWants. | 
|  51   void OnFrame(const webrtc::VideoFrame& frame) override; |  51   void OnFrame(const webrtc::VideoFrame& frame) override; | 
|  52  |  52  | 
|  53  protected: |  53  protected: | 
 |  54   static void MergeWantsRange(rtc::Optional<rtc::VideoSinkWants::Range>* target, | 
 |  55                               const rtc::VideoSinkWants::Range& item); | 
|  54   void UpdateWants() EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); |  56   void UpdateWants() EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); | 
|  55   const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& GetBlackFrameBuffer( |  57   const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& GetBlackFrameBuffer( | 
|  56       int width, int height) |  58       int width, int height) | 
|  57       EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); |  59       EXCLUSIVE_LOCKS_REQUIRED(sinks_and_wants_lock_); | 
|  58  |  60  | 
|  59   ThreadChecker thread_checker_; |  61   ThreadChecker thread_checker_; | 
|  60   rtc::CriticalSection sinks_and_wants_lock_; |  62   rtc::CriticalSection sinks_and_wants_lock_; | 
|  61  |  63  | 
|  62   VideoSinkWants current_wants_ GUARDED_BY(sinks_and_wants_lock_); |  64   VideoSinkWants current_wants_ GUARDED_BY(sinks_and_wants_lock_); | 
|  63   rtc::scoped_refptr<webrtc::VideoFrameBuffer> black_frame_buffer_; |  65   rtc::scoped_refptr<webrtc::VideoFrameBuffer> black_frame_buffer_; | 
|  64 }; |  66 }; | 
|  65  |  67  | 
|  66 }  // namespace rtc |  68 }  // namespace rtc | 
|  67  |  69  | 
|  68 #endif  // WEBRTC_MEDIA_BASE_VIDEOBROADCASTER_H_ |  70 #endif  // WEBRTC_MEDIA_BASE_VIDEOBROADCASTER_H_ | 
| OLD | NEW |