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 <memory> | 14 #include <memory> |
15 #include <string> | 15 #include <string> |
16 #include <vector> | 16 #include <vector> |
17 | 17 |
18 #include "webrtc/api/rtpparameters.h" | 18 #include "webrtc/api/rtpparameters.h" |
| 19 #include "webrtc/api/rtpreceiverinterface.h" |
19 #include "webrtc/base/basictypes.h" | 20 #include "webrtc/base/basictypes.h" |
20 #include "webrtc/base/buffer.h" | 21 #include "webrtc/base/buffer.h" |
21 #include "webrtc/base/copyonwritebuffer.h" | 22 #include "webrtc/base/copyonwritebuffer.h" |
22 #include "webrtc/base/dscp.h" | 23 #include "webrtc/base/dscp.h" |
23 #include "webrtc/base/logging.h" | 24 #include "webrtc/base/logging.h" |
24 #include "webrtc/base/networkroute.h" | 25 #include "webrtc/base/networkroute.h" |
25 #include "webrtc/base/optional.h" | 26 #include "webrtc/base/optional.h" |
26 #include "webrtc/base/sigslot.h" | 27 #include "webrtc/base/sigslot.h" |
27 #include "webrtc/base/socket.h" | 28 #include "webrtc/base/socket.h" |
28 #include "webrtc/base/window.h" | 29 #include "webrtc/base/window.h" |
(...skipping 964 matching lines...) Loading... |
993 // The |ssrc| should be either 0 or a valid send stream ssrc. | 994 // The |ssrc| should be either 0 or a valid send stream ssrc. |
994 // The valid value for the |event| are 0 to 15 which corresponding to | 995 // The valid value for the |event| are 0 to 15 which corresponding to |
995 // DTMF event 0-9, *, #, A-D. | 996 // DTMF event 0-9, *, #, A-D. |
996 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; | 997 virtual bool InsertDtmf(uint32_t ssrc, int event, int duration) = 0; |
997 // Gets quality stats for the channel. | 998 // Gets quality stats for the channel. |
998 virtual bool GetStats(VoiceMediaInfo* info) = 0; | 999 virtual bool GetStats(VoiceMediaInfo* info) = 0; |
999 | 1000 |
1000 virtual void SetRawAudioSink( | 1001 virtual void SetRawAudioSink( |
1001 uint32_t ssrc, | 1002 uint32_t ssrc, |
1002 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; | 1003 std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0; |
| 1004 |
| 1005 virtual std::vector<webrtc::RtpSource> GetSources(uint32_t ssrc) const = 0; |
1003 }; | 1006 }; |
1004 | 1007 |
1005 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to | 1008 // TODO(deadbeef): Rename to VideoSenderParameters, since they're intended to |
1006 // encapsulate all the parameters needed for a video RtpSender. | 1009 // encapsulate all the parameters needed for a video RtpSender. |
1007 struct VideoSendParameters : RtpSendParameters<VideoCodec> { | 1010 struct VideoSendParameters : RtpSendParameters<VideoCodec> { |
1008 // Use conference mode? This flag comes from the remote | 1011 // Use conference mode? This flag comes from the remote |
1009 // description's SDP line 'a=x-google-flag:conference', copied over | 1012 // description's SDP line 'a=x-google-flag:conference', copied over |
1010 // by VideoChannel::SetRemoteContent_w, and ultimately used by | 1013 // by VideoChannel::SetRemoteContent_w, and ultimately used by |
1011 // conference mode screencast logic in | 1014 // conference mode screencast logic in |
1012 // WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoderConfig. | 1015 // WebRtcVideoChannel::WebRtcVideoSendStream::CreateVideoEncoderConfig. |
(...skipping 190 matching lines...) Loading... |
1203 const char*, | 1206 const char*, |
1204 size_t> SignalDataReceived; | 1207 size_t> SignalDataReceived; |
1205 // Signal when the media channel is ready to send the stream. Arguments are: | 1208 // Signal when the media channel is ready to send the stream. Arguments are: |
1206 // writable(bool) | 1209 // writable(bool) |
1207 sigslot::signal1<bool> SignalReadyToSend; | 1210 sigslot::signal1<bool> SignalReadyToSend; |
1208 }; | 1211 }; |
1209 | 1212 |
1210 } // namespace cricket | 1213 } // namespace cricket |
1211 | 1214 |
1212 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ | 1215 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ |
OLD | NEW |