910e62b5创建于 1月15日历史提交
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_SERVICES_SPEECH_AUDIO_SOURCE_CONSUMER_H_
#define CHROME_SERVICES_SPEECH_AUDIO_SOURCE_CONSUMER_H_

#include "media/mojo/mojom/audio_data.mojom.h"

namespace speech {

// An abstract interface class for consuming audio from
// AudioSourceFetcherImpl.
class AudioSourceConsumer {
 public:
  virtual ~AudioSourceConsumer() = default;

  // Passes the captured audio to consumer.
  virtual void AddAudio(media::mojom::AudioDataS16Ptr buffer) = 0;

  // Called when audio capture has been stopped.
  virtual void OnAudioCaptureEnd() = 0;

  // Called when an error occurs during audio capture.
  virtual void OnAudioCaptureError() = 0;
};

}  // namespace speech

#endif  // CHROME_SERVICES_SPEECH_AUDIO_SOURCE_CONSUMER_H_