| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/cast/receiver/frame_receiver.h" | 5 #include "media/cast/receiver/frame_receiver.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/big_endian.h" | 10 #include "base/big_endian.h" |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 ack_sent_event->type = FRAME_ACK_SENT; | 190 ack_sent_event->type = FRAME_ACK_SENT; |
| 191 ack_sent_event->media_type = event_media_type_; | 191 ack_sent_event->media_type = event_media_type_; |
| 192 ack_sent_event->rtp_timestamp = rtp_timestamp; | 192 ack_sent_event->rtp_timestamp = rtp_timestamp; |
| 193 ack_sent_event->frame_id = cast_message.ack_frame_id; | 193 ack_sent_event->frame_id = cast_message.ack_frame_id; |
| 194 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); | 194 cast_environment_->logger()->DispatchFrameEvent(std::move(ack_sent_event)); |
| 195 | 195 |
| 196 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; | 196 ReceiverRtcpEventSubscriber::RtcpEvents rtcp_events; |
| 197 event_subscriber_.GetRtcpEventsWithRedundancy(&rtcp_events); | 197 event_subscriber_.GetRtcpEventsWithRedundancy(&rtcp_events); |
| 198 transport_->SendRtcpFromRtpReceiver( | 198 transport_->SendRtcpFromRtpReceiver( |
| 199 rtcp_.local_ssrc(), rtcp_.remote_ssrc(), CreateRtcpTimeData(now), | 199 rtcp_.local_ssrc(), rtcp_.remote_ssrc(), CreateRtcpTimeData(now), |
| 200 &cast_message, target_playout_delay_, &rtcp_events, NULL); | 200 &cast_message, nullptr, target_playout_delay_, &rtcp_events, nullptr); |
| 201 } | 201 } |
| 202 | 202 |
| 203 void FrameReceiver::EmitAvailableEncodedFrames() { | 203 void FrameReceiver::EmitAvailableEncodedFrames() { |
| 204 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); | 204 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); |
| 205 | 205 |
| 206 while (!frame_request_queue_.empty()) { | 206 while (!frame_request_queue_.empty()) { |
| 207 // Attempt to peek at the next completed frame from the |framer_|. | 207 // Attempt to peek at the next completed frame from the |framer_|. |
| 208 // TODO(miu): We should only be peeking at the metadata, and not copying the | 208 // TODO(miu): We should only be peeking at the metadata, and not copying the |
| 209 // payload yet! Or, at least, peek using a StringPiece instead of a copy. | 209 // payload yet! Or, at least, peek using a StringPiece instead of a copy. |
| 210 scoped_ptr<EncodedFrame> encoded_frame( | 210 scoped_ptr<EncodedFrame> encoded_frame( |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 base::Bind(&FrameReceiver::SendNextRtcpReport, | 343 base::Bind(&FrameReceiver::SendNextRtcpReport, |
| 344 weak_factory_.GetWeakPtr()), | 344 weak_factory_.GetWeakPtr()), |
| 345 base::TimeDelta::FromMilliseconds(kRtcpReportIntervalMs)); | 345 base::TimeDelta::FromMilliseconds(kRtcpReportIntervalMs)); |
| 346 } | 346 } |
| 347 | 347 |
| 348 void FrameReceiver::SendNextRtcpReport() { | 348 void FrameReceiver::SendNextRtcpReport() { |
| 349 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); | 349 DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); |
| 350 const base::TimeTicks now = cast_environment_->Clock()->NowTicks(); | 350 const base::TimeTicks now = cast_environment_->Clock()->NowTicks(); |
| 351 RtpReceiverStatistics stats = stats_.GetStatistics(); | 351 RtpReceiverStatistics stats = stats_.GetStatistics(); |
| 352 transport_->SendRtcpFromRtpReceiver(rtcp_.local_ssrc(), rtcp_.remote_ssrc(), | 352 transport_->SendRtcpFromRtpReceiver(rtcp_.local_ssrc(), rtcp_.remote_ssrc(), |
| 353 CreateRtcpTimeData(now), NULL, | 353 CreateRtcpTimeData(now), nullptr, nullptr, |
| 354 base::TimeDelta(), NULL, &stats); | 354 base::TimeDelta(), nullptr, &stats); |
| 355 ScheduleNextRtcpReport(); | 355 ScheduleNextRtcpReport(); |
| 356 } | 356 } |
| 357 | 357 |
| 358 } // namespace cast | 358 } // namespace cast |
| 359 } // namespace media | 359 } // namespace media |
| OLD | NEW |