chromium/services/audio/mixing_graph.h

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

#ifndef SERVICES_AUDIO_MIXING_GRAPH_H_
#define SERVICES_AUDIO_MIXING_GRAPH_H_

#include <memory>

#include "base/functional/callback.h"
#include "base/time/time.h"
#include "media/audio/audio_io.h"
#include "media/base/audio_bus.h"
#include "media/base/audio_converter.h"
#include "media/base/audio_parameters.h"

namespace audio {

// The graph is mixing audio provided by multiple audio sources
// (AudioOutputStream::AudioSourceCallback instances) and represents the mix as
// a single AudioOutputStream::AudioSourceCallback, which in turn serves as an
// audio source providing audio buffers to AudioOutputStream for playback.
class MixingGraph : public media::AudioOutputStream::AudioSourceCallback {};

}  // namespace audio
#endif  // SERVICES_AUDIO_MIXING_GRAPH_H_