Commit d9dd735b authored by mikhal@chromium.org's avatar mikhal@chromium.org

Cast: Refactor Framer to Clang format

This cl is pure style-targeted refactoring. 
No functional changes were made. 

BUG=339176

Review URL: https://codereview.chromium.org/148663003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247865 0039d316-1c4b-4281-b951-d872f2087c98
parent 53854919
...@@ -52,7 +52,8 @@ void CastMessageBuilder::CompleteFrameReceived(uint32 frame_id, ...@@ -52,7 +52,8 @@ void CastMessageBuilder::CompleteFrameReceived(uint32 frame_id,
// packet in the key-frame. // packet in the key-frame.
UpdateAckMessage(); UpdateAckMessage();
} else { } else {
if (!UpdateAckMessage()) return; if (!UpdateAckMessage())
return;
BuildPacketList(); BuildPacketList();
} }
...@@ -86,7 +87,8 @@ bool CastMessageBuilder::UpdateAckMessage() { ...@@ -86,7 +87,8 @@ bool CastMessageBuilder::UpdateAckMessage() {
uint32 frame_id = frame_id_map_->LastContinuousFrame(); uint32 frame_id = frame_id_map_->LastContinuousFrame();
// Is it a new frame? // Is it a new frame?
if (last_acked_frame_id_ == frame_id) return false; if (last_acked_frame_id_ == frame_id)
return false;
last_acked_frame_id_ = frame_id; last_acked_frame_id_ = frame_id;
acked_last_frame_ = true; acked_last_frame_ = true;
...@@ -100,16 +102,18 @@ bool CastMessageBuilder::UpdateAckMessage() { ...@@ -100,16 +102,18 @@ bool CastMessageBuilder::UpdateAckMessage() {
bool CastMessageBuilder::TimeToSendNextCastMessage( bool CastMessageBuilder::TimeToSendNextCastMessage(
base::TimeTicks* time_to_send) { base::TimeTicks* time_to_send) {
// We haven't received any packets. // We haven't received any packets.
if (last_update_time_.is_null() && frame_id_map_->Empty()) return false; if (last_update_time_.is_null() && frame_id_map_->Empty())
return false;
*time_to_send = last_update_time_ + *time_to_send = last_update_time_ + base::TimeDelta::FromMilliseconds(
base::TimeDelta::FromMilliseconds(kCastMessageUpdateIntervalMs); kCastMessageUpdateIntervalMs);
return true; return true;
} }
void CastMessageBuilder::UpdateCastMessage() { void CastMessageBuilder::UpdateCastMessage() {
RtcpCastMessage message(media_ssrc_); RtcpCastMessage message(media_ssrc_);
if (!UpdateCastMessageInternal(&message)) return; if (!UpdateCastMessageInternal(&message))
return;
// Send cast message. // Send cast message.
cast_feedback_->CastFeedback(message); cast_feedback_->CastFeedback(message);
...@@ -151,7 +155,8 @@ void CastMessageBuilder::BuildPacketList() { ...@@ -151,7 +155,8 @@ void CastMessageBuilder::BuildPacketList() {
cast_msg_.missing_frames_and_packets_.clear(); cast_msg_.missing_frames_and_packets_.clear();
// Are we missing packets? // Are we missing packets?
if (frame_id_map_->Empty()) return; if (frame_id_map_->Empty())
return;
uint32 newest_frame_id = frame_id_map_->NewestFrameId(); uint32 newest_frame_id = frame_id_map_->NewestFrameId();
uint32 next_expected_frame_id = cast_msg_.ack_frame_id_ + 1; uint32 next_expected_frame_id = cast_msg_.ack_frame_id_ + 1;
...@@ -173,8 +178,8 @@ void CastMessageBuilder::BuildPacketList() { ...@@ -173,8 +178,8 @@ void CastMessageBuilder::BuildPacketList() {
PacketIdSet missing; PacketIdSet missing;
if (frame_id_map_->FrameExists(next_expected_frame_id)) { if (frame_id_map_->FrameExists(next_expected_frame_id)) {
bool last_frame = (newest_frame_id == next_expected_frame_id); bool last_frame = (newest_frame_id == next_expected_frame_id);
frame_id_map_->GetMissingPackets(next_expected_frame_id, last_frame, frame_id_map_->GetMissingPackets(
&missing); next_expected_frame_id, last_frame, &missing);
if (!missing.empty()) { if (!missing.empty()) {
time_last_nacked_map_[next_expected_frame_id] = now; time_last_nacked_map_[next_expected_frame_id] = now;
cast_msg_.missing_frames_and_packets_.insert( cast_msg_.missing_frames_and_packets_.insert(
......
...@@ -12,21 +12,18 @@ ...@@ -12,21 +12,18 @@
namespace media { namespace media {
namespace cast { namespace cast {
namespace {
static const uint32 kSsrc = 0x1234; static const uint32 kSsrc = 0x1234;
static const uint32 kShortTimeIncrementMs = 10; static const uint32 kShortTimeIncrementMs = 10;
static const uint32 kLongTimeIncrementMs = 40; static const uint32 kLongTimeIncrementMs = 40;
static const int64 kStartMillisecond = GG_INT64_C(12345678900000); static const int64 kStartMillisecond = GG_INT64_C(12345678900000);
namespace {
typedef std::map<uint32, size_t> MissingPacketsMap; typedef std::map<uint32, size_t> MissingPacketsMap;
class NackFeedbackVerification : public RtpPayloadFeedback { class NackFeedbackVerification : public RtpPayloadFeedback {
public: public:
NackFeedbackVerification() NackFeedbackVerification()
: triggered_(false), : triggered_(false), missing_packets_(), last_frame_acked_(0) {}
missing_packets_(),
last_frame_acked_(0) {}
virtual void CastFeedback(const RtcpCastMessage& cast_feedback) OVERRIDE { virtual void CastFeedback(const RtcpCastMessage& cast_feedback) OVERRIDE {
EXPECT_EQ(kSsrc, cast_feedback.media_ssrc_); EXPECT_EQ(kSsrc, cast_feedback.media_ssrc_);
...@@ -43,10 +40,10 @@ class NackFeedbackVerification : public RtpPayloadFeedback { ...@@ -43,10 +40,10 @@ class NackFeedbackVerification : public RtpPayloadFeedback {
if ((frame_it->second.size() == 1) && if ((frame_it->second.size() == 1) &&
(*frame_it->second.begin() == kRtcpCastAllPacketsLost)) { (*frame_it->second.begin() == kRtcpCastAllPacketsLost)) {
missing_packets_.insert( missing_packets_.insert(
std::make_pair(frame_it->first, kRtcpCastAllPacketsLost)); std::make_pair(frame_it->first, kRtcpCastAllPacketsLost));
} else { } else {
missing_packets_.insert( missing_packets_.insert(
std::make_pair(frame_it->first, frame_it->second.size())); std::make_pair(frame_it->first, frame_it->second.size()));
} }
++frame_it; ++frame_it;
} }
...@@ -56,14 +53,15 @@ class NackFeedbackVerification : public RtpPayloadFeedback { ...@@ -56,14 +53,15 @@ class NackFeedbackVerification : public RtpPayloadFeedback {
size_t num_missing_packets(uint32 frame_id) { size_t num_missing_packets(uint32 frame_id) {
MissingPacketsMap::iterator it; MissingPacketsMap::iterator it;
it = missing_packets_.find(frame_id); it = missing_packets_.find(frame_id);
if (it == missing_packets_.end()) return 0; if (it == missing_packets_.end())
return 0;
return it->second; return it->second;
} }
// Holds value for one call. // Holds value for one call.
bool triggered() { bool triggered() {
bool ret_val = triggered_; bool ret_val = triggered_;
triggered_ = false; triggered_ = false;
return ret_val; return ret_val;
} }
...@@ -74,6 +72,8 @@ class NackFeedbackVerification : public RtpPayloadFeedback { ...@@ -74,6 +72,8 @@ class NackFeedbackVerification : public RtpPayloadFeedback {
bool triggered_; bool triggered_;
MissingPacketsMap missing_packets_; // Missing packets per frame. MissingPacketsMap missing_packets_; // Missing packets per frame.
uint32 last_frame_acked_; uint32 last_frame_acked_;
DISALLOW_COPY_AND_ASSIGN(NackFeedbackVerification);
}; };
} // namespace } // namespace
...@@ -94,21 +94,15 @@ class CastMessageBuilderTest : public ::testing::Test { ...@@ -94,21 +94,15 @@ class CastMessageBuilderTest : public ::testing::Test {
virtual ~CastMessageBuilderTest() {} virtual ~CastMessageBuilderTest() {}
void SetFrameId(uint32 frame_id) { void SetFrameId(uint32 frame_id) { rtp_header_.frame_id = frame_id; }
rtp_header_.frame_id = frame_id;
}
void SetPacketId(uint16 packet_id) { void SetPacketId(uint16 packet_id) { rtp_header_.packet_id = packet_id; }
rtp_header_.packet_id = packet_id;
}
void SetMaxPacketId(uint16 max_packet_id) { void SetMaxPacketId(uint16 max_packet_id) {
rtp_header_.max_packet_id = max_packet_id; rtp_header_.max_packet_id = max_packet_id;
} }
void SetKeyFrame(bool is_key) { void SetKeyFrame(bool is_key) { rtp_header_.is_key_frame = is_key; }
rtp_header_.is_key_frame = is_key;
}
void SetReferenceFrameId(uint32 reference_frame_id) { void SetReferenceFrameId(uint32 reference_frame_id) {
rtp_header_.is_reference = true; rtp_header_.is_reference = true;
...@@ -138,6 +132,8 @@ class CastMessageBuilderTest : public ::testing::Test { ...@@ -138,6 +132,8 @@ class CastMessageBuilderTest : public ::testing::Test {
RtpCastHeader rtp_header_; RtpCastHeader rtp_header_;
FrameIdMap frame_id_map_; FrameIdMap frame_id_map_;
base::SimpleTestTickClock testing_clock_; base::SimpleTestTickClock testing_clock_;
DISALLOW_COPY_AND_ASSIGN(CastMessageBuilderTest);
}; };
TEST_F(CastMessageBuilderTest, StartWithAKeyFrame) { TEST_F(CastMessageBuilderTest, StartWithAKeyFrame) {
...@@ -481,18 +477,19 @@ TEST_F(CastMessageBuilderTest, SlowDownAck) { ...@@ -481,18 +477,19 @@ TEST_F(CastMessageBuilderTest, SlowDownAck) {
SetFrameId(frame_id); SetFrameId(frame_id);
InsertPacket(); InsertPacket();
testing_clock_.Advance( testing_clock_.Advance(
base::TimeDelta::FromMilliseconds(kShortTimeIncrementMs)); base::TimeDelta::FromMilliseconds(kShortTimeIncrementMs));
} }
// We should now have entered the slowdown ACK state. // We should now have entered the slowdown ACK state.
uint32 expected_frame_id = 1; uint32 expected_frame_id = 1;
for (; frame_id < 10; ++frame_id) { for (; frame_id < 10; ++frame_id) {
if (frame_id % 2) ++expected_frame_id; if (frame_id % 2)
++expected_frame_id;
EXPECT_TRUE(feedback_.triggered()); EXPECT_TRUE(feedback_.triggered());
EXPECT_EQ(expected_frame_id, feedback_.last_frame_acked()); EXPECT_EQ(expected_frame_id, feedback_.last_frame_acked());
SetFrameId(frame_id); SetFrameId(frame_id);
InsertPacket(); InsertPacket();
testing_clock_.Advance( testing_clock_.Advance(
base::TimeDelta::FromMilliseconds(kShortTimeIncrementMs)); base::TimeDelta::FromMilliseconds(kShortTimeIncrementMs));
} }
EXPECT_TRUE(feedback_.triggered()); EXPECT_TRUE(feedback_.triggered());
EXPECT_EQ(expected_frame_id, feedback_.last_frame_acked()); EXPECT_EQ(expected_frame_id, feedback_.last_frame_acked());
......
...@@ -37,7 +37,8 @@ void FrameBuffer::InsertPacket(const uint8* payload_data, ...@@ -37,7 +37,8 @@ void FrameBuffer::InsertPacket(const uint8* payload_data,
rtp_timestamp_ = rtp_header.webrtc.header.timestamp; rtp_timestamp_ = rtp_header.webrtc.header.timestamp;
} }
// Is this the correct frame? // Is this the correct frame?
if (rtp_header.frame_id != frame_id_) return; if (rtp_header.frame_id != frame_id_)
return;
// Insert every packet only once. // Insert every packet only once.
if (packets_.find(rtp_header.packet_id) != packets_.end()) { if (packets_.find(rtp_header.packet_id) != packets_.end()) {
...@@ -50,8 +51,8 @@ void FrameBuffer::InsertPacket(const uint8* payload_data, ...@@ -50,8 +51,8 @@ void FrameBuffer::InsertPacket(const uint8* payload_data,
// Insert the packet. // Insert the packet.
retval.first->second.resize(payload_size); retval.first->second.resize(payload_size);
std::copy(payload_data, payload_data + payload_size, std::copy(
retval.first->second.begin()); payload_data, payload_data + payload_size, retval.first->second.begin());
++num_packets_received_; ++num_packets_received_;
total_data_size_ += payload_size; total_data_size_ += payload_size;
...@@ -64,7 +65,8 @@ bool FrameBuffer::Complete() const { ...@@ -64,7 +65,8 @@ bool FrameBuffer::Complete() const {
bool FrameBuffer::GetEncodedAudioFrame( bool FrameBuffer::GetEncodedAudioFrame(
transport::EncodedAudioFrame* audio_frame, transport::EncodedAudioFrame* audio_frame,
uint32* rtp_timestamp) const { uint32* rtp_timestamp) const {
if (!Complete()) return false; if (!Complete())
return false;
*rtp_timestamp = rtp_timestamp_; *rtp_timestamp = rtp_timestamp_;
...@@ -76,8 +78,8 @@ bool FrameBuffer::GetEncodedAudioFrame( ...@@ -76,8 +78,8 @@ bool FrameBuffer::GetEncodedAudioFrame(
audio_frame->data.reserve(total_data_size_); audio_frame->data.reserve(total_data_size_);
PacketMap::const_iterator it; PacketMap::const_iterator it;
for (it = packets_.begin(); it != packets_.end(); ++it) { for (it = packets_.begin(); it != packets_.end(); ++it) {
audio_frame->data.insert(audio_frame->data.end(), audio_frame->data.insert(
it->second.begin(), it->second.end()); audio_frame->data.end(), it->second.begin(), it->second.end());
} }
return true; return true;
} }
...@@ -85,7 +87,8 @@ bool FrameBuffer::GetEncodedAudioFrame( ...@@ -85,7 +87,8 @@ bool FrameBuffer::GetEncodedAudioFrame(
bool FrameBuffer::GetEncodedVideoFrame( bool FrameBuffer::GetEncodedVideoFrame(
transport::EncodedVideoFrame* video_frame, transport::EncodedVideoFrame* video_frame,
uint32* rtp_timestamp) const { uint32* rtp_timestamp) const {
if (!Complete()) return false; if (!Complete())
return false;
*rtp_timestamp = rtp_timestamp_; *rtp_timestamp = rtp_timestamp_;
...@@ -99,8 +102,8 @@ bool FrameBuffer::GetEncodedVideoFrame( ...@@ -99,8 +102,8 @@ bool FrameBuffer::GetEncodedVideoFrame(
video_frame->data.reserve(total_data_size_); video_frame->data.reserve(total_data_size_);
PacketMap::const_iterator it; PacketMap::const_iterator it;
for (it = packets_.begin(); it != packets_.end(); ++it) { for (it = packets_.begin(); it != packets_.end(); ++it) {
video_frame->data.insert(video_frame->data.end(), video_frame->data.insert(
it->second.begin(), it->second.end()); video_frame->data.end(), it->second.begin(), it->second.end());
} }
return true; return true;
} }
......
...@@ -10,13 +10,8 @@ namespace cast { ...@@ -10,13 +10,8 @@ namespace cast {
class FrameBufferTest : public ::testing::Test { class FrameBufferTest : public ::testing::Test {
protected: protected:
FrameBufferTest() {} FrameBufferTest() {
virtual ~FrameBufferTest() {}
virtual void SetUp() {
payload_.assign(kMaxIpPacketSize, 0); payload_.assign(kMaxIpPacketSize, 0);
// Build a default one packet frame - populate webrtc header. // Build a default one packet frame - populate webrtc header.
rtp_header_.is_key_frame = false; rtp_header_.is_key_frame = false;
rtp_header_.frame_id = 0; rtp_header_.frame_id = 0;
...@@ -26,9 +21,13 @@ class FrameBufferTest : public ::testing::Test { ...@@ -26,9 +21,13 @@ class FrameBufferTest : public ::testing::Test {
rtp_header_.reference_frame_id = 0; rtp_header_.reference_frame_id = 0;
} }
virtual ~FrameBufferTest() {}
FrameBuffer buffer_; FrameBuffer buffer_;
std::vector<uint8> payload_; std::vector<uint8> payload_;
RtpCastHeader rtp_header_; RtpCastHeader rtp_header_;
DISALLOW_COPY_AND_ASSIGN(FrameBufferTest);
}; };
TEST_F(FrameBufferTest, EmptyBuffer) { TEST_F(FrameBufferTest, EmptyBuffer) {
......
...@@ -38,9 +38,7 @@ PacketType FrameInfo::InsertPacket(uint16 packet_id) { ...@@ -38,9 +38,7 @@ PacketType FrameInfo::InsertPacket(uint16 packet_id) {
return missing_packets_.empty() ? kNewPacketCompletingFrame : kNewPacket; return missing_packets_.empty() ? kNewPacketCompletingFrame : kNewPacket;
} }
bool FrameInfo::Complete() const { bool FrameInfo::Complete() const { return missing_packets_.empty(); }
return missing_packets_.empty();
}
void FrameInfo::GetMissingPackets(bool newest_frame, void FrameInfo::GetMissingPackets(bool newest_frame,
PacketIdSet* missing_packets) const { PacketIdSet* missing_packets) const {
...@@ -54,12 +52,10 @@ void FrameInfo::GetMissingPackets(bool newest_frame, ...@@ -54,12 +52,10 @@ void FrameInfo::GetMissingPackets(bool newest_frame,
} }
} }
FrameIdMap::FrameIdMap() FrameIdMap::FrameIdMap()
: waiting_for_key_(true), : waiting_for_key_(true),
last_released_frame_(kStartFrameId), last_released_frame_(kStartFrameId),
newest_frame_id_(kStartFrameId) { newest_frame_id_(kStartFrameId) {}
}
FrameIdMap::~FrameIdMap() {} FrameIdMap::~FrameIdMap() {}
...@@ -131,9 +127,7 @@ void FrameIdMap::Clear() { ...@@ -131,9 +127,7 @@ void FrameIdMap::Clear() {
newest_frame_id_ = kStartFrameId; newest_frame_id_ = kStartFrameId;
} }
uint32 FrameIdMap::NewestFrameId() const { uint32 FrameIdMap::NewestFrameId() const { return newest_frame_id_; }
return newest_frame_id_;
}
bool FrameIdMap::NextContinuousFrame(uint32* frame_id) const { bool FrameIdMap::NextContinuousFrame(uint32* frame_id) const {
FrameMap::const_iterator it; FrameMap::const_iterator it;
...@@ -156,8 +150,10 @@ uint32 FrameIdMap::LastContinuousFrame() const { ...@@ -156,8 +150,10 @@ uint32 FrameIdMap::LastContinuousFrame() const {
do { do {
next_expected_frame++; next_expected_frame++;
it = frame_map_.find(next_expected_frame); it = frame_map_.find(next_expected_frame);
if (it == frame_map_.end()) break; if (it == frame_map_.end())
if (!it->second->Complete()) break; break;
if (!it->second->Complete())
break;
// We found the next continuous frame. // We found the next continuous frame.
last_continuous_frame_id = it->first; last_continuous_frame_id = it->first;
...@@ -167,7 +163,8 @@ uint32 FrameIdMap::LastContinuousFrame() const { ...@@ -167,7 +163,8 @@ uint32 FrameIdMap::LastContinuousFrame() const {
bool FrameIdMap::NextAudioFrameAllowingMissingFrames(uint32* frame_id) const { bool FrameIdMap::NextAudioFrameAllowingMissingFrames(uint32* frame_id) const {
// First check if we have continuous frames. // First check if we have continuous frames.
if (NextContinuousFrame(frame_id)) return true; if (NextContinuousFrame(frame_id))
return true;
// Find the oldest frame. // Find the oldest frame.
FrameMap::const_iterator it_best_match = frame_map_.end(); FrameMap::const_iterator it_best_match = frame_map_.end();
...@@ -180,7 +177,8 @@ bool FrameIdMap::NextAudioFrameAllowingMissingFrames(uint32* frame_id) const { ...@@ -180,7 +177,8 @@ bool FrameIdMap::NextAudioFrameAllowingMissingFrames(uint32* frame_id) const {
break; break;
} }
} }
if (it_best_match == frame_map_.end()) return false; // No complete frame. if (it_best_match == frame_map_.end())
return false; // No complete frame.
++it; ++it;
for (; it != frame_map_.end(); ++it) { for (; it != frame_map_.end(); ++it) {
...@@ -202,15 +200,14 @@ bool FrameIdMap::NextVideoFrameAllowingSkippingFrames(uint32* frame_id) const { ...@@ -202,15 +200,14 @@ bool FrameIdMap::NextVideoFrameAllowingSkippingFrames(uint32* frame_id) const {
it_best_match = it; it_best_match = it;
} }
} }
if (it_best_match == frame_map_.end()) return false; if (it_best_match == frame_map_.end())
return false;
*frame_id = it_best_match->first; *frame_id = it_best_match->first;
return true; return true;
} }
bool FrameIdMap::Empty() const { bool FrameIdMap::Empty() const { return frame_map_.empty(); }
return frame_map_.empty();
}
int FrameIdMap::NumberOfCompleteFrames() const { int FrameIdMap::NumberOfCompleteFrames() const {
int count = 0; int count = 0;
...@@ -231,20 +228,24 @@ void FrameIdMap::GetMissingPackets(uint32 frame_id, ...@@ -231,20 +228,24 @@ void FrameIdMap::GetMissingPackets(uint32 frame_id,
bool last_frame, bool last_frame,
PacketIdSet* missing_packets) const { PacketIdSet* missing_packets) const {
FrameMap::const_iterator it = frame_map_.find(frame_id); FrameMap::const_iterator it = frame_map_.find(frame_id);
if (it == frame_map_.end()) return; if (it == frame_map_.end())
return;
it->second->GetMissingPackets(last_frame, missing_packets); it->second->GetMissingPackets(last_frame, missing_packets);
} }
bool FrameIdMap::ContinuousFrame(FrameInfo* frame) const { bool FrameIdMap::ContinuousFrame(FrameInfo* frame) const {
DCHECK(frame); DCHECK(frame);
if (waiting_for_key_ && !frame->is_key_frame()) return false; if (waiting_for_key_ && !frame->is_key_frame())
return false;
return static_cast<uint32>(last_released_frame_ + 1) == frame->frame_id(); return static_cast<uint32>(last_released_frame_ + 1) == frame->frame_id();
} }
bool FrameIdMap::DecodableVideoFrame(FrameInfo* frame) const { bool FrameIdMap::DecodableVideoFrame(FrameInfo* frame) const {
if (frame->is_key_frame()) return true; if (frame->is_key_frame())
if (waiting_for_key_ && !frame->is_key_frame()) return false; return true;
if (waiting_for_key_ && !frame->is_key_frame())
return false;
// Current frame is not necessarily referencing the last frame. // Current frame is not necessarily referencing the last frame.
// Do we have the reference frame? // Do we have the reference frame?
......
...@@ -27,8 +27,7 @@ class FrameInfo { ...@@ -27,8 +27,7 @@ class FrameInfo {
PacketType InsertPacket(uint16 packet_id); PacketType InsertPacket(uint16 packet_id);
bool Complete() const; bool Complete() const;
void GetMissingPackets(bool newest_frame, void GetMissingPackets(bool newest_frame, PacketIdSet* missing_packets) const;
PacketIdSet* missing_packets) const;
bool is_key_frame() const { return is_key_frame_; } bool is_key_frame() const { return is_key_frame_; }
uint32 frame_id() const { return frame_id_; } uint32 frame_id() const { return frame_id_; }
......
...@@ -17,9 +17,13 @@ Framer::Framer(base::TickClock* clock, ...@@ -17,9 +17,13 @@ Framer::Framer(base::TickClock* clock,
bool decoder_faster_than_max_frame_rate, bool decoder_faster_than_max_frame_rate,
int max_unacked_frames) int max_unacked_frames)
: decoder_faster_than_max_frame_rate_(decoder_faster_than_max_frame_rate), : decoder_faster_than_max_frame_rate_(decoder_faster_than_max_frame_rate),
cast_msg_builder_(new CastMessageBuilder(clock, incoming_payload_feedback, cast_msg_builder_(
&frame_id_map_, ssrc, decoder_faster_than_max_frame_rate, new CastMessageBuilder(clock,
max_unacked_frames)) { incoming_payload_feedback,
&frame_id_map_,
ssrc,
decoder_faster_than_max_frame_rate,
max_unacked_frames)) {
DCHECK(incoming_payload_feedback) << "Invalid argument"; DCHECK(incoming_payload_feedback) << "Invalid argument";
} }
...@@ -82,7 +86,8 @@ bool Framer::GetEncodedAudioFrame(transport::EncodedAudioFrame* audio_frame, ...@@ -82,7 +86,8 @@ bool Framer::GetEncodedAudioFrame(transport::EncodedAudioFrame* audio_frame,
ConstFrameIterator it = frames_.find(frame_id); ConstFrameIterator it = frames_.find(frame_id);
DCHECK(it != frames_.end()); DCHECK(it != frames_.end());
if (it == frames_.end()) return false; if (it == frames_.end())
return false;
return it->second->GetEncodedAudioFrame(audio_frame, rtp_timestamp); return it->second->GetEncodedAudioFrame(audio_frame, rtp_timestamp);
} }
...@@ -98,7 +103,8 @@ bool Framer::GetEncodedVideoFrame(transport::EncodedVideoFrame* video_frame, ...@@ -98,7 +103,8 @@ bool Framer::GetEncodedVideoFrame(transport::EncodedVideoFrame* video_frame,
*next_frame = true; *next_frame = true;
} else { } else {
// Check if we can skip frames when our decoder is too slow. // Check if we can skip frames when our decoder is too slow.
if (!decoder_faster_than_max_frame_rate_) return false; if (!decoder_faster_than_max_frame_rate_)
return false;
if (!frame_id_map_.NextVideoFrameAllowingSkippingFrames(&frame_id)) { if (!frame_id_map_.NextVideoFrameAllowingSkippingFrames(&frame_id)) {
return false; return false;
...@@ -108,7 +114,8 @@ bool Framer::GetEncodedVideoFrame(transport::EncodedVideoFrame* video_frame, ...@@ -108,7 +114,8 @@ bool Framer::GetEncodedVideoFrame(transport::EncodedVideoFrame* video_frame,
ConstFrameIterator it = frames_.find(frame_id); ConstFrameIterator it = frames_.find(frame_id);
DCHECK(it != frames_.end()); DCHECK(it != frames_.end());
if (it == frames_.end()) return false; if (it == frames_.end())
return false;
return it->second->GetEncodedVideoFrame(video_frame, rtp_timestamp); return it->second->GetEncodedVideoFrame(video_frame, rtp_timestamp);
} }
...@@ -126,7 +133,7 @@ void Framer::ReleaseFrame(uint32 frame_id) { ...@@ -126,7 +133,7 @@ void Framer::ReleaseFrame(uint32 frame_id) {
// We have a frame - remove all frames with lower frame id. // We have a frame - remove all frames with lower frame id.
bool skipped_old_frame = false; bool skipped_old_frame = false;
FrameList::iterator it; FrameList::iterator it;
for (it = frames_.begin(); it != frames_.end(); ) { for (it = frames_.begin(); it != frames_.end();) {
if (IsOlderFrameId(it->first, frame_id)) { if (IsOlderFrameId(it->first, frame_id)) {
frames_.erase(it++); frames_.erase(it++);
skipped_old_frame = true; skipped_old_frame = true;
...@@ -143,9 +150,7 @@ bool Framer::TimeToSendNextCastMessage(base::TimeTicks* time_to_send) { ...@@ -143,9 +150,7 @@ bool Framer::TimeToSendNextCastMessage(base::TimeTicks* time_to_send) {
return cast_msg_builder_->TimeToSendNextCastMessage(time_to_send); return cast_msg_builder_->TimeToSendNextCastMessage(time_to_send);
} }
void Framer::SendCastMessage() { void Framer::SendCastMessage() { cast_msg_builder_->UpdateCastMessage(); }
cast_msg_builder_->UpdateCastMessage();
}
} // namespace cast } // namespace cast
} // namespace media } // namespace media
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment