Refactor FEC code to use COW buffers
This refactoring helps to reduce unnecessary memcpy calls on the receive side. This CL is the first stage of refactoring: it only replaces |uint8 data[IP_PACKET_SIZE]| with |rtc::CopyOnWriteBuffer data| and does necessary changes. A follow-up CL will remove length field of the Packet class. Bug: webrtc:10750 Change-Id: Ie233da83ff33f6370f511955e4c65d59522389a7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144881 Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28539}
This commit is contained in:
committed by
Commit Bot
parent
1300ce12e8
commit
7325bc3917
@ -89,9 +89,9 @@ class RtpPacket {
|
||||
void SetTimestamp(uint32_t timestamp);
|
||||
void SetSsrc(uint32_t ssrc);
|
||||
|
||||
// Copies the buffer with zero-ed mutable extensions,
|
||||
// Fills with zeroes mutable extensions,
|
||||
// which are modified after FEC protection is generated.
|
||||
void CopyAndZeroMutableExtensions(rtc::ArrayView<uint8_t> buffer) const;
|
||||
void ZeroMutableExtensions();
|
||||
|
||||
// Removes extension of given |type|, returns false is extension was not
|
||||
// registered in packet's extension map or not present in the packet. Only
|
||||
|
||||
Reference in New Issue
Block a user