OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 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_MEDIA_BASE_MEDIACHANNEL_H_ | 11 #ifndef WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ |
12 #define WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ | 12 #define WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ |
13 | 13 |
14 #include <algorithm> | 14 #include <algorithm> |
15 #include <memory> | 15 #include <memory> |
16 #include <string> | 16 #include <string> |
17 #include <vector> | 17 #include <vector> |
18 | 18 |
19 #include "webrtc/api/rtpparameters.h" | 19 #include "webrtc/api/rtpparameters.h" |
| 20 #include "webrtc/api/rtpreceiverinterface.h" |
20 #include "webrtc/base/basictypes.h" | 21 #include "webrtc/base/basictypes.h" |
21 #include "webrtc/base/buffer.h" | 22 #include "webrtc/base/buffer.h" |
22 #include "webrtc/base/copyonwritebuffer.h" | 23 #include "webrtc/base/copyonwritebuffer.h" |
23 #include "webrtc/base/dscp.h" | 24 #include "webrtc/base/dscp.h" |
24 #include "webrtc/base/logging.h" | 25 #include "webrtc/base/logging.h" |
25 #include "webrtc/base/networkroute.h" | 26 #include "webrtc/base/networkroute.h" |
26 #include "webrtc/base/optional.h" | 27 #include "webrtc/base/optional.h" |
27 #include "webrtc/base/sigslot.h" | 28 #include "webrtc/base/sigslot.h" |
28 #include "webrtc/base/socket.h" | 29 #include "webrtc/base/socket.h" |
29 #include "webrtc/base/window.h" | 30 #include "webrtc/base/window.h" |
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 // The |ssrc| should be either 0 or a valid send stream ssrc. | 1004 // The |ssrc| should be either 0 or a valid send stream ssrc. |
1004 // The valid value for the |event| are 0 to 15 which corresponding to | 1005 // The valid value for the |event| are 0 to 15 which corresponding to |
1005 // DTMF event 0-9, *, #, A-D. | 1006 // DTMF event 0-9, *, #, A-D. |
1006 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; | 1007 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; |
1007 // Gets quality stats for the channel. | 1008 // Gets quality stats for the channel. |
1008 virtual bool GetStats(VoiceMediaInfo* info) = 0; | 1009 virtual bool GetStats(VoiceMediaInfo* info) = 0; |
1009 | 1010 |
1010 virtual void SetRawAudioSink( | 1011 virtual void SetRawAudioSink( |
1011 uint32_t ssrc, | 1012 uint32_t ssrc, |
1012 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; | 1013 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; |
| 1014 |
| 1015 virtual std::vector<webrtc::RtpSource> GetSources(uint32_t ssrc) const = 0; |
1013 }; | 1016 }; |
1014 | 1017 |
1015 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to | 1018 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to |
1016 // encapsulate all the parameters needed for a video RtpSender. | 1019 // encapsulate all the parameters needed for a video RtpSender. |
1017 struct VideoSendParameters : RtpSendParameters<VideoCodec> { | 1020 struct VideoSendParameters : RtpSendParameters<VideoCodec> { |
1018 // Use conference mode? This flag comes from the remote | 1021 // Use conference mode? This flag comes from the remote |
1019 // description's SDP line 'a=x-google-flag:conference', copied over | 1022 // description's SDP line 'a=x-google-flag:conference', copied over |
1020 // by VideoChannel::SetRemoteContent_w, and ultimately used by | 1023 // by VideoChannel::SetRemoteContent_w, and ultimately used by |
1021 // conference mode screencast logic in | 1024 // conference mode screencast logic in |
1022 // WebRtcVideoChannel2::WebRtcVideoSendStream::CreateVideoEncoderConfig. | 1025 // WebRtcVideoChannel2::WebRtcVideoSendStream::CreateVideoEncoderConfig. |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1204 const char*, | 1207 const char*, |
1205 size_t> SignalDataReceived; | 1208 size_t> SignalDataReceived; |
1206 // Signal when the media channel is ready to send the stream. Arguments are: | 1209 // Signal when the media channel is ready to send the stream. Arguments are: |
1207 // writable(bool) | 1210 // writable(bool) |
1208 sigslot::signal1<bool> SignalReadyToSend; | 1211 sigslot::signal1<bool> SignalReadyToSend; |
1209 }; | 1212 }; |
1210 | 1213 |
1211 } // namespace cricket | 1214 } // namespace cricket |
1212 | 1215 |
1213 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ | 1216 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ |
OLD | NEW |