Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(817)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_packet.h

Issue 1945773002: RtpPacketHistory rewritten to use RtpPacket class. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/rtp_rtcp/source/rtp_packet.h
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_packet.h b/webrtc/modules/rtp_rtcp/source/rtp_packet.h
index b2687ca9babae03ab437fd14b6af89df650fd0a4..f1e3dd40f90cebcf80e3abe2cd4674f06249122c 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_packet.h
+++ b/webrtc/modules/rtp_rtcp/source/rtp_packet.h
@@ -13,8 +13,7 @@
#include <vector>
#include "webrtc/base/basictypes.h"
-#include "webrtc/base/buffer.h"
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/base/copyonwritebuffer.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
namespace webrtc {
@@ -33,7 +32,7 @@ class Packet {
bool Parse(const uint8_t* buffer, size_t size);
// Parse and move given buffer into Packet.
- bool Parse(rtc::Buffer packet);
+ bool Parse(rtc::CopyOnWriteBuffer packet);
// Maps parsed extensions to their types to allow use of GetExtension.
// Used after parsing when |extensions| can't be provided until base rtp
@@ -60,6 +59,7 @@ class Packet {
const uint8_t* payload() const;
// Buffer.
+ rtc::CopyOnWriteBuffer Buffer() const;
size_t capacity() const;
size_t size() const;
const uint8_t* data() const;
@@ -70,7 +70,7 @@ class Packet {
void Clear();
// Header setters.
- void CopyHeader(const Packet& packet);
+ void CopyHeaderFrom(const Packet& packet);
void SetMarker(bool marker_bit);
void SetPayloadType(uint8_t payload_type);
void SetSequenceNumber(uint16_t seq_no);
@@ -103,9 +103,12 @@ class Packet {
// Adding and getting extensions will fail until |extensions| is
// provided via constructor or IdentifyExtensions function.
explicit Packet(const ExtensionManager* extensions);
+ Packet(const Packet&) = default;
Packet(const ExtensionManager* extensions, size_t capacity);
virtual ~Packet();
+ Packet& operator=(const Packet&) = default;
+
private:
struct ExtensionInfo {
ExtensionType type;
@@ -152,9 +155,9 @@ class Packet {
uint8_t num_extensions_ = 0;
ExtensionInfo extension_entries_[kMaxExtensionHeaders];
uint16_t extensions_size_ = 0; // Unaligned.
- rtc::Buffer buffer_;
+ rtc::CopyOnWriteBuffer buffer_;
- RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Packet);
+ Packet() = delete;
};
template <typename Extension, typename... Values>
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_packet.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698