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:

committed by
Commit Bot

parent
a1ca64c5ed
commit
eee0e9e9d4
@ -14,8 +14,6 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "api/ref_counted_base.h"
|
#include "api/ref_counted_base.h"
|
||||||
#include "api/scoped_refptr.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
|
// A 16 bits positive id. Negative ids are invalid and should be interpreted
|
||||||
// as packet_id not being set.
|
// as packet_id not being set.
|
||||||
int packet_id = -1;
|
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,
|
// Additional data bound to the RTP packet for use in application code,
|
||||||
// outside of WebRTC.
|
// outside of WebRTC.
|
||||||
rtc::scoped_refptr<rtc::RefCountedBase> additional_data;
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data;
|
||||||
|
@ -176,8 +176,6 @@ void DEPRECATED_RtpSenderEgress::SendPacket(
|
|||||||
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
|
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
options.application_data.assign(packet->application_data().begin(),
|
|
||||||
packet->application_data().end());
|
|
||||||
options.additional_data = packet->additional_data();
|
options.additional_data = packet->additional_data();
|
||||||
|
|
||||||
if (packet->packet_type() != RtpPacketMediaType::kPadding &&
|
if (packet->packet_type() != RtpPacketMediaType::kPadding &&
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "api/array_view.h"
|
#include "api/array_view.h"
|
||||||
#include "api/ref_counted_base.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
|
// An application can attach arbitrary data to an RTP packet using
|
||||||
// `application_data` or `additional_data`.
|
// `additional_data`. The additional data does not affect WebRTC processing.
|
||||||
// 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());
|
|
||||||
}
|
|
||||||
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
|
||||||
return additional_data_;
|
return additional_data_;
|
||||||
}
|
}
|
||||||
@ -79,7 +69,6 @@ class RtpPacketReceived : public RtpPacket {
|
|||||||
int payload_type_frequency_ = 0;
|
int payload_type_frequency_ = 0;
|
||||||
bool recovered_ = false;
|
bool recovered_ = false;
|
||||||
rtc::scoped_refptr<rtc::RefCountedBase> additional_data_;
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data_;
|
||||||
std::vector<uint8_t> application_data_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
#include "api/array_view.h"
|
#include "api/array_view.h"
|
||||||
@ -70,15 +69,7 @@ class RtpPacketToSend : public RtpPacket {
|
|||||||
bool allow_retransmission() { return allow_retransmission_; }
|
bool allow_retransmission() { return allow_retransmission_; }
|
||||||
|
|
||||||
// An application can attach arbitrary data to an RTP packet using
|
// An application can attach arbitrary data to an RTP packet using
|
||||||
// `application_data` or `additional_data`.
|
// `additional_data`. The additional data does not affect WebRTC processing.
|
||||||
// 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());
|
|
||||||
}
|
|
||||||
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data() const {
|
||||||
return additional_data_;
|
return additional_data_;
|
||||||
}
|
}
|
||||||
@ -134,9 +125,6 @@ class RtpPacketToSend : public RtpPacket {
|
|||||||
absl::optional<RtpPacketMediaType> packet_type_;
|
absl::optional<RtpPacketMediaType> packet_type_;
|
||||||
bool allow_retransmission_ = false;
|
bool allow_retransmission_ = false;
|
||||||
absl::optional<uint16_t> retransmitted_sequence_number_;
|
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_;
|
rtc::scoped_refptr<rtc::RefCountedBase> additional_data_;
|
||||||
bool is_first_packet_of_frame_ = false;
|
bool is_first_packet_of_frame_ = false;
|
||||||
bool is_key_frame_ = false;
|
bool is_key_frame_ = false;
|
||||||
|
@ -809,8 +809,7 @@ std::unique_ptr<RtpPacketToSend> RTPSender::BuildRtxPacket(
|
|||||||
auto payload = packet.payload();
|
auto payload = packet.payload();
|
||||||
memcpy(rtx_payload + kRtxHeaderSize, payload.data(), payload.size());
|
memcpy(rtx_payload + kRtxHeaderSize, payload.data(), payload.size());
|
||||||
|
|
||||||
// Add original application data.
|
// Add original additional data.
|
||||||
rtx_packet->set_application_data(packet.application_data());
|
|
||||||
rtx_packet->set_additional_data(packet.additional_data());
|
rtx_packet->set_additional_data(packet.additional_data());
|
||||||
|
|
||||||
// Copy capture time so e.g. TransmissionOffset is correctly set.
|
// Copy capture time so e.g. TransmissionOffset is correctly set.
|
||||||
|
@ -250,8 +250,6 @@ void RtpSenderEgress::SendPacket(RtpPacketToSend* packet,
|
|||||||
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
|
AddPacketToTransportFeedback(*packet_id, *packet, pacing_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
options.application_data.assign(packet->application_data().begin(),
|
|
||||||
packet->application_data().end());
|
|
||||||
options.additional_data = packet->additional_data();
|
options.additional_data = packet->additional_data();
|
||||||
|
|
||||||
if (packet->packet_type() != RtpPacketMediaType::kPadding &&
|
if (packet->packet_type() != RtpPacketMediaType::kPadding &&
|
||||||
|
Reference in New Issue
Block a user