Chromium Code Reviews| Index: content/browser/renderer_host/media/audio_input_sync_writer.cc |
| diff --git a/content/browser/renderer_host/media/audio_input_sync_writer.cc b/content/browser/renderer_host/media/audio_input_sync_writer.cc |
| index 3bed144059548ebb64b41e9091ce70976dd1272d..041d8e17082769138b2175640f8349d6e064df37 100644 |
| --- a/content/browser/renderer_host/media/audio_input_sync_writer.cc |
| +++ b/content/browser/renderer_host/media/audio_input_sync_writer.cc |
| @@ -119,7 +119,8 @@ AudioInputSyncWriter::~AudioInputSyncWriter() { |
| void AudioInputSyncWriter::Write(const AudioBus* data, |
| double volume, |
| bool key_pressed, |
| - uint32_t hardware_delay_bytes) { |
| + base::TimeDelta delay, |
| + base::TimeTicks delay_timestamp) { |
| TRACE_EVENT0("audio", "AudioInputSyncWriter::Write"); |
| ++write_count_; |
| CheckTimeSinceLastWrite(); |
| @@ -150,7 +151,8 @@ void AudioInputSyncWriter::Write(const AudioBus* data, |
| // put it in the fifo. |
| if (number_of_filled_segments_ < |
| static_cast<int>(shared_memory_segment_count_)) { |
| - WriteParametersToCurrentSegment(volume, key_pressed, hardware_delay_bytes); |
| + WriteParametersToCurrentSegment(volume, key_pressed, delay, |
| + delay_timestamp); |
| // Copy data into shared memory using pre-allocated audio buses. |
| AudioBus* audio_bus = audio_buses_[current_segment_id_]; |
| @@ -161,7 +163,7 @@ void AudioInputSyncWriter::Write(const AudioBus* data, |
| trailing_write_to_fifo_count_ = 0; |
| } else { |
| - if (!PushDataToFifo(data, volume, key_pressed, hardware_delay_bytes)) |
| + if (!PushDataToFifo(data, volume, key_pressed, delay, delay_timestamp)) |
| write_error = true; |
| ++write_to_fifo_count_; |
| @@ -231,7 +233,8 @@ void AudioInputSyncWriter::AddToNativeLog(const std::string& message) { |
| bool AudioInputSyncWriter::PushDataToFifo(const AudioBus* data, |
| double volume, |
| bool key_pressed, |
| - uint32_t hardware_delay_bytes) { |
| + base::TimeDelta delay, |
| + base::TimeTicks delay_timestamp) { |
| if (overflow_buses_.size() == kMaxOverflowBusesSize) { |
| // We use |write_error_count_| for capping number of log messages. |
| // |write_error_count_| also includes socket Send() errors, but those should |
| @@ -257,7 +260,7 @@ bool AudioInputSyncWriter::PushDataToFifo(const AudioBus* data, |
| } |
| // Push parameters to fifo. |
| - OverflowParams params = { volume, hardware_delay_bytes, key_pressed }; |
| + OverflowParams params = {volume, delay, delay_timestamp, key_pressed}; |
| overflow_params_.push_back(params); |
| // Push audio data to fifo. |
| @@ -285,9 +288,9 @@ bool AudioInputSyncWriter::WriteDataFromFifoToSharedMemory() { |
| while (audio_bus_it != overflow_buses_.end() && |
| number_of_filled_segments_ < segment_count) { |
| // Write parameters to shared memory. |
| - WriteParametersToCurrentSegment((*params_it).volume, |
| - (*params_it).key_pressed, |
| - (*params_it).hardware_delay_bytes); |
| + WriteParametersToCurrentSegment( |
| + (*params_it).volume, (*params_it).key_pressed, (*params_it).delay, |
| + (*params_it).delay_timestamp); |
| // Copy data from the fifo into shared memory using pre-allocated audio |
| // buses. |
| @@ -317,14 +320,17 @@ bool AudioInputSyncWriter::WriteDataFromFifoToSharedMemory() { |
| void AudioInputSyncWriter::WriteParametersToCurrentSegment( |
| double volume, |
| bool key_pressed, |
| - uint32_t hardware_delay_bytes) { |
| + base::TimeDelta delay, |
| + base::TimeTicks delay_timestamp) { |
| uint8_t* ptr = shared_memory_; |
| ptr += current_segment_id_ * shared_memory_segment_size_; |
| AudioInputBuffer* buffer = reinterpret_cast<AudioInputBuffer*>(ptr); |
| buffer->params.volume = volume; |
| buffer->params.size = audio_bus_memory_size_; |
| buffer->params.key_pressed = key_pressed; |
| - buffer->params.hardware_delay_bytes = hardware_delay_bytes; |
| + buffer->params.delay = delay.InMicroseconds(); |
| + buffer->params.delay_timestamp = |
|
o1ka
2017/02/10 13:28:50
Another reason to have very different names for th
DaleCurtis
2017/02/11 01:43:12
For now I'll keep the names the same since that's
o1ka
2017/02/13 14:00:20
I'm ok with naming now - I got the reasons why the
|
| + (delay_timestamp - base::TimeTicks()).InMicroseconds(); |
| buffer->params.id = next_buffer_id_; |
| } |