// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_AUDIO_TRACK_ENCODER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_AUDIO_TRACK_ENCODER_H_ #include <memory> #include <optional> #include "base/functional/callback_helpers.h" #include "base/threading/thread_checker.h" #include "media/base/audio_bus.h" #include "media/base/audio_encoder.h" #include "media/base/audio_parameters.h" #include "media/base/encoder_status.h" #include "third_party/blink/renderer/platform/wtf/functional.h" #include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h" namespace blink { // Base interface for an AudioTrackEncoder. This class and its subclasses are // used by AudioTrackRecorder to encode audio before output. These are private // classes and should not be used outside of AudioTrackRecorder. // // AudioTrackEncoder is created on the ATR's main thread (usually the main // render thread) but is otherwise operated entirely on |encoder_thread_|, // which is owned by AudioTrackRecorder. class AudioTrackEncoder { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_MODULES_MEDIARECORDER_AUDIO_TRACK_ENCODER_H_