Index: media/cast/framer/framer.cc |
diff --git a/media/cast/framer/framer.cc b/media/cast/framer/framer.cc |
deleted file mode 100644 |
index de4451a3b4ab702ff1a639e099c46ea722539663..0000000000000000000000000000000000000000 |
--- a/media/cast/framer/framer.cc |
+++ /dev/null |
@@ -1,132 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "media/cast/framer/framer.h" |
- |
-#include "base/logging.h" |
- |
-namespace media { |
-namespace cast { |
- |
-typedef FrameList::const_iterator ConstFrameIterator; |
- |
-Framer::Framer(base::TickClock* clock, |
- RtpPayloadFeedback* incoming_payload_feedback, |
- uint32 ssrc, |
- bool decoder_faster_than_max_frame_rate, |
- int max_unacked_frames) |
- : decoder_faster_than_max_frame_rate_(decoder_faster_than_max_frame_rate), |
- cast_msg_builder_( |
- new CastMessageBuilder(clock, |
- incoming_payload_feedback, |
- &frame_id_map_, |
- ssrc, |
- decoder_faster_than_max_frame_rate, |
- max_unacked_frames)) { |
- DCHECK(incoming_payload_feedback) << "Invalid argument"; |
-} |
- |
-Framer::~Framer() {} |
- |
-bool Framer::InsertPacket(const uint8* payload_data, |
- size_t payload_size, |
- const RtpCastHeader& rtp_header, |
- bool* duplicate) { |
- *duplicate = false; |
- PacketType packet_type = frame_id_map_.InsertPacket(rtp_header); |
- if (packet_type == kTooOldPacket) { |
- return false; |
- } |
- if (packet_type == kDuplicatePacket) { |
- VLOG(3) << "Packet already received, ignored: frame " |
- << static_cast<int>(rtp_header.frame_id) << ", packet " |
- << rtp_header.packet_id; |
- *duplicate = true; |
- return false; |
- } |
- |
- // Does this packet belong to a new frame? |
- FrameList::iterator it = frames_.find(rtp_header.frame_id); |
- if (it == frames_.end()) { |
- // New frame. |
- linked_ptr<FrameBuffer> frame_buffer(new FrameBuffer()); |
- frame_buffer->InsertPacket(payload_data, payload_size, rtp_header); |
- frames_.insert(std::make_pair(rtp_header.frame_id, frame_buffer)); |
- } else { |
- // Insert packet to existing frame buffer. |
- it->second->InsertPacket(payload_data, payload_size, rtp_header); |
- } |
- |
- return packet_type == kNewPacketCompletingFrame; |
-} |
- |
-// This does not release the frame. |
-bool Framer::GetEncodedFrame(transport::EncodedFrame* frame, |
- bool* next_frame, |
- bool* have_multiple_decodable_frames) { |
- *have_multiple_decodable_frames = frame_id_map_.HaveMultipleDecodableFrames(); |
- |
- uint32 frame_id; |
- // Find frame id. |
- if (frame_id_map_.NextContinuousFrame(&frame_id)) { |
- // We have our next frame. |
- *next_frame = true; |
- } else { |
- // Check if we can skip frames when our decoder is too slow. |
- if (!decoder_faster_than_max_frame_rate_) |
- return false; |
- |
- if (!frame_id_map_.NextFrameAllowingSkippingFrames(&frame_id)) { |
- return false; |
- } |
- *next_frame = false; |
- } |
- |
- if (*next_frame) { |
- VLOG(2) << "ACK frame " << frame_id; |
- cast_msg_builder_->CompleteFrameReceived(frame_id); |
- } |
- |
- ConstFrameIterator it = frames_.find(frame_id); |
- DCHECK(it != frames_.end()); |
- if (it == frames_.end()) |
- return false; |
- |
- return it->second->AssembleEncodedFrame(frame); |
-} |
- |
-void Framer::Reset() { |
- frame_id_map_.Clear(); |
- frames_.clear(); |
- cast_msg_builder_->Reset(); |
-} |
- |
-void Framer::ReleaseFrame(uint32 frame_id) { |
- frame_id_map_.RemoveOldFrames(frame_id); |
- frames_.erase(frame_id); |
- |
- // We have a frame - remove all frames with lower frame id. |
- bool skipped_old_frame = false; |
- FrameList::iterator it; |
- for (it = frames_.begin(); it != frames_.end();) { |
- if (IsOlderFrameId(it->first, frame_id)) { |
- frames_.erase(it++); |
- skipped_old_frame = true; |
- } else { |
- ++it; |
- } |
- } |
- if (skipped_old_frame) { |
- cast_msg_builder_->UpdateCastMessage(); |
- } |
-} |
- |
-bool Framer::TimeToSendNextCastMessage(base::TimeTicks* time_to_send) { |
- return cast_msg_builder_->TimeToSendNextCastMessage(time_to_send); |
-} |
- |
-void Framer::SendCastMessage() { cast_msg_builder_->UpdateCastMessage(); } |
- |
-} // namespace cast |
-} // namespace media |