diff --git a/rtc_base/copy_on_write_buffer.h b/rtc_base/copy_on_write_buffer.h
index 8332ee6..bc5e82f 100644
--- a/rtc_base/copy_on_write_buffer.h
+++ b/rtc_base/copy_on_write_buffer.h
@@ -132,6 +132,8 @@
     return buffer_->data<T>() + offset_;
   }
 
+  bool empty() const { return size_ == 0; }
+
   size_t size() const {
     RTC_DCHECK(IsConsistent());
     return size_;
diff --git a/rtc_base/copy_on_write_buffer_unittest.cc b/rtc_base/copy_on_write_buffer_unittest.cc
index 8a9fc4e..8bf53c4 100644
--- a/rtc_base/copy_on_write_buffer_unittest.cc
+++ b/rtc_base/copy_on_write_buffer_unittest.cc
@@ -46,11 +46,20 @@
 
 TEST(CopyOnWriteBufferTest, TestCreateEmptyData) {
   CopyOnWriteBuffer buf(static_cast<const uint8_t*>(nullptr), 0);
+  EXPECT_TRUE(buf.empty());
   EXPECT_EQ(buf.size(), 0u);
   EXPECT_EQ(buf.capacity(), 0u);
   EXPECT_EQ(buf.data(), nullptr);
 }
 
+TEST(CopyOnWriteBufferTest, CreateEmptyDataWithCapacity) {
+  CopyOnWriteBuffer buf(0, 16);
+  EXPECT_TRUE(buf.empty());
+  EXPECT_EQ(buf.size(), 0u);
+  EXPECT_EQ(buf.capacity(), 16u);
+  EXPECT_NE(buf.MutableData(), nullptr);
+}
+
 TEST(CopyOnWriteBufferTest, TestMoveConstruct) {
   EXPECT_TRUE(std::is_nothrow_move_constructible_v<CopyOnWriteBuffer>);
 
@@ -60,9 +69,11 @@
   const uint8_t* buf1_data = buf1.cdata();
 
   CopyOnWriteBuffer buf2(std::move(buf1));
+  EXPECT_TRUE(buf1.empty());
   EXPECT_EQ(buf1.size(), 0u);
   EXPECT_EQ(buf1.capacity(), 0u);
   EXPECT_EQ(buf1.data(), nullptr);
+  EXPECT_FALSE(buf2.empty());
   EXPECT_EQ(buf2.size(), buf1_size);
   EXPECT_EQ(buf2.capacity(), buf1_capacity);
   EXPECT_EQ(buf2.data(), buf1_data);
@@ -127,6 +138,7 @@
   buf.SetData<uint8_t>(nullptr, 0);
 
   EXPECT_EQ(0u, buf.size());
+  EXPECT_TRUE(buf.empty());
 }
 
 TEST(CopyOnWriteBufferTest, SetDataNoMoreThanCapacityDoesntCauseReallocation) {
