// Copyright (c) 2012 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 "remoting/host/ipc_audio_capturer.h" #include #include "remoting/host/desktop_session_proxy.h" #include "remoting/proto/audio.pb.h" namespace remoting { IpcAudioCapturer::IpcAudioCapturer( scoped_refptr desktop_session_proxy) : desktop_session_proxy_(desktop_session_proxy), weak_factory_(this) { } IpcAudioCapturer::~IpcAudioCapturer() { } bool IpcAudioCapturer::Start(const PacketCapturedCallback& callback) { DCHECK(callback_.is_null()); DCHECK(!callback.is_null()); callback_ = callback; desktop_session_proxy_->SetAudioCapturer(weak_factory_.GetWeakPtr()); return true; } void IpcAudioCapturer::OnAudioPacket(scoped_ptr packet) { callback_.Run(std::move(packet)); } } // namespace remoting