| Index: media/cast/audio_receiver/audio_receiver.cc
|
| diff --git a/media/cast/audio_receiver/audio_receiver.cc b/media/cast/audio_receiver/audio_receiver.cc
|
| index 212419c81d616180cd868debab7c9f1dc0f13bab..ab06c5379d769f86e26db8575663d85fde9134d9 100644
|
| --- a/media/cast/audio_receiver/audio_receiver.cc
|
| +++ b/media/cast/audio_receiver/audio_receiver.cc
|
| @@ -114,15 +114,15 @@ void AudioReceiver::GetRawAudioFrame(
|
|
|
| void AudioReceiver::DecodeEncodedAudioFrame(
|
| const AudioFrameDecodedCallback& callback,
|
| - scoped_ptr<transport::EncodedAudioFrame> encoded_frame,
|
| - const base::TimeTicks& playout_time) {
|
| + scoped_ptr<transport::EncodedFrame> encoded_frame) {
|
| DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
|
| if (!encoded_frame) {
|
| - callback.Run(make_scoped_ptr<AudioBus>(NULL), playout_time, false);
|
| + callback.Run(make_scoped_ptr<AudioBus>(NULL), base::TimeTicks(), false);
|
| return;
|
| }
|
| const uint32 frame_id = encoded_frame->frame_id;
|
| const uint32 rtp_timestamp = encoded_frame->rtp_timestamp;
|
| + const base::TimeTicks playout_time = encoded_frame->reference_time;
|
| audio_decoder_->DecodeFrame(encoded_frame.Pass(),
|
| base::Bind(&AudioReceiver::EmitRawAudioFrame,
|
| cast_environment_,
|
| @@ -153,8 +153,7 @@ void AudioReceiver::EmitRawAudioFrame(
|
| callback.Run(audio_bus.Pass(), playout_time, is_continuous);
|
| }
|
|
|
| -void AudioReceiver::GetEncodedAudioFrame(
|
| - const AudioFrameEncodedCallback& callback) {
|
| +void AudioReceiver::GetEncodedAudioFrame(const FrameEncodedCallback& callback) {
|
| DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN));
|
| frame_request_queue_.push_back(callback);
|
| EmitAvailableEncodedFrames();
|
| @@ -167,8 +166,8 @@ void AudioReceiver::EmitAvailableEncodedFrames() {
|
| // Attempt to peek at the next completed frame from the |framer_|.
|
| // TODO(miu): We should only be peeking at the metadata, and not copying the
|
| // payload yet! Or, at least, peek using a StringPiece instead of a copy.
|
| - scoped_ptr<transport::EncodedAudioFrame> encoded_frame(
|
| - new transport::EncodedAudioFrame());
|
| + scoped_ptr<transport::EncodedFrame> encoded_frame(
|
| + new transport::EncodedFrame());
|
| bool is_consecutively_next_frame = false;
|
| if (!framer_.GetEncodedAudioFrame(encoded_frame.get(),
|
| &is_consecutively_next_frame)) {
|
| @@ -216,14 +215,13 @@ void AudioReceiver::EmitAvailableEncodedFrames() {
|
| encoded_frame->data.swap(decrypted_audio_data);
|
| }
|
|
|
| - // At this point, we have a decrypted EncodedAudioFrame ready to be emitted.
|
| - encoded_frame->codec = codec_;
|
| + // At this point, we have a decrypted EncodedFrame ready to be emitted.
|
| + encoded_frame->reference_time = playout_time;
|
| framer_.ReleaseFrame(encoded_frame->frame_id);
|
| cast_environment_->PostTask(CastEnvironment::MAIN,
|
| FROM_HERE,
|
| base::Bind(frame_request_queue_.front(),
|
| - base::Passed(&encoded_frame),
|
| - playout_time));
|
| + base::Passed(&encoded_frame)));
|
| frame_request_queue_.pop_front();
|
| }
|
| }
|
|
|