// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MEDIA_BASE_AUDIO_PUSH_FIFO_H_ #define MEDIA_BASE_AUDIO_PUSH_FIFO_H_ #include <memory> #include "base/functional/callback.h" #include "media/base/audio_bus.h" #include "media/base/media_export.h" namespace media { // Yet another FIFO for audio data that re-buffers audio to a desired buffer // size. Unlike AudioFifo and AudioBlockFifo, this FIFO cannot overflow: The // client is required to provide a callback that is called synchronously during // a push whenever enough data becomes available. This implementation // eliminates redundant memory copies when the input buffer size always matches // the desired buffer size. class MEDIA_EXPORT AudioPushFifo final { … }; } // namespace media #endif // MEDIA_BASE_AUDIO_PUSH_FIFO_H_