| OLD | NEW | 
| (Empty) |  | 
 |   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 | 
 |   3 // found in the LICENSE file. | 
 |   4  | 
 |   5 #ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ | 
 |   6 #define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ | 
 |   7  | 
 |   8 #include "base/compiler_specific.h" | 
 |   9 #include "content/common/content_export.h" | 
 |  10 #include "content/renderer/media/media_stream_source.h" | 
 |  11 #include "content/renderer/media/webrtc_audio_capturer.h" | 
 |  12 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" | 
 |  13  | 
 |  14 namespace content { | 
 |  15  | 
 |  16 class CONTENT_EXPORT MediaStreamAudioSource | 
 |  17     : NON_EXPORTED_BASE(public MediaStreamSource) { | 
 |  18  public: | 
 |  19   MediaStreamAudioSource(const StreamDeviceInfo& device_info, | 
 |  20                          const SourceStoppedCallback& stop_callback); | 
 |  21   MediaStreamAudioSource(); | 
 |  22   virtual ~MediaStreamAudioSource(); | 
 |  23  | 
 |  24   virtual void AddTrack(const blink::WebMediaStreamTrack& track, | 
 |  25                         const blink::WebMediaConstraints& constraints, | 
 |  26                         const ConstraintsCallback& callback) OVERRIDE; | 
 |  27   virtual void RemoveTrack(const blink::WebMediaStreamTrack& track) OVERRIDE; | 
 |  28  | 
 |  29   void SetLocalAudioSource(webrtc::AudioSourceInterface* source) { | 
 |  30     local_audio_source_ = source; | 
 |  31   } | 
 |  32  | 
 |  33   void SetAudioCapturer(WebRtcAudioCapturer* capturer) { | 
 |  34     DCHECK(!audio_capturer_); | 
 |  35     audio_capturer_ = capturer; | 
 |  36   } | 
 |  37  | 
 |  38   const scoped_refptr<WebRtcAudioCapturer>& GetAudioCapturer() { | 
 |  39     return audio_capturer_; | 
 |  40   } | 
 |  41  | 
 |  42   webrtc::AudioSourceInterface* local_audio_source() { | 
 |  43     return local_audio_source_.get(); | 
 |  44   } | 
 |  45  | 
 |  46  protected: | 
 |  47   virtual void DoStopSource() OVERRIDE; | 
 |  48  | 
 |  49  private: | 
 |  50   // This member holds an instance of webrtc::LocalAudioSource. This is used | 
 |  51   // as a container for audio options. | 
 |  52   scoped_refptr<webrtc::AudioSourceInterface> local_audio_source_; | 
 |  53  | 
 |  54   scoped_refptr<WebRtcAudioCapturer> audio_capturer_; | 
 |  55  | 
 |  56   DISALLOW_COPY_AND_ASSIGN(MediaStreamAudioSource); | 
 |  57 }; | 
 |  58  | 
 |  59 }  // namespace content | 
 |  60  | 
 |  61 #endif  // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ | 
| OLD | NEW |