OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // This is the main interface for the cast transport sender. It accepts encoded | 5 // This is the main interface for the cast transport sender. It accepts encoded |
6 // frames (both audio and video), encrypts their encoded data, packetizes them | 6 // frames (both audio and video), encrypts their encoded data, packetizes them |
7 // and feeds them into a transport (e.g., UDP). | 7 // and feeds them into a transport (e.g., UDP). |
8 | 8 |
9 // Construction of the Cast Sender and the Cast Transport Sender should be done | 9 // Construction of the Cast Sender and the Cast Transport Sender should be done |
10 // in the following order: | 10 // in the following order: |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 // Encrypt, packetize and transmit |frame|. |ssrc| must refer to a | 84 // Encrypt, packetize and transmit |frame|. |ssrc| must refer to a |
85 // a channel already established with InitializeAudio / InitializeVideo. | 85 // a channel already established with InitializeAudio / InitializeVideo. |
86 virtual void InsertFrame(uint32_t ssrc, const EncodedFrame& frame) = 0; | 86 virtual void InsertFrame(uint32_t ssrc, const EncodedFrame& frame) = 0; |
87 | 87 |
88 // Sends a RTCP sender report to the receiver. | 88 // Sends a RTCP sender report to the receiver. |
89 // |ssrc| is the SSRC for this report. | 89 // |ssrc| is the SSRC for this report. |
90 // |current_time| is the current time reported by a tick clock. | 90 // |current_time| is the current time reported by a tick clock. |
91 // |current_time_as_rtp_timestamp| is the corresponding RTP timestamp. | 91 // |current_time_as_rtp_timestamp| is the corresponding RTP timestamp. |
92 virtual void SendSenderReport(uint32_t ssrc, | 92 virtual void SendSenderReport(uint32_t ssrc, |
93 base::TimeTicks current_time, | 93 base::TimeTicks current_time, |
94 uint32_t current_time_as_rtp_timestamp) = 0; | 94 RtpTimeTicks current_time_as_rtp_timestamp) = 0; |
95 | 95 |
96 // Cancels sending packets for the frames in the set. | 96 // Cancels sending packets for the frames in the set. |
97 // |ssrc| is the SSRC for the stream. | 97 // |ssrc| is the SSRC for the stream. |
98 // |frame_ids| contains the IDs of the frames that will be cancelled. | 98 // |frame_ids| contains the IDs of the frames that will be cancelled. |
99 virtual void CancelSendingFrames(uint32_t ssrc, | 99 virtual void CancelSendingFrames(uint32_t ssrc, |
100 const std::vector<uint32_t>& frame_ids) = 0; | 100 const std::vector<uint32_t>& frame_ids) = 0; |
101 | 101 |
102 // Resends a frame or part of a frame to kickstart. This is used when the | 102 // Resends a frame or part of a frame to kickstart. This is used when the |
103 // stream appears to be stalled. | 103 // stream appears to be stalled. |
104 virtual void ResendFrameForKickstart(uint32_t ssrc, uint32_t frame_id) = 0; | 104 virtual void ResendFrameForKickstart(uint32_t ssrc, uint32_t frame_id) = 0; |
(...skipping 16 matching lines...) Expand all Loading... |
121 const RtcpCastMessage* cast_message, | 121 const RtcpCastMessage* cast_message, |
122 base::TimeDelta target_delay, | 122 base::TimeDelta target_delay, |
123 const ReceiverRtcpEventSubscriber::RtcpEvents* rtcp_events, | 123 const ReceiverRtcpEventSubscriber::RtcpEvents* rtcp_events, |
124 const RtpReceiverStatistics* rtp_receiver_statistics) = 0; | 124 const RtpReceiverStatistics* rtp_receiver_statistics) = 0; |
125 }; | 125 }; |
126 | 126 |
127 } // namespace cast | 127 } // namespace cast |
128 } // namespace media | 128 } // namespace media |
129 | 129 |
130 #endif // MEDIA_CAST_NET_CAST_TRANSPORT_SENDER_H_ | 130 #endif // MEDIA_CAST_NET_CAST_TRANSPORT_SENDER_H_ |
OLD | NEW |