OLD | NEW |
---|---|
(Empty) | |
1 /* | |
2 * Copyright (c) 2017 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 #ifndef WEBRTC_CALL_RTP_STREAM_RECEIVER_CONTROLLER_INTERFACE_H_ | |
11 #define WEBRTC_CALL_RTP_STREAM_RECEIVER_CONTROLLER_INTERFACE_H_ | |
12 | |
13 #include <memory> | |
14 | |
15 #include "webrtc/call/rtp_packet_sink_interface.h" | |
16 | |
17 namespace webrtc { | |
18 | |
19 // An RtpStreamReceiver is responsible for the rtp-specific but | |
20 // media-independent state needed for receiving an RTP stream. | |
21 // TODO(nisse): Currently, only owns the association between ssrc and | |
22 // the stream's RtpPacketSinkInterface. Ownership of corresponding | |
23 // objects from modules/rtp_rtcp/ should move to this class (or | |
24 // rather, the corresponding implementation class). We should add | |
25 // methods for getting rtp receive stats, and for sending RTCP | |
the sun
2017/06/16 13:37:39
I thought RTCP messages were usually sent for a co
nisse-webrtc
2017/06/16 14:33:26
The intended interface would like "I want a key fr
| |
26 // messages related to the receive stream. | |
27 class RtpStreamReceiverInterface { | |
28 public: | |
29 virtual ~RtpStreamReceiverInterface() {} | |
30 }; | |
31 | |
32 // This class acts as a factory for RtpStreamReceiver objects. | |
33 class RtpStreamReceiverControllerInterface { | |
34 public: | |
35 virtual ~RtpStreamReceiverControllerInterface() {} | |
36 | |
37 virtual std::unique_ptr<RtpStreamReceiverInterface> CreateReceiver( | |
38 uint32_t ssrc, | |
39 RtpPacketSinkInterface* sink) = 0; | |
40 // For registering additional sinks, needed for FlexFEC. | |
41 virtual void AddSink(uint32_t ssrc, RtpPacketSinkInterface* sink) = 0; | |
42 virtual size_t RemoveSink(const RtpPacketSinkInterface* sink) = 0; | |
43 }; | |
44 | |
45 } // namespace webrtc | |
46 | |
47 #endif // WEBRTC_CALL_RTP_STREAM_RECEIVER_CONTROLLER_INTERFACE_H_ | |
OLD | NEW |