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) {