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}
This commit is contained in:
@ -64,22 +64,12 @@ class VCMEncodedFrame : protected EncodedImage {
|
||||
* Get pointer to frame buffer that can be mutated.
|
||||
*/
|
||||
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
|
||||
*/
|
||||
|
||||
@ -102,7 +102,7 @@ VCMFrameBufferEnum VCMFrameBuffer::InsertPacket(
|
||||
}
|
||||
|
||||
uint32_t requiredSizeBytes =
|
||||
Length() + packet.sizeBytes +
|
||||
size() + packet.sizeBytes +
|
||||
(packet.insertStartCode ? kH264StartCodeLengthBytes : 0) +
|
||||
EncodedImage::GetBufferPaddingBytes(packet.codec);
|
||||
if (requiredSizeBytes >= _size) {
|
||||
@ -139,7 +139,7 @@ VCMFrameBufferEnum VCMFrameBuffer::InsertPacket(
|
||||
return kOutOfBoundsPacket;
|
||||
}
|
||||
// update length
|
||||
_length = Length() + static_cast<uint32_t>(retVal);
|
||||
_length = size() + static_cast<uint32_t>(retVal);
|
||||
|
||||
_latestPacketTimeMs = timeInMs;
|
||||
|
||||
|
||||
@ -135,6 +135,11 @@ int64_t RtpFrameObject::RenderTime() const {
|
||||
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;
|
||||
}
|
||||
|
||||
@ -39,6 +39,7 @@ class RtpFrameObject : public EncodedFrame {
|
||||
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;
|
||||
|
||||
@ -553,7 +553,7 @@ VCMEncodedFrame* VCMJitterBuffer::ExtractAndSetDecode(uint32_t timestamp) {
|
||||
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 @@ VCMEncodedFrame* VCMJitterBuffer::ExtractAndSetDecode(uint32_t timestamp) {
|
||||
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 @@ void VCMJitterBuffer::UpdateJitterEstimate(const VCMFrameBuffer& frame,
|
||||
// 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
|
||||
|
||||
@ -283,7 +283,7 @@ class TestBasicJitterBuffer : public ::testing::TestWithParam<std::string>,
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user