Move size() method to EncodedImage base class

Deleted from subclass video_coding::EncodedFrame. Also delete Length
and SetLength methods on the intermediate class
video_coding::VCMEncodedFrame.

Bug: webrtc:9378
Change-Id: I3c90b14735f622f50b2f403f79072e22fc025d11
Reviewed-on: https://webrtc-review.googlesource.com/c/112131
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25838}
diff --git a/modules/video_coding/encoded_frame.h b/modules/video_coding/encoded_frame.h
index c7efd40..124ed44 100644
--- a/modules/video_coding/encoded_frame.h
+++ b/modules/video_coding/encoded_frame.h
@@ -65,21 +65,11 @@
    */
   uint8_t* MutableBuffer() { return _buffer; }
   /**
-   *   Get frame length
-   */
-  size_t Length() const { return _length; }
-  /**
-   *   Set frame length
-   */
-  void SetLength(size_t length) {
-    RTC_DCHECK(length <= _size);
-    _length = length;
-  }
-  /**
    *   Frame RTP timestamp (90kHz)
    */
   using EncodedImage::Timestamp;
   using EncodedImage::SetTimestamp;
+  using EncodedImage::size;
   /**
    *   Get render time in milliseconds
    */
diff --git a/modules/video_coding/frame_buffer.cc b/modules/video_coding/frame_buffer.cc
index b623dd6..e1abb64 100644
--- a/modules/video_coding/frame_buffer.cc
+++ b/modules/video_coding/frame_buffer.cc
@@ -102,7 +102,7 @@
   }
 
   uint32_t requiredSizeBytes =
-      Length() + packet.sizeBytes +
+      size() + packet.sizeBytes +
       (packet.insertStartCode ? kH264StartCodeLengthBytes : 0) +
       EncodedImage::GetBufferPaddingBytes(packet.codec);
   if (requiredSizeBytes >= _size) {
@@ -139,7 +139,7 @@
     return kOutOfBoundsPacket;
   }
   // update length
-  _length = Length() + static_cast<uint32_t>(retVal);
+  _length = size() + static_cast<uint32_t>(retVal);
 
   _latestPacketTimeMs = timeInMs;
 
diff --git a/modules/video_coding/frame_object.cc b/modules/video_coding/frame_object.cc
index 5ccf0b7..d27b9e1 100644
--- a/modules/video_coding/frame_object.cc
+++ b/modules/video_coding/frame_object.cc
@@ -135,6 +135,11 @@
   return _renderTimeMs;
 }
 
+void RtpFrameObject::SetSize(size_t size) {
+  RTC_DCHECK_LE(size, _size);
+  _length = size;
+}
+
 bool RtpFrameObject::delayed_by_retransmission() const {
   return times_nacked() > 0;
 }
diff --git a/modules/video_coding/frame_object.h b/modules/video_coding/frame_object.h
index a65a4b4..b5a35e7 100644
--- a/modules/video_coding/frame_object.h
+++ b/modules/video_coding/frame_object.h
@@ -39,6 +39,7 @@
   VideoCodecType codec_type() const;
   int64_t ReceivedTime() const override;
   int64_t RenderTime() const override;
+  void SetSize(size_t size);
   bool delayed_by_retransmission() const override;
   absl::optional<RTPVideoHeader> GetRtpVideoHeader() const;
   absl::optional<RtpGenericFrameDescriptor> GetGenericFrameDescriptor() const;
diff --git a/modules/video_coding/jitter_buffer.cc b/modules/video_coding/jitter_buffer.cc
index 4a0622a..2805fbb 100644
--- a/modules/video_coding/jitter_buffer.cc
+++ b/modules/video_coding/jitter_buffer.cc
@@ -553,7 +553,7 @@
   if (retransmitted) {
     if (WaitForRetransmissions())
       jitter_estimate_.FrameNacked();
-  } else if (frame->Length() > 0) {
+  } else if (frame->size() > 0) {
     // Ignore retransmitted and empty frames.
     if (waiting_for_completion_.latest_packet_time >= 0) {
       UpdateJitterEstimate(waiting_for_completion_, true);
@@ -562,7 +562,7 @@
       UpdateJitterEstimate(*frame, false);
     } else {
       // Wait for this one to get complete.
-      waiting_for_completion_.frame_size = frame->Length();
+      waiting_for_completion_.frame_size = frame->size();
       waiting_for_completion_.latest_packet_time = frame->LatestPacketTimeMs();
       waiting_for_completion_.timestamp = frame->Timestamp();
     }
@@ -1264,7 +1264,7 @@
   // No retransmitted frames should be a part of the jitter
   // estimate.
   UpdateJitterEstimate(frame.LatestPacketTimeMs(), frame.Timestamp(),
-                       frame.Length(), incomplete_frame);
+                       frame.size(), incomplete_frame);
 }
 
 // Must be called under the critical section |crit_sect_|. Should never be
diff --git a/modules/video_coding/jitter_buffer_unittest.cc b/modules/video_coding/jitter_buffer_unittest.cc
index 3ed18a9..e95a312 100644
--- a/modules/video_coding/jitter_buffer_unittest.cc
+++ b/modules/video_coding/jitter_buffer_unittest.cc
@@ -283,7 +283,7 @@
       i += 4;
     }
 
-    EXPECT_EQ(size, frame_out->Length());
+    EXPECT_EQ(size, frame_out->size());
     int count = 3;
     for (; i < size; i++) {
       if (outData[i] == 0 && outData[i + 1] == 0 && outData[i + 2] == 0x80) {