mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00

This CL adds [[deprecated]] to the old signatures, and uses the new signatures throughout. Bug: webrtc:14870 Change-Id: Ic9a8198ac0a2f954e1b2e7d05a55dbe04342f958 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/314962 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#40517}
78 lines
2.6 KiB
C++
78 lines
2.6 KiB
C++
/*
|
|
* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef API_CALL_TRANSPORT_H_
|
|
#define API_CALL_TRANSPORT_H_
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include "api/array_view.h"
|
|
#include "api/ref_counted_base.h"
|
|
#include "api/scoped_refptr.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// TODO(holmer): Look into unifying this with the PacketOptions in
|
|
// asyncpacketsocket.h.
|
|
struct PacketOptions {
|
|
PacketOptions();
|
|
PacketOptions(const PacketOptions&);
|
|
~PacketOptions();
|
|
|
|
// A 16 bits positive id. Negative ids are invalid and should be interpreted
|
|
// as packet_id not being set.
|
|
int packet_id = -1;
|
|
// Additional data bound to the RTP packet for use in application code,
|
|
// outside of WebRTC.
|
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data;
|
|
// Whether this is a retransmission of an earlier packet.
|
|
bool is_retransmit = false;
|
|
bool included_in_feedback = false;
|
|
bool included_in_allocation = false;
|
|
// Whether this packet can be part of a packet batch at lower levels.
|
|
bool batchable = false;
|
|
// Whether this packet is the last of a batch.
|
|
bool last_packet_in_batch = false;
|
|
};
|
|
|
|
class Transport {
|
|
public:
|
|
// New style functions. Default implementations are to accomodate
|
|
// subclasses that haven't been converted to new style yet.
|
|
// TODO(bugs.webrtc.org/14870): Deprecate and remove old functions.
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
virtual bool SendRtp(rtc::ArrayView<const uint8_t> packet,
|
|
const PacketOptions& options) {
|
|
return SendRtp(packet.data(), packet.size(), options);
|
|
}
|
|
virtual bool SendRtcp(rtc::ArrayView<const uint8_t> packet) {
|
|
return SendRtcp(packet.data(), packet.size());
|
|
}
|
|
#pragma clang diagnostic pop
|
|
// Old style functions.
|
|
[[deprecated("Use ArrayView version")]] virtual bool
|
|
SendRtp(const uint8_t* packet, size_t length, const PacketOptions& options) {
|
|
return SendRtp(rtc::MakeArrayView(packet, length), options);
|
|
}
|
|
[[deprecated("Use ArrayView version")]] virtual bool SendRtcp(
|
|
const uint8_t* packet,
|
|
size_t length) {
|
|
return SendRtcp(rtc::MakeArrayView(packet, length));
|
|
}
|
|
|
|
protected:
|
|
virtual ~Transport() {}
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // API_CALL_TRANSPORT_H_
|