Remove passing rtp packet metadata through webrtc as array of bytes

Instead metadata is now passed via refcounted class.

Bug: b/178094662
Change-Id: I9591fb12990282b60310ca01aea2a7b73d92487a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204060
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33134}
This commit is contained in:
Danil Chapovalov
2021-01-27 18:05:04 +01:00
committed by Commit Bot
parent a1ca64c5ed
commit eee0e9e9d4
6 changed files with 3 additions and 35 deletions

View File

@ -14,8 +14,6 @@
#include <stddef.h>
#include <stdint.h>
#include <vector>
#include "api/ref_counted_base.h"
#include "api/scoped_refptr.h"
@ -31,8 +29,6 @@ struct PacketOptions {
// A 16 bits positive id. Negative ids are invalid and should be interpreted
// as packet_id not being set.
int packet_id = -1;
// Deprecated: use `additional_data` instead of `application_data`.
std::vector<uint8_t> application_data;
// Additional data bound to the RTP packet for use in application code,
// outside of WebRTC.
rtc::scoped_refptr<rtc::RefCountedBase> additional_data;

View File

@ -176,8 +176,6 @@ void DEPRECATED_RtpSenderEgress::SendPacket(
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
}
options.application_data.assign(packet->application_data().begin(),
packet->application_data().end());
options.additional_data = packet->additional_data();
if (packet->packet_type() != RtpPacketMediaType::kPadding &&

View File

@ -13,7 +13,6 @@
#include <stdint.h>
#include <utility>
#include <vector>
#include "api/array_view.h"
#include "api/ref_counted_base.h"
@ -57,16 +56,7 @@ class RtpPacketReceived : public RtpPacket {
}
// An application can attach arbitrary data to an RTP packet using
// `application_data` or `additional_data`.
// The additional data does not affect WebRTC processing.
RTC_DEPRECATED
rtc::ArrayView<const uint8_t> application_data() const {
return application_data_;
}
RTC_DEPRECATED
void set_application_data(rtc::ArrayView<const uint8_t> data) {
application_data_.assign(data.begin(), data.end());
}
// `additional_data`. The additional data does not affect WebRTC processing.
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
return additional_data_;
}
@ -79,7 +69,6 @@ class RtpPacketReceived : public RtpPacket {
int payload_type_frequency_ = 0;
bool recovered_ = false;
rtc::scoped_refptr<rtc::RefCountedBase> additional_data_;
std::vector<uint8_t> application_data_;
};
} // namespace webrtc

View File

@ -14,7 +14,6 @@
#include <stdint.h>
#include <utility>
#include <vector>
#include "absl/types/optional.h"
#include "api/array_view.h"
@ -70,15 +69,7 @@ class RtpPacketToSend : public RtpPacket {
bool allow_retransmission() { return allow_retransmission_; }
// An application can attach arbitrary data to an RTP packet using
// `application_data` or `additional_data`.
// The additional data does not affect WebRTC processing.
rtc::ArrayView<const uint8_t> application_data() const {
return application_data_;
}
void set_application_data(rtc::ArrayView<const uint8_t> data) {
application_data_.assign(data.begin(), data.end());
}
// `additional_data`. The additional data does not affect WebRTC processing.
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
return additional_data_;
}
@ -134,9 +125,6 @@ class RtpPacketToSend : public RtpPacket {
absl::optional<RtpPacketMediaType> packet_type_;
bool allow_retransmission_ = false;
absl::optional<uint16_t> retransmitted_sequence_number_;
// TODO(danilchap): Remove applicaion_data_ when application switched to use
// additional_data instead.
std::vector<uint8_t> application_data_;
rtc::scoped_refptr<rtc::RefCountedBase> additional_data_;
bool is_first_packet_of_frame_ = false;
bool is_key_frame_ = false;

View File

@ -809,8 +809,7 @@ std::unique_ptr<RtpPacketToSend> RTPSender::BuildRtxPacket(
auto payload = packet.payload();
memcpy(rtx_payload + kRtxHeaderSize, payload.data(), payload.size());
// Add original application data.
rtx_packet->set_application_data(packet.application_data());
// Add original additional data.
rtx_packet->set_additional_data(packet.additional_data());
// Copy capture time so e.g. TransmissionOffset is correctly set.

View File

@ -250,8 +250,6 @@ void RtpSenderEgress::SendPacket(RtpPacketToSend* packet,
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
}
options.application_data.assign(packet->application_data().begin(),
packet->application_data().end());
options.additional_data = packet->additional_data();
if (packet->packet_type() != RtpPacketMediaType::kPadding &&