OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 size_t max_rtp_streams, | 79 size_t max_rtp_streams, |
80 bool sender); | 80 bool sender); |
81 ~ViEChannel(); | 81 ~ViEChannel(); |
82 | 82 |
83 int32_t Init(); | 83 int32_t Init(); |
84 | 84 |
85 // Sets the encoder to use for the channel. |new_stream| indicates the encoder | 85 // Sets the encoder to use for the channel. |new_stream| indicates the encoder |
86 // type has changed and we should start a new RTP stream. | 86 // type has changed and we should start a new RTP stream. |
87 int32_t SetSendCodec(const VideoCodec& video_codec, bool new_stream = true); | 87 int32_t SetSendCodec(const VideoCodec& video_codec, bool new_stream = true); |
88 int32_t SetReceiveCodec(const VideoCodec& video_codec); | 88 int32_t SetReceiveCodec(const VideoCodec& video_codec); |
89 // Registers an external decoder. |buffered_rendering| means that the decoder | 89 // Registers an external decoder. |
90 // will render frames after decoding according to the render timestamp | 90 void RegisterExternalDecoder(const uint8_t pl_type, VideoDecoder* decoder); |
91 // provided by the video coding module. |render_delay| indicates the time | |
92 // needed to decode and render a frame. | |
93 int32_t RegisterExternalDecoder(const uint8_t pl_type, | |
94 VideoDecoder* decoder, | |
95 bool buffered_rendering, | |
96 int32_t render_delay); | |
97 int32_t ReceiveCodecStatistics(uint32_t* num_key_frames, | 91 int32_t ReceiveCodecStatistics(uint32_t* num_key_frames, |
98 uint32_t* num_delta_frames); | 92 uint32_t* num_delta_frames); |
99 uint32_t DiscardedPackets() const; | 93 uint32_t DiscardedPackets() const; |
100 | 94 |
101 // Returns the estimated delay in milliseconds. | 95 // Returns the estimated delay in milliseconds. |
102 int ReceiveDelay() const; | 96 int ReceiveDelay() const; |
103 | 97 |
| 98 void SetExpectedRenderDelay(int delay_ms); |
| 99 |
104 void SetRTCPMode(const RtcpMode rtcp_mode); | 100 void SetRTCPMode(const RtcpMode rtcp_mode); |
105 void SetProtectionMode(bool enable_nack, | 101 void SetProtectionMode(bool enable_nack, |
106 bool enable_fec, | 102 bool enable_fec, |
107 int payload_type_red, | 103 int payload_type_red, |
108 int payload_type_fec); | 104 int payload_type_fec); |
109 bool IsSendingFecEnabled(); | 105 bool IsSendingFecEnabled(); |
110 int SetSenderBufferingMode(int target_delay_ms); | 106 int SetSenderBufferingMode(int target_delay_ms); |
111 int SetSendTimestampOffsetStatus(bool enable, int id); | 107 int SetSendTimestampOffsetStatus(bool enable, int id); |
112 int SetReceiveTimestampOffsetStatus(bool enable, int id); | 108 int SetReceiveTimestampOffsetStatus(bool enable, int id); |
113 int SetSendAbsoluteSendTimeStatus(bool enable, int id); | 109 int SetSendAbsoluteSendTimeStatus(bool enable, int id); |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 size_t num_rtts_ GUARDED_BY(crit_); | 444 size_t num_rtts_ GUARDED_BY(crit_); |
449 | 445 |
450 // RtpRtcp modules, declared last as they use other members on construction. | 446 // RtpRtcp modules, declared last as they use other members on construction. |
451 const std::vector<RtpRtcp*> rtp_rtcp_modules_; | 447 const std::vector<RtpRtcp*> rtp_rtcp_modules_; |
452 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); | 448 size_t num_active_rtp_rtcp_modules_ GUARDED_BY(crit_); |
453 }; | 449 }; |
454 | 450 |
455 } // namespace webrtc | 451 } // namespace webrtc |
456 | 452 |
457 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_ | 453 #endif // WEBRTC_VIDEO_VIE_CHANNEL_H_ |
OLD | NEW |