| Index: content/renderer/media/webrtc/processed_local_audio_track.cc
|
| diff --git a/content/renderer/media/webrtc/processed_local_audio_track.cc b/content/renderer/media/webrtc/processed_local_audio_track.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e1cf37624eb9a1948c4c92d2165f2802b6f6d12a
|
| --- /dev/null
|
| +++ b/content/renderer/media/webrtc/processed_local_audio_track.cc
|
| @@ -0,0 +1,50 @@
|
| +// Copyright 2016 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.
|
| +
|
| +#include "content/renderer/media/webrtc/processed_local_audio_track.h"
|
| +
|
| +#include "content/renderer/media/webrtc/webrtc_local_audio_track_adapter.h"
|
| +
|
| +namespace content {
|
| +
|
| +namespace {
|
| +// Used as an identifier for ProcessedLocalAudioTrack::From().
|
| +void* const kClassIdentifier = const_cast<void**>(&kClassIdentifier);
|
| +} // namespace
|
| +
|
| +ProcessedLocalAudioTrack::ProcessedLocalAudioTrack(
|
| + const scoped_refptr<WebRtcLocalAudioTrackAdapter>& adapter)
|
| + : MediaStreamAudioTrack(true),
|
| + adapter_(adapter) {
|
| + DCHECK(adapter_.get());
|
| + adapter_->SetMediaStreamAudioTrack(this);
|
| +
|
| + DVLOG(1) << "ProcessedLocalAudioTrack::ProcessedLocalAudioTrack()";
|
| +}
|
| +
|
| +ProcessedLocalAudioTrack::~ProcessedLocalAudioTrack() {
|
| + DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| + DVLOG(1) << "ProcessedLocalAudioTrack::~ProcessedLocalAudioTrack()";
|
| + adapter_->SetMediaStreamAudioTrack(nullptr);
|
| +}
|
| +
|
| +// static
|
| +ProcessedLocalAudioTrack* ProcessedLocalAudioTrack::From(
|
| + MediaStreamAudioTrack* track) {
|
| + if (track && track->GetClassIdentifier() == kClassIdentifier)
|
| + return static_cast<ProcessedLocalAudioTrack*>(track);
|
| + return nullptr;
|
| +}
|
| +
|
| +void ProcessedLocalAudioTrack::SetEnabled(bool enabled) {
|
| + DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| + MediaStreamAudioTrack::SetEnabled(enabled);
|
| + adapter_->set_enabled(enabled);
|
| +}
|
| +
|
| +void* ProcessedLocalAudioTrack::GetClassIdentifier() const {
|
| + return kClassIdentifier;
|
| +}
|
| +
|
| +} // namespace content
|
|
|