Chromium Code Reviews| Index: content/renderer/media/media_stream_audio_source.h |
| diff --git a/content/renderer/media/media_stream_audio_source.h b/content/renderer/media/media_stream_audio_source.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..aa869f7c9e9bf83dd49876744885c0e1043e4dd5 |
| --- /dev/null |
| +++ b/content/renderer/media/media_stream_audio_source.h |
| @@ -0,0 +1,59 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ |
| +#define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ |
| + |
| +#include "base/compiler_specific.h" |
| +#include "content/common/content_export.h" |
| +#include "content/renderer/media/media_stream_source.h" |
| +#include "content/renderer/media/webrtc_audio_capturer.h" |
| +#include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" |
| + |
| +namespace content { |
| + |
| +class CONTENT_EXPORT MediaStreamAudioSource |
| + : NON_EXPORTED_BASE(public MediaStreamSource) { |
| + public: |
| + MediaStreamAudioSource(const StreamDeviceInfo& device_info, |
| + const SourceStoppedCallback& stop_callback); |
| + MediaStreamAudioSource(); |
| + virtual ~MediaStreamAudioSource(); |
| + |
| + virtual void AddTrack(const blink::WebMediaStreamTrack& track, |
| + const blink::WebMediaConstraints& constraints, |
| + const ConstraintsCallback& callback) OVERRIDE; |
| + virtual void RemoveTrack(const blink::WebMediaStreamTrack& track) OVERRIDE; |
| + |
| + void SetLocalAudioSource(webrtc::AudioSourceInterface* source) { |
| + local_audio_source_ = source; |
| + } |
| + |
| + void SetAudioCapturer(WebRtcAudioCapturer* capturer) { |
| + DCHECK(!audio_capturer_); |
| + audio_capturer_ = capturer; |
| + } |
| + |
| + webrtc::AudioSourceInterface* local_audio_source() { |
| + return local_audio_source_.get(); |
| + } |
| + |
| + protected: |
| + virtual void DoStopSource() OVERRIDE; |
| + |
| + private: |
| + // This member holds an instance of webrtc::LocalAudioSource. This is used |
| + // as a container for audio options. |
| + // TODO(hclam): This should be merged with |audio_source_| such that it |
|
Ronghua Wu (Left Chromium)
2014/01/16 23:02:37
I don't see audio_source_ in this file.
perkj_chrome
2014/01/17 13:19:45
Done.
|
| + // carries audio options. |
| + scoped_refptr<webrtc::AudioSourceInterface> local_audio_source_; |
| + |
| + scoped_refptr<WebRtcAudioCapturer> audio_capturer_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(MediaStreamAudioSource); |
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_AUDIO_SOURCE_H_ |