chromium/services/audio/loopback_stream.cc

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "services/audio/loopback_stream.h"

#include <string>

#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/not_fatal_until.h"
#include "base/ranges/algorithm.h"
#include "base/sync_socket.h"
#include "base/task/sequenced_task_runner.h"
#include "base/time/default_tick_clock.h"
#include "base/trace_event/trace_event.h"
#include "media/base/audio_bus.h"
#include "media/base/vector_math.h"
#include "mojo/public/cpp/system/buffer.h"
#include "mojo/public/cpp/system/platform_handle.h"
#include "third_party/abseil-cpp/absl/utility/utility.h"

namespace audio {

namespace {

// Start with a conservative, but reasonable capture delay that should work for
// most platforms (i.e., not needing an increase during a loopback session).
constexpr base::TimeDelta kInitialCaptureDelay =;

}  // namespace

// static
constexpr double LoopbackStream::kMaxVolume;

LoopbackStream::LoopbackStream(
    CreatedCallback created_callback,
    BindingLostCallback binding_lost_callback,
    scoped_refptr<base::SequencedTaskRunner> flow_task_runner,
    mojo::PendingReceiver<media::mojom::AudioInputStream> receiver,
    mojo::PendingRemote<media::mojom::AudioInputStreamClient> client,
    mojo::PendingRemote<media::mojom::AudioInputStreamObserver> observer,
    const media::AudioParameters& params,
    uint32_t shared_memory_count,
    LoopbackCoordinator* coordinator,
    const base::UnguessableToken& group_id)
    :{}

LoopbackStream::~LoopbackStream() {}

void LoopbackStream::Record() {}

void LoopbackStream::SetVolume(double volume) {}

void LoopbackStream::OnMemberJoinedGroup(LoopbackGroupMember* member) {}

void LoopbackStream::OnMemberLeftGroup(LoopbackGroupMember* member) {}

void LoopbackStream::OnError() {}

LoopbackStream::FlowNetwork::FlowNetwork(
    scoped_refptr<base::SequencedTaskRunner> flow_task_runner,
    const media::AudioParameters& output_params,
    std::unique_ptr<InputSyncWriter> writer)
    :{}

void LoopbackStream::FlowNetwork::AddInput(SnooperNode* node) {}

void LoopbackStream::FlowNetwork::RemoveInput(SnooperNode* node) {}

void LoopbackStream::FlowNetwork::SetVolume(double volume) {}

void LoopbackStream::FlowNetwork::Start() {}

LoopbackStream::FlowNetwork::~FlowNetwork() {}

void LoopbackStream::FlowNetwork::GenerateMoreAudio() {}

}  // namespace audio