Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: remoting/protocol/webrtc_dummy_video_encoder.h

Issue 2335923002: Add WebrtcCaptureScheduler interface. (Closed)
Patch Set: include <algorithm> Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/protocol/BUILD.gn ('k') | remoting/protocol/webrtc_dummy_video_encoder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_ 5 #ifndef REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_
6 #define REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_ 6 #define REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_
7 7
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 27 matching lines...) Expand all
38 int32_t RegisterEncodeCompleteCallback( 38 int32_t RegisterEncodeCompleteCallback(
39 webrtc::EncodedImageCallback* callback) override; 39 webrtc::EncodedImageCallback* callback) override;
40 int32_t Release() override; 40 int32_t Release() override;
41 int32_t Encode(const webrtc::VideoFrame& frame, 41 int32_t Encode(const webrtc::VideoFrame& frame,
42 const webrtc::CodecSpecificInfo* codec_specific_info, 42 const webrtc::CodecSpecificInfo* codec_specific_info,
43 const std::vector<webrtc::FrameType>* frame_types) override; 43 const std::vector<webrtc::FrameType>* frame_types) override;
44 int32_t SetChannelParameters(uint32_t packet_loss, int64_t rtt) override; 44 int32_t SetChannelParameters(uint32_t packet_loss, int64_t rtt) override;
45 int32_t SetRates(uint32_t bitrate, uint32_t framerate) override; 45 int32_t SetRates(uint32_t bitrate, uint32_t framerate) override;
46 46
47 webrtc::EncodedImageCallback::Result SendEncodedFrame( 47 webrtc::EncodedImageCallback::Result SendEncodedFrame(
48 std::unique_ptr<WebrtcVideoEncoder::EncodedFrame> frame, 48 const WebrtcVideoEncoder::EncodedFrame& frame,
49 base::TimeTicks capture_time); 49 base::TimeTicks capture_time);
50 void SetKeyFrameRequestCallback(const base::Closure& key_frame_request); 50 void SetKeyFrameRequestCallback(const base::Closure& key_frame_request);
51 void SetTargetBitrateCallback(const TargetBitrateCallback& target_bitrate_cb); 51 void SetTargetBitrateCallback(const TargetBitrateCallback& target_bitrate_cb);
52 52
53 private: 53 private:
54 // Protects |encoded_callback_|, |key_frame_request_|, 54 // Protects |encoded_callback_|, |key_frame_request_|,
55 // |target_bitrate_cb_| and |state_|. 55 // |target_bitrate_cb_| and |state_|.
56 base::Lock lock_; 56 base::Lock lock_;
57 State state_; 57 State state_;
58 webrtc::EncodedImageCallback* encoded_callback_; 58 webrtc::EncodedImageCallback* encoded_callback_;
(...skipping 15 matching lines...) Expand all
74 webrtc::VideoEncoder* CreateVideoEncoder( 74 webrtc::VideoEncoder* CreateVideoEncoder(
75 webrtc::VideoCodecType type) override; 75 webrtc::VideoCodecType type) override;
76 const std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec>& codecs() 76 const std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec>& codecs()
77 const override; 77 const override;
78 78
79 // Returns true to directly provide encoded frames to webrtc 79 // Returns true to directly provide encoded frames to webrtc
80 bool EncoderTypeHasInternalSource(webrtc::VideoCodecType type) const override; 80 bool EncoderTypeHasInternalSource(webrtc::VideoCodecType type) const override;
81 void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override; 81 void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) override;
82 82
83 webrtc::EncodedImageCallback::Result SendEncodedFrame( 83 webrtc::EncodedImageCallback::Result SendEncodedFrame(
84 std::unique_ptr<WebrtcVideoEncoder::EncodedFrame> packet, 84 const WebrtcVideoEncoder::EncodedFrame& packet,
85 base::TimeTicks capture_time); 85 base::TimeTicks capture_time);
86 86
87 void SetKeyFrameRequestCallback(const base::Closure& key_frame_request); 87 void SetKeyFrameRequestCallback(const base::Closure& key_frame_request);
88 void SetTargetBitrateCallback(const TargetBitrateCallback& target_bitrate_cb); 88 void SetTargetBitrateCallback(const TargetBitrateCallback& target_bitrate_cb);
89 89
90 private: 90 private:
91 // Protects |key_frame_request_| and |target_bitrate_cb_|. 91 // Protects |key_frame_request_| and |target_bitrate_cb_|.
92 base::Lock lock_; 92 base::Lock lock_;
93 base::Closure key_frame_request_; 93 base::Closure key_frame_request_;
94 TargetBitrateCallback target_bitrate_cb_; 94 TargetBitrateCallback target_bitrate_cb_;
95 std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec> codecs_; 95 std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec> codecs_;
96 std::vector<std::unique_ptr<WebrtcDummyVideoEncoder>> encoders_; 96 std::vector<std::unique_ptr<WebrtcDummyVideoEncoder>> encoders_;
97 }; 97 };
98 98
99 } // namespace protocol 99 } // namespace protocol
100 } // namespace remoting 100 } // namespace remoting
101 101
102 #endif // REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_ 102 #endif // REMOTING_PROTOCOL_DUMMY_WEBRTC_VIDEO_ENCODER_H_
OLDNEW
« no previous file with comments | « remoting/protocol/BUILD.gn ('k') | remoting/protocol/webrtc_dummy_video_encoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698