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 |
11 #ifndef WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ | 11 #ifndef WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ |
12 #define WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ | 12 #define WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ |
13 | 13 |
14 #include <set> | 14 #include <set> |
15 #include <vector> | 15 #include <vector> |
16 | 16 |
17 #include "webrtc/modules/interface/module.h" | 17 #include "webrtc/modules/interface/module.h" |
18 #include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" | 18 #include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" |
19 | 19 |
20 namespace webrtc { | 20 namespace webrtc { |
21 // Forward declarations. | 21 // Forward declarations. |
22 class PacedSender; | 22 class PacedSender; |
23 class PacketRouter; | 23 class PacketRouter; |
24 class ReceiveStatistics; | 24 class ReceiveStatistics; |
25 class RemoteBitrateEstimator; | 25 class RemoteBitrateEstimator; |
26 class RtpReceiver; | 26 class RtpReceiver; |
27 class Transport; | 27 class Transport; |
| 28 namespace rtcp { |
| 29 class TransportFeedback; |
| 30 } |
28 | 31 |
29 class RtpRtcp : public Module { | 32 class RtpRtcp : public Module { |
30 public: | 33 public: |
31 struct Configuration { | 34 struct Configuration { |
32 Configuration(); | 35 Configuration(); |
33 | 36 |
34 /* id - Unique identifier of this RTP/RTCP module object | 37 /* id - Unique identifier of this RTP/RTCP module object |
35 * audio - True for a audio version of the RTP/RTCP module | 38 * audio - True for a audio version of the RTP/RTCP module |
36 * object false will create a video version | 39 * object false will create a video version |
37 * clock - The clock to use to read time. If NULL object | 40 * clock - The clock to use to read time. If NULL object |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 virtual void SetStorePacketsStatus(bool enable, uint16_t numberToStore) = 0; | 538 virtual void SetStorePacketsStatus(bool enable, uint16_t numberToStore) = 0; |
536 | 539 |
537 // Returns true if the module is configured to store packets. | 540 // Returns true if the module is configured to store packets. |
538 virtual bool StorePackets() const = 0; | 541 virtual bool StorePackets() const = 0; |
539 | 542 |
540 // Called on receipt of RTCP report block from remote side. | 543 // Called on receipt of RTCP report block from remote side. |
541 virtual void RegisterRtcpStatisticsCallback( | 544 virtual void RegisterRtcpStatisticsCallback( |
542 RtcpStatisticsCallback* callback) = 0; | 545 RtcpStatisticsCallback* callback) = 0; |
543 virtual RtcpStatisticsCallback* | 546 virtual RtcpStatisticsCallback* |
544 GetRtcpStatisticsCallback() = 0; | 547 GetRtcpStatisticsCallback() = 0; |
| 548 // BWE feedback packets. |
| 549 virtual bool SendFeedbackPacket(const rtcp::TransportFeedback& packet) = 0; |
545 | 550 |
546 /************************************************************************** | 551 /************************************************************************** |
547 * | 552 * |
548 * Audio | 553 * Audio |
549 * | 554 * |
550 ***************************************************************************/ | 555 ***************************************************************************/ |
551 | 556 |
552 /* | 557 /* |
553 * set audio packet size, used to determine when it's time to send a DTMF | 558 * set audio packet size, used to determine when it's time to send a DTMF |
554 * packet in silence (CNG) | 559 * packet in silence (CNG) |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 | 635 |
631 /* | 636 /* |
632 * send a request for a keyframe | 637 * send a request for a keyframe |
633 * | 638 * |
634 * return -1 on failure else 0 | 639 * return -1 on failure else 0 |
635 */ | 640 */ |
636 virtual int32_t RequestKeyFrame() = 0; | 641 virtual int32_t RequestKeyFrame() = 0; |
637 }; | 642 }; |
638 } // namespace webrtc | 643 } // namespace webrtc |
639 #endif // WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ | 644 #endif // WEBRTC_MODULES_RTP_RTCP_INTERFACE_RTP_RTCP_H_ |
OLD | NEW |