tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

video_sink_interface.h (1179B)


      1 /*
      2 *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
      3 *
      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
      6 *  tree. An additional intellectual property rights grant can be found
      7 *  in the file PATENTS.  All contributing project authors may
      8 *  be found in the AUTHORS file in the root of the source tree.
      9 */
     10 
     11 #ifndef API_VIDEO_VIDEO_SINK_INTERFACE_H_
     12 #define API_VIDEO_VIDEO_SINK_INTERFACE_H_
     13 
     14 #include "api/video_track_source_constraints.h"
     15 
     16 namespace webrtc {
     17 
     18 template <typename VideoFrameT>
     19 class VideoSinkInterface {
     20 public:
     21  virtual ~VideoSinkInterface() = default;
     22 
     23  virtual void OnFrame(const VideoFrameT& frame) = 0;
     24 
     25  // Should be called by the source when it discards the frame due to rate
     26  // limiting.
     27  virtual void OnDiscardedFrame() {}
     28 
     29  // Called on the network thread when video constraints change.
     30  // TODO(crbug/1255737): make pure virtual once downstream project adapts.
     31  virtual void OnConstraintsChanged(
     32      const VideoTrackSourceConstraints& /* constraints */) {}
     33 };
     34 
     35 }  //  namespace webrtc
     36 
     37 
     38 #endif  // API_VIDEO_VIDEO_SINK_INTERFACE_H_