Home | History | Annotate | Download | only in media
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "content/renderer/media/webrtc_audio_capturer_sink_owner.h"
      6 
      7 namespace content {
      8 
      9 WebRtcAudioCapturerSinkOwner::WebRtcAudioCapturerSinkOwner(
     10     WebRtcAudioCapturerSink* sink)
     11     : delegate_(sink) {
     12 }
     13 
     14 int WebRtcAudioCapturerSinkOwner::CaptureData(const std::vector<int>& channels,
     15                                               const int16* audio_data,
     16                                               int sample_rate,
     17                                               int number_of_channels,
     18                                               int number_of_frames,
     19                                               int audio_delay_milliseconds,
     20                                               int current_volume,
     21                                               bool need_audio_processing) {
     22   base::AutoLock lock(lock_);
     23   if (delegate_) {
     24     return delegate_->CaptureData(channels, audio_data, sample_rate,
     25                                   number_of_channels, number_of_frames,
     26                                   audio_delay_milliseconds, current_volume,
     27                                   need_audio_processing);
     28   }
     29 
     30   return 0;
     31 }
     32 
     33 void WebRtcAudioCapturerSinkOwner::SetCaptureFormat(
     34     const media::AudioParameters& params) {
     35   base::AutoLock lock(lock_);
     36   if (delegate_)
     37     delegate_->SetCaptureFormat(params);
     38 }
     39 
     40 bool WebRtcAudioCapturerSinkOwner::IsEqual(
     41     const WebRtcAudioCapturerSink* other) const {
     42   base::AutoLock lock(lock_);
     43   return (other == delegate_);
     44 }
     45 
     46 void WebRtcAudioCapturerSinkOwner::Reset() {
     47   base::AutoLock lock(lock_);
     48   delegate_ = NULL;
     49 }
     50 
     51 }  // namespace content
     52