diff --git a/api/video/encoded_image.cc b/api/video/encoded_image.cc
index 13d57ef..72f88d2 100644
--- a/api/video/encoded_image.cc
+++ b/api/video/encoded_image.cc
@@ -81,6 +81,15 @@
   }
 }
 
+void EncodedImage::Allocate(size_t capacity) {
+  if (encoded_data_ && encoded_data_->HasOneRef()) {
+    encoded_data_->Realloc(capacity);
+  } else {
+    encoded_data_ = EncodedImageBuffer::Create(capacity);
+  }
+  buffer_ = nullptr;
+}
+
 void EncodedImage::SetEncodeTime(int64_t encode_start_ms,
                                  int64_t encode_finish_ms) {
   timing_.encode_start_ms = encode_start_ms;
diff --git a/api/video/encoded_image.h b/api/video/encoded_image.h
index 6de432c..91f2e0f 100644
--- a/api/video/encoded_image.h
+++ b/api/video/encoded_image.h
@@ -44,6 +44,13 @@
   // this non-const data method.
   virtual uint8_t* data() = 0;
   virtual size_t size() const = 0;
+  // TODO(bugs.webrtc.org/9378): Delete from this interface, together with
+  // EncodedImage::Allocate. Implemented properly only by the below concrete
+  // class
+  virtual void Realloc(size_t size) { RTC_NOTREACHED(); }
+  // Will be implemented by RefCountedObject, which also implements
+  // |rtc::RefCountInterface|.
+  virtual bool HasOneRef() const = 0;
 };
 
 // Basic implementation of EncodedImageBufferInterface.
@@ -57,7 +64,7 @@
   const uint8_t* data() const override;
   uint8_t* data() override;
   size_t size() const override;
-  void Realloc(size_t t);
+  void Realloc(size_t t) override;
 
  protected:
   explicit EncodedImageBuffer(size_t size);
@@ -139,6 +146,11 @@
     capacity_ = capacity;
   }
 
+  // TODO(bugs.webrtc.org/9378): Delete; this method implies realloc, which
+  // should not be generally supported by the EncodedImageBufferInterface.
+  RTC_DEPRECATED
+  void Allocate(size_t capacity);
+
   void SetEncodedData(
       rtc::scoped_refptr<EncodedImageBufferInterface> encoded_data) {
     encoded_data_ = encoded_data;
diff --git a/video/frame_encode_metadata_writer.cc b/video/frame_encode_metadata_writer.cc
index 8b2c2e6..a0a16c2 100644
--- a/video/frame_encode_metadata_writer.cc
+++ b/video/frame_encode_metadata_writer.cc
@@ -35,6 +35,8 @@
   uint8_t* data() override { return buffer_.data(); }
   size_t size() const override { return buffer_.size(); }
 
+  void Realloc(size_t t) override { RTC_NOTREACHED(); }
+
  private:
   rtc::Buffer buffer_;
 };
