OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include "webrtc/video/transport_adapter.h" | 11 #include "webrtc/video/transport_adapter.h" |
12 | 12 |
13 #include "webrtc/base/checks.h" | 13 #include "webrtc/base/checks.h" |
14 | 14 |
15 namespace webrtc { | 15 namespace webrtc { |
16 namespace internal { | 16 namespace internal { |
17 | 17 |
18 TransportAdapter::TransportAdapter(newapi::Transport* transport) | 18 TransportAdapter::TransportAdapter(newapi::Transport* transport) |
19 : transport_(transport), enabled_(0) { | 19 : transport_(transport), enabled_(0) { |
20 RTC_DCHECK(nullptr != transport); | 20 RTC_DCHECK(nullptr != transport); |
21 } | 21 } |
22 | 22 |
23 int TransportAdapter::SendPacket(int /*channel*/, | 23 int TransportAdapter::SendPacket(const void* packet, size_t length) { |
24 const void* packet, | |
25 size_t length) { | |
26 if (enabled_.Value() == 0) | 24 if (enabled_.Value() == 0) |
27 return false; | 25 return false; |
28 | 26 |
29 bool success = transport_->SendRtp(static_cast<const uint8_t*>(packet), | 27 bool success = transport_->SendRtp(static_cast<const uint8_t*>(packet), |
30 length); | 28 length); |
31 return success ? static_cast<int>(length) : -1; | 29 return success ? static_cast<int>(length) : -1; |
32 } | 30 } |
33 | 31 |
34 int TransportAdapter::SendRTCPPacket(int /*channel*/, | 32 int TransportAdapter::SendRTCPPacket(const void* packet, size_t length) { |
35 const void* packet, | |
36 size_t length) { | |
37 if (enabled_.Value() == 0) | 33 if (enabled_.Value() == 0) |
38 return false; | 34 return false; |
39 | 35 |
40 bool success = transport_->SendRtcp(static_cast<const uint8_t*>(packet), | 36 bool success = transport_->SendRtcp(static_cast<const uint8_t*>(packet), |
41 length); | 37 length); |
42 return success ? static_cast<int>(length) : -1; | 38 return success ? static_cast<int>(length) : -1; |
43 } | 39 } |
44 | 40 |
45 void TransportAdapter::Enable() { | 41 void TransportAdapter::Enable() { |
46 // If this exchange fails it means enabled_ was already true, no need to | 42 // If this exchange fails it means enabled_ was already true, no need to |
47 // check result and iterate. | 43 // check result and iterate. |
48 enabled_.CompareExchange(1, 0); | 44 enabled_.CompareExchange(1, 0); |
49 } | 45 } |
50 | 46 |
51 void TransportAdapter::Disable() { enabled_.CompareExchange(0, 1); } | 47 void TransportAdapter::Disable() { enabled_.CompareExchange(0, 1); } |
52 | 48 |
53 } // namespace internal | 49 } // namespace internal |
54 } // namespace webrtc | 50 } // namespace webrtc |
OLD | NEW |