Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: media/cast/sender/audio_encoder.cc

Issue 2103043005: media/cast/sender: Rename deadline_utilization to encoder_utilization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | media/cast/sender/audio_encoder_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/sender/audio_encoder.h" 5 #include "media/cast/sender/audio_encoder.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <limits> 10 #include <limits>
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 TRACE_EVENT_SCOPE_THREAD, 117 TRACE_EVENT_SCOPE_THREAD,
118 "frames missed", num_frames_missed, 118 "frames missed", num_frames_missed,
119 "samples dropped", samples_dropped_from_buffer_); 119 "samples dropped", samples_dropped_from_buffer_);
120 } 120 }
121 } 121 }
122 frame_capture_time_ = recorded_time - buffer_fill_duration; 122 frame_capture_time_ = recorded_time - buffer_fill_duration;
123 123
124 // Encode all audio in |audio_bus| into zero or more frames. 124 // Encode all audio in |audio_bus| into zero or more frames.
125 int src_pos = 0; 125 int src_pos = 0;
126 while (src_pos < audio_bus->frames()) { 126 while (src_pos < audio_bus->frames()) {
127 // Note: This is used to compute the deadline utilization and so it uses 127 // Note: This is used to compute the encoder utilization and so it uses
128 // the real-world clock instead of the CastEnvironment clock, the latter 128 // the real-world clock instead of the CastEnvironment clock, the latter
129 // of which might be simulated. 129 // of which might be simulated.
130 const base::TimeTicks start_time = base::TimeTicks::Now(); 130 const base::TimeTicks start_time = base::TimeTicks::Now();
131 131
132 const int num_samples_to_xfer = std::min( 132 const int num_samples_to_xfer = std::min(
133 samples_per_frame_ - buffer_fill_end_, audio_bus->frames() - src_pos); 133 samples_per_frame_ - buffer_fill_end_, audio_bus->frames() - src_pos);
134 DCHECK_EQ(audio_bus->channels(), num_channels_); 134 DCHECK_EQ(audio_bus->channels(), num_channels_);
135 TransferSamplesIntoBuffer( 135 TransferSamplesIntoBuffer(
136 audio_bus.get(), src_pos, buffer_fill_end_, num_samples_to_xfer); 136 audio_bus.get(), src_pos, buffer_fill_end_, num_samples_to_xfer);
137 src_pos += num_samples_to_xfer; 137 src_pos += num_samples_to_xfer;
138 buffer_fill_end_ += num_samples_to_xfer; 138 buffer_fill_end_ += num_samples_to_xfer;
139 139
140 if (buffer_fill_end_ < samples_per_frame_) 140 if (buffer_fill_end_ < samples_per_frame_)
141 break; 141 break;
142 142
143 std::unique_ptr<SenderEncodedFrame> audio_frame(new SenderEncodedFrame()); 143 std::unique_ptr<SenderEncodedFrame> audio_frame(new SenderEncodedFrame());
144 audio_frame->dependency = EncodedFrame::KEY; 144 audio_frame->dependency = EncodedFrame::KEY;
145 audio_frame->frame_id = frame_id_; 145 audio_frame->frame_id = frame_id_;
146 audio_frame->referenced_frame_id = frame_id_; 146 audio_frame->referenced_frame_id = frame_id_;
147 audio_frame->rtp_timestamp = frame_rtp_timestamp_; 147 audio_frame->rtp_timestamp = frame_rtp_timestamp_;
148 audio_frame->reference_time = frame_capture_time_; 148 audio_frame->reference_time = frame_capture_time_;
149 149
150 TRACE_EVENT_ASYNC_BEGIN2("cast.stream", "Audio Encode", audio_frame.get(), 150 TRACE_EVENT_ASYNC_BEGIN2("cast.stream", "Audio Encode", audio_frame.get(),
151 "frame_id", frame_id_.lower_32_bits(), 151 "frame_id", frame_id_.lower_32_bits(),
152 "rtp_timestamp", 152 "rtp_timestamp",
153 frame_rtp_timestamp_.lower_32_bits()); 153 frame_rtp_timestamp_.lower_32_bits());
154 if (EncodeFromFilledBuffer(&audio_frame->data)) { 154 if (EncodeFromFilledBuffer(&audio_frame->data)) {
155 // Compute deadline utilization as the real-world time elapsed divided 155 // Compute encoder utilization as the real-world time elapsed divided
156 // by the signal duration. 156 // by the signal duration.
157 audio_frame->deadline_utilization = 157 audio_frame->encoder_utilization =
158 (base::TimeTicks::Now() - start_time).InSecondsF() / 158 (base::TimeTicks::Now() - start_time).InSecondsF() /
159 frame_duration_.InSecondsF(); 159 frame_duration_.InSecondsF();
160 160
161 TRACE_EVENT_ASYNC_END1("cast.stream", "Audio Encode", audio_frame.get(), 161 TRACE_EVENT_ASYNC_END1("cast.stream", "Audio Encode", audio_frame.get(),
162 "Deadline utilization", 162 "encoder_utilization",
163 audio_frame->deadline_utilization); 163 audio_frame->encoder_utilization);
164 164
165 audio_frame->encode_completion_time = 165 audio_frame->encode_completion_time =
166 cast_environment_->Clock()->NowTicks(); 166 cast_environment_->Clock()->NowTicks();
167 cast_environment_->PostTask( 167 cast_environment_->PostTask(
168 CastEnvironment::MAIN, 168 CastEnvironment::MAIN,
169 FROM_HERE, 169 FROM_HERE,
170 base::Bind(callback_, 170 base::Bind(callback_,
171 base::Passed(&audio_frame), 171 base::Passed(&audio_frame),
172 samples_dropped_from_buffer_)); 172 samples_dropped_from_buffer_));
173 samples_dropped_from_buffer_ = 0; 173 samples_dropped_from_buffer_ = 0;
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 cast_environment_->PostTask(CastEnvironment::AUDIO, 835 cast_environment_->PostTask(CastEnvironment::AUDIO,
836 FROM_HERE, 836 FROM_HERE,
837 base::Bind(&AudioEncoder::ImplBase::EncodeAudio, 837 base::Bind(&AudioEncoder::ImplBase::EncodeAudio,
838 impl_, 838 impl_,
839 base::Passed(&audio_bus), 839 base::Passed(&audio_bus),
840 recorded_time)); 840 recorded_time));
841 } 841 }
842 842
843 } // namespace cast 843 } // namespace cast
844 } // namespace media 844 } // namespace media
OLDNEW
« no previous file with comments | « no previous file | media/cast/sender/audio_encoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698