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 975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 // The |ssrc| should be either 0 or a valid send stream ssrc. | 1006 // The |ssrc| should be either 0 or a valid send stream ssrc. |
1006 // The valid value for the |event| are 0 to 15 which corresponding to | 1007 // The valid value for the |event| are 0 to 15 which corresponding to |
1007 // DTMF event 0-9, *, #, A-D. | 1008 // DTMF event 0-9, *, #, A-D. |
1008 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; | 1009 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; |
1009 // Gets quality stats for the channel. | 1010 // Gets quality stats for the channel. |
1010 virtual bool GetStats(VoiceMediaInfo* info) = 0; | 1011 virtual bool GetStats(VoiceMediaInfo* info) = 0; |
1011 | 1012 |
1012 virtual void SetRawAudioSink( | 1013 virtual void SetRawAudioSink( |
1013 uint32_t ssrc, | 1014 uint32_t ssrc, |
1014 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; | 1015 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; |
| 1016 |
| 1017 virtual std::vector<webrtc::RtpSource> GetSources(uint32_t ssrc) const = 0; |
1015 }; | 1018 }; |
1016 | 1019 |
1017 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to | 1020 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to |
1018 // encapsulate all the parameters needed for a video RtpSender. | 1021 // encapsulate all the parameters needed for a video RtpSender. |
1019 struct VideoSendParameters : RtpSendParameters<VideoCodec> { | 1022 struct VideoSendParameters : RtpSendParameters<VideoCodec> { |
1020 // Use conference mode? This flag comes from the remote | 1023 // Use conference mode? This flag comes from the remote |
1021 // description's SDP line 'a=x-google-flag:conference', copied over | 1024 // description's SDP line 'a=x-google-flag:conference', copied over |
1022 // by VideoChannel::SetRemoteContent_w, and ultimately used by | 1025 // by VideoChannel::SetRemoteContent_w, and ultimately used by |
1023 // conference mode screencast logic in | 1026 // conference mode screencast logic in |
1024 // WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoderConfig. | 1027 // WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoderConfig. |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1215 const char*, | 1218 const char*, |
1216 size_t> SignalDataReceived; | 1219 size_t> SignalDataReceived; |
1217 // Signal when the media channel is ready to send the stream. Arguments are: | 1220 // Signal when the media channel is ready to send the stream. Arguments are: |
1218 // writable(bool) | 1221 // writable(bool) |
1219 sigslot::signal1<bool> SignalReadyToSend; | 1222 sigslot::signal1<bool> SignalReadyToSend; |
1220 }; | 1223 }; |
1221 | 1224 |
1222 } // namespace cricket | 1225 } // namespace cricket |
1223 | 1226 |
1224 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ | 1227 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ |
OLD | NEW |