diff options
author | mikhal@chromium.org <mikhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-30 09:04:10 +0000 |
---|---|---|
committer | mikhal@chromium.org <mikhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-30 09:04:10 +0000 |
commit | c09161c6855883de803f1ba39fc5b84c396c95e8 (patch) | |
tree | 5d0330897d53570411bc9ffdfd61f02f330bd489 /media/cast/audio_receiver/audio_receiver.cc | |
parent | 82439ec2b0895cedb9a509d115e9e15bb6f5fb1d (diff) | |
download | chromium_src-c09161c6855883de803f1ba39fc5b84c396c95e8.zip chromium_src-c09161c6855883de803f1ba39fc5b84c396c95e8.tar.gz chromium_src-c09161c6855883de803f1ba39fc5b84c396c95e8.tar.bz2 |
Cast: Refactor Audio Receiver to Clang format
This cl is pure style-targeted refactoring.
No functional changes were made.
BUG=339176
Review URL: https://codereview.chromium.org/149703002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247908 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/cast/audio_receiver/audio_receiver.cc')
-rw-r--r-- | media/cast/audio_receiver/audio_receiver.cc | 224 |
1 files changed, 131 insertions, 93 deletions
diff --git a/media/cast/audio_receiver/audio_receiver.cc b/media/cast/audio_receiver/audio_receiver.cc index 259626d..ee955db 100644 --- a/media/cast/audio_receiver/audio_receiver.cc +++ b/media/cast/audio_receiver/audio_receiver.cc @@ -22,9 +22,7 @@ namespace media { namespace cast { DecodedAudioCallbackData::DecodedAudioCallbackData() - : number_of_10ms_blocks(0), - desired_frequency(0), - callback() {} + : number_of_10ms_blocks(0), desired_frequency(0), callback() {} DecodedAudioCallbackData::~DecodedAudioCallbackData() {} @@ -35,12 +33,11 @@ class LocalRtpAudioData : public RtpData { explicit LocalRtpAudioData(AudioReceiver* audio_receiver) : audio_receiver_(audio_receiver) {} - virtual void OnReceivedPayloadData( - const uint8* payload_data, - size_t payload_size, - const RtpCastHeader* rtp_header) OVERRIDE { - audio_receiver_->IncomingParsedRtpPacket(payload_data, payload_size, - *rtp_header); + virtual void OnReceivedPayloadData(const uint8* payload_data, + size_t payload_size, + const RtpCastHeader* rtp_header) OVERRIDE { + audio_receiver_->IncomingParsedRtpPacket( + payload_data, payload_size, *rtp_header); } private: @@ -52,8 +49,7 @@ class LocalRtpAudioData : public RtpData { class LocalRtpAudioFeedback : public RtpPayloadFeedback { public: explicit LocalRtpAudioFeedback(AudioReceiver* audio_receiver) - : audio_receiver_(audio_receiver) { - } + : audio_receiver_(audio_receiver) {} virtual void CastFeedback(const RtcpCastMessage& cast_message) OVERRIDE { audio_receiver_->CastFeedback(cast_message); @@ -66,17 +62,14 @@ class LocalRtpAudioFeedback : public RtpPayloadFeedback { class LocalRtpReceiverStatistics : public RtpReceiverStatistics { public: explicit LocalRtpReceiverStatistics(RtpReceiver* rtp_receiver) - : rtp_receiver_(rtp_receiver) { - } + : rtp_receiver_(rtp_receiver) {} virtual void GetStatistics(uint8* fraction_lost, uint32* cumulative_lost, // 24 bits valid. uint32* extended_high_sequence_number, uint32* jitter) OVERRIDE { - rtp_receiver_->GetStatistics(fraction_lost, - cumulative_lost, - extended_high_sequence_number, - jitter); + rtp_receiver_->GetStatistics( + fraction_lost, cumulative_lost, extended_high_sequence_number, jitter); } private: @@ -104,9 +97,8 @@ AudioReceiver::AudioReceiver(scoped_refptr<CastEnvironment> cast_environment, true, 0)); } else { - audio_decoder_.reset(new AudioDecoder(cast_environment, - audio_config, - incoming_payload_feedback_.get())); + audio_decoder_.reset(new AudioDecoder( + cast_environment, audio_config, incoming_payload_feedback_.get())); } if (audio_config.aes_iv_mask.size() == kAesKeySize && audio_config.aes_key.size() == kAesKeySize) { @@ -114,9 +106,8 @@ AudioReceiver::AudioReceiver(scoped_refptr<CastEnvironment> cast_environment, decryption_key_.reset(crypto::SymmetricKey::Import( crypto::SymmetricKey::AES, audio_config.aes_key)); decryptor_.reset(new crypto::Encryptor()); - decryptor_->Init(decryption_key_.get(), - crypto::Encryptor::CTR, - std::string()); + decryptor_->Init( + decryption_key_.get(), crypto::Encryptor::CTR, std::string()); } else if (audio_config.aes_iv_mask.size() != 0 || audio_config.aes_key.size() != 0) { DCHECK(false) << "Invalid crypto configuration"; @@ -157,9 +148,14 @@ void AudioReceiver::IncomingParsedRtpPacket(const uint8* payload_data, DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); base::TimeTicks now = cast_environment_->Clock()->NowTicks(); - cast_environment_->Logging()->InsertPacketEvent(now, kAudioPacketReceived, - rtp_header.webrtc.header.timestamp, rtp_header.frame_id, - rtp_header.packet_id, rtp_header.max_packet_id, payload_size); + cast_environment_->Logging()->InsertPacketEvent( + now, + kAudioPacketReceived, + rtp_header.webrtc.header.timestamp, + rtp_header.frame_id, + rtp_header.packet_id, + rtp_header.max_packet_id, + payload_size); // TODO(pwestin): update this as video to refresh over time. DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); @@ -179,24 +175,29 @@ void AudioReceiver::IncomingParsedRtpPacket(const uint8* payload_data, NOTREACHED() << "Failed to set counter"; return; } - if (!decryptor_->Decrypt(base::StringPiece(reinterpret_cast<const char*>( - payload_data), payload_size), &plaintext)) { + if (!decryptor_->Decrypt( + base::StringPiece(reinterpret_cast<const char*>(payload_data), + payload_size), + &plaintext)) { VLOG(1) << "Decryption error"; return; } } audio_decoder_->IncomingParsedRtpPacket( - reinterpret_cast<const uint8*>(plaintext.data()), plaintext.size(), + reinterpret_cast<const uint8*>(plaintext.data()), + plaintext.size(), rtp_header); if (!queued_decoded_callbacks_.empty()) { DecodedAudioCallbackData decoded_data = queued_decoded_callbacks_.front(); queued_decoded_callbacks_.pop_front(); - cast_environment_->PostTask(CastEnvironment::AUDIO_DECODER, FROM_HERE, - base::Bind(&AudioReceiver::DecodeAudioFrameThread, - base::Unretained(this), - decoded_data.number_of_10ms_blocks, - decoded_data.desired_frequency, - decoded_data.callback)); + cast_environment_->PostTask( + CastEnvironment::AUDIO_DECODER, + FROM_HERE, + base::Bind(&AudioReceiver::DecodeAudioFrameThread, + base::Unretained(this), + decoded_data.number_of_10ms_blocks, + decoded_data.desired_frequency, + decoded_data.callback)); } return; } @@ -205,36 +206,47 @@ void AudioReceiver::IncomingParsedRtpPacket(const uint8* payload_data, DCHECK(!audio_decoder_) << "Invalid internal state"; bool duplicate = false; - bool complete = audio_buffer_->InsertPacket(payload_data, payload_size, - rtp_header, &duplicate); + bool complete = audio_buffer_->InsertPacket( + payload_data, payload_size, rtp_header, &duplicate); if (duplicate) { - cast_environment_->Logging()->InsertPacketEvent(now, + cast_environment_->Logging()->InsertPacketEvent( + now, kDuplicatePacketReceived, - rtp_header.webrtc.header.timestamp, rtp_header.frame_id, - rtp_header.packet_id, rtp_header.max_packet_id, payload_size); + rtp_header.webrtc.header.timestamp, + rtp_header.frame_id, + rtp_header.packet_id, + rtp_header.max_packet_id, + payload_size); // Duplicate packets are ignored. return; } - if (!complete) return; // Audio frame not complete; wait for more packets. - if (queued_encoded_callbacks_.empty()) return; + if (!complete) + return; // Audio frame not complete; wait for more packets. + if (queued_encoded_callbacks_.empty()) + return; AudioFrameEncodedCallback callback = queued_encoded_callbacks_.front(); queued_encoded_callbacks_.pop_front(); - cast_environment_->PostTask(CastEnvironment::MAIN, FROM_HERE, - base::Bind(&AudioReceiver::GetEncodedAudioFrame, - weak_factory_.GetWeakPtr(), callback)); + cast_environment_->PostTask(CastEnvironment::MAIN, + FROM_HERE, + base::Bind(&AudioReceiver::GetEncodedAudioFrame, + weak_factory_.GetWeakPtr(), + callback)); } -void AudioReceiver::GetRawAudioFrame(int number_of_10ms_blocks, - int desired_frequency, const AudioFrameDecodedCallback& callback) { +void AudioReceiver::GetRawAudioFrame( + int number_of_10ms_blocks, + int desired_frequency, + const AudioFrameDecodedCallback& callback) { DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); DCHECK(audio_decoder_) << "Invalid function call in this configuration"; // TODO(pwestin): we can skip this function by posting direct to the decoder. - cast_environment_->PostTask(CastEnvironment::AUDIO_DECODER, FROM_HERE, - base::Bind(&AudioReceiver::DecodeAudioFrameThread, - base::Unretained(this), - number_of_10ms_blocks, - desired_frequency, - callback)); + cast_environment_->PostTask(CastEnvironment::AUDIO_DECODER, + FROM_HERE, + base::Bind(&AudioReceiver::DecodeAudioFrameThread, + base::Unretained(this), + number_of_10ms_blocks, + desired_frequency, + callback)); } void AudioReceiver::DecodeAudioFrameThread( @@ -259,27 +271,37 @@ void AudioReceiver::DecodeAudioFrameThread( } base::TimeTicks now = cast_environment_->Clock()->NowTicks(); - cast_environment_->PostTask(CastEnvironment::MAIN, FROM_HERE, + cast_environment_->PostTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(&AudioReceiver::ReturnDecodedFrameWithPlayoutDelay, - base::Unretained(this), base::Passed(&audio_frame), rtp_timestamp, - callback)); + base::Unretained(this), + base::Passed(&audio_frame), + rtp_timestamp, + callback)); } void AudioReceiver::ReturnDecodedFrameWithPlayoutDelay( - scoped_ptr<PcmAudioFrame> audio_frame, uint32 rtp_timestamp, + scoped_ptr<PcmAudioFrame> audio_frame, + uint32 rtp_timestamp, const AudioFrameDecodedCallback callback) { DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); base::TimeTicks now = cast_environment_->Clock()->NowTicks(); - cast_environment_->Logging()->InsertFrameEvent(now, kAudioFrameDecoded, - rtp_timestamp, kFrameIdUnknown); + cast_environment_->Logging()->InsertFrameEvent( + now, kAudioFrameDecoded, rtp_timestamp, kFrameIdUnknown); base::TimeTicks playout_time = GetPlayoutTime(now, rtp_timestamp); cast_environment_->Logging()->InsertFrameEventWithDelay(now, - kAudioPlayoutDelay, rtp_timestamp, kFrameIdUnknown, playout_time - now); + kAudioPlayoutDelay, + rtp_timestamp, + kFrameIdUnknown, + playout_time - now); // Frame is ready - Send back to the caller. - cast_environment_->PostTask(CastEnvironment::MAIN, FROM_HERE, + cast_environment_->PostTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(callback, base::Passed(&audio_frame), playout_time)); } @@ -295,8 +317,8 @@ void AudioReceiver::PlayoutTimeout() { scoped_ptr<transport::EncodedAudioFrame> encoded_frame( new transport::EncodedAudioFrame()); - if (!audio_buffer_->GetEncodedAudioFrame(encoded_frame.get(), - &rtp_timestamp, &next_frame)) { + if (!audio_buffer_->GetEncodedAudioFrame( + encoded_frame.get(), &rtp_timestamp, &next_frame)) { // We have no audio frames. Wait for new packet(s). // Since the application can post multiple AudioFrameEncodedCallback and // we only check the next frame to play out we might have multiple timeout @@ -310,8 +332,10 @@ void AudioReceiver::PlayoutTimeout() { return; } - if (PostEncodedAudioFrame(queued_encoded_callbacks_.front(), rtp_timestamp, - next_frame, &encoded_frame)) { + if (PostEncodedAudioFrame(queued_encoded_callbacks_.front(), + rtp_timestamp, + next_frame, + &encoded_frame)) { // Call succeed remove callback from list. queued_encoded_callbacks_.pop_front(); } @@ -327,8 +351,8 @@ void AudioReceiver::GetEncodedAudioFrame( scoped_ptr<transport::EncodedAudioFrame> encoded_frame( new transport::EncodedAudioFrame()); - if (!audio_buffer_->GetEncodedAudioFrame(encoded_frame.get(), - &rtp_timestamp, &next_frame)) { + if (!audio_buffer_->GetEncodedAudioFrame( + encoded_frame.get(), &rtp_timestamp, &next_frame)) { // We have no audio frames. Wait for new packet(s). VLOG(1) << "Wait for more audio packets in frame"; queued_encoded_callbacks_.push_back(callback); @@ -339,8 +363,8 @@ void AudioReceiver::GetEncodedAudioFrame( queued_encoded_callbacks_.push_back(callback); return; } - if (!PostEncodedAudioFrame(callback, rtp_timestamp, next_frame, - &encoded_frame)) { + if (!PostEncodedAudioFrame( + callback, rtp_timestamp, next_frame, &encoded_frame)) { // We have an audio frame; however we are missing packets and we have time // to wait for new packet(s). queued_encoded_callbacks_.push_back(callback); @@ -361,9 +385,11 @@ bool AudioReceiver::PostEncodedAudioFrame( base::TimeDelta min_wait_delta = base::TimeDelta::FromMilliseconds(kMaxAudioFrameWaitMs); - if (!next_frame && (time_until_playout > min_wait_delta)) { + if (!next_frame && (time_until_playout > min_wait_delta)) { base::TimeDelta time_until_release = time_until_playout - min_wait_delta; - cast_environment_->PostDelayedTask(CastEnvironment::MAIN, FROM_HERE, + cast_environment_->PostDelayedTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(&AudioReceiver::PlayoutTimeout, weak_factory_.GetWeakPtr()), time_until_release); VLOG(1) << "Wait until time to playout:" @@ -373,7 +399,9 @@ bool AudioReceiver::PostEncodedAudioFrame( (*encoded_frame)->codec = codec_; audio_buffer_->ReleaseFrame((*encoded_frame)->frame_id); - cast_environment_->PostTask(CastEnvironment::MAIN, FROM_HERE, + cast_environment_->PostTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(callback, base::Passed(encoded_frame), playout_time)); return true; } @@ -415,8 +443,8 @@ void AudioReceiver::CastFeedback(const RtcpCastMessage& cast_message) { } base::TimeTicks now = cast_environment_->Clock()->NowTicks(); - cast_environment_->Logging()->InsertGenericEvent(now, kAudioAckSent, - cast_message.ack_frame_id_); + cast_environment_->Logging()->InsertGenericEvent( + now, kAudioAckSent, cast_message.ack_frame_id_); rtcp_->SendRtcpFromRtpReceiver(&cast_message, &receiver_log); } @@ -443,19 +471,23 @@ base::TimeTicks AudioReceiver::GetPlayoutTime(base::TimeTicks now, base::TimeDelta::FromMilliseconds(rtp_timestamp_diff / frequency_khz); base::TimeDelta time_diff_delta = now - time_first_incoming_packet_; - playout_time = now + std::max(rtp_time_diff_delta - time_diff_delta, - base::TimeDelta()); + playout_time = now + std::max(rtp_time_diff_delta - time_diff_delta, + base::TimeDelta()); } } if (playout_time.is_null()) { // This can fail if we have not received any RTCP packets in a long time. - playout_time = rtcp_->RtpTimestampInSenderTime(frequency_, rtp_timestamp, - &rtp_timestamp_in_ticks) ? - rtp_timestamp_in_ticks + time_offset_ + target_delay_delta_ : now; + if (rtcp_->RtpTimestampInSenderTime( + frequency_, rtp_timestamp, &rtp_timestamp_in_ticks)) { + playout_time = + rtp_timestamp_in_ticks + time_offset_ + target_delay_delta_; + } else { + playout_time = now; + } } // Don't allow the playout time to go backwards. if (last_playout_time_ > playout_time) - playout_time = last_playout_time_; + playout_time = last_playout_time_; last_playout_time_ = playout_time; return playout_time; } @@ -464,8 +496,8 @@ bool AudioReceiver::DecryptAudioFrame( scoped_ptr<transport::EncodedAudioFrame>* audio_frame) { DCHECK(decryptor_) << "Invalid state"; - if (!decryptor_->SetCounter(GetAesNonce((*audio_frame)->frame_id, - iv_mask_))) { + if (!decryptor_->SetCounter( + GetAesNonce((*audio_frame)->frame_id, iv_mask_))) { NOTREACHED() << "Failed to set counter"; return false; } @@ -483,14 +515,17 @@ bool AudioReceiver::DecryptAudioFrame( void AudioReceiver::ScheduleNextRtcpReport() { DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); base::TimeDelta time_to_send = rtcp_->TimeToSendNextRtcpReport() - - cast_environment_->Clock()->NowTicks(); + cast_environment_->Clock()->NowTicks(); - time_to_send = std::max(time_to_send, - base::TimeDelta::FromMilliseconds(kMinSchedulingDelayMs)); + time_to_send = std::max( + time_to_send, base::TimeDelta::FromMilliseconds(kMinSchedulingDelayMs)); - cast_environment_->PostDelayedTask(CastEnvironment::MAIN, FROM_HERE, + cast_environment_->PostDelayedTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(&AudioReceiver::SendNextRtcpReport, - weak_factory_.GetWeakPtr()), time_to_send); + weak_factory_.GetWeakPtr()), + time_to_send); } void AudioReceiver::SendNextRtcpReport() { @@ -512,13 +547,16 @@ void AudioReceiver::ScheduleNextCastMessage() { } else { NOTREACHED(); } - base::TimeDelta time_to_send = send_time - - cast_environment_->Clock()->NowTicks(); - time_to_send = std::max(time_to_send, - base::TimeDelta::FromMilliseconds(kMinSchedulingDelayMs)); - cast_environment_->PostDelayedTask(CastEnvironment::MAIN, FROM_HERE, + base::TimeDelta time_to_send = + send_time - cast_environment_->Clock()->NowTicks(); + time_to_send = std::max( + time_to_send, base::TimeDelta::FromMilliseconds(kMinSchedulingDelayMs)); + cast_environment_->PostDelayedTask( + CastEnvironment::MAIN, + FROM_HERE, base::Bind(&AudioReceiver::SendNextCastMessage, - weak_factory_.GetWeakPtr()), time_to_send); + weak_factory_.GetWeakPtr()), + time_to_send); } void AudioReceiver::SendNextCastMessage() { |