| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 | 129 |
| 130 void AudioDSPKernelProcessor::SetNumberOfChannels(unsigned number_of_channels) { | 130 void AudioDSPKernelProcessor::SetNumberOfChannels(unsigned number_of_channels) { |
| 131 if (number_of_channels == number_of_channels_) | 131 if (number_of_channels == number_of_channels_) |
| 132 return; | 132 return; |
| 133 | 133 |
| 134 DCHECK(!IsInitialized()); | 134 DCHECK(!IsInitialized()); |
| 135 if (!IsInitialized()) | 135 if (!IsInitialized()) |
| 136 number_of_channels_ = number_of_channels; | 136 number_of_channels_ = number_of_channels; |
| 137 } | 137 } |
| 138 | 138 |
| 139 bool AudioDSPKernelProcessor::RequiresTailProcessing() const { |
| 140 // Always return true even if the tail time and latency might both |
| 141 // be zero. |
| 142 return true; |
| 143 } |
| 144 |
| 139 double AudioDSPKernelProcessor::TailTime() const { | 145 double AudioDSPKernelProcessor::TailTime() const { |
| 140 DCHECK(!IsMainThread()); | 146 DCHECK(!IsMainThread()); |
| 141 MutexTryLocker try_locker(process_lock_); | 147 MutexTryLocker try_locker(process_lock_); |
| 142 if (try_locker.Locked()) { | 148 if (try_locker.Locked()) { |
| 143 // It is expected that all the kernels have the same tailTime. | 149 // It is expected that all the kernels have the same tailTime. |
| 144 return !kernels_.IsEmpty() ? kernels_.front()->TailTime() : 0; | 150 return !kernels_.IsEmpty() ? kernels_.front()->TailTime() : 0; |
| 145 } | 151 } |
| 146 // Since we don't want to block the Audio Device thread, we return a large | 152 // Since we don't want to block the Audio Device thread, we return a large |
| 147 // value instead of trying to acquire the lock. | 153 // value instead of trying to acquire the lock. |
| 148 return std::numeric_limits<double>::infinity(); | 154 return std::numeric_limits<double>::infinity(); |
| 149 } | 155 } |
| 150 | 156 |
| 151 double AudioDSPKernelProcessor::LatencyTime() const { | 157 double AudioDSPKernelProcessor::LatencyTime() const { |
| 152 DCHECK(!IsMainThread()); | 158 DCHECK(!IsMainThread()); |
| 153 MutexTryLocker try_locker(process_lock_); | 159 MutexTryLocker try_locker(process_lock_); |
| 154 if (try_locker.Locked()) { | 160 if (try_locker.Locked()) { |
| 155 // It is expected that all the kernels have the same latencyTime. | 161 // It is expected that all the kernels have the same latencyTime. |
| 156 return !kernels_.IsEmpty() ? kernels_.front()->LatencyTime() : 0; | 162 return !kernels_.IsEmpty() ? kernels_.front()->LatencyTime() : 0; |
| 157 } | 163 } |
| 158 // Since we don't want to block the Audio Device thread, we return a large | 164 // Since we don't want to block the Audio Device thread, we return a large |
| 159 // value instead of trying to acquire the lock. | 165 // value instead of trying to acquire the lock. |
| 160 return std::numeric_limits<double>::infinity(); | 166 return std::numeric_limits<double>::infinity(); |
| 161 } | 167 } |
| 162 | 168 |
| 163 } // namespace blink | 169 } // namespace blink |
| OLD | NEW |