Serenity Operating System
1/*
2 * Copyright (c) 2018-2022, the SerenityOS developers.
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#include <LibAudio/Sample.h>
10#include <LibCore/SharedCircularQueue.h>
11
12namespace Audio {
13
14static constexpr size_t AUDIO_BUFFERS_COUNT = 128;
15// The audio buffer size is specifically chosen to be about 1/1000th of a second (1ms).
16// This has the biggest impact on latency and performance.
17// The currently chosen value was not put here with much thought and a better choice is surely possible.
18static constexpr size_t AUDIO_BUFFER_SIZE = 50;
19using AudioQueue = Core::SharedSingleProducerCircularQueue<Array<Sample, AUDIO_BUFFER_SIZE>, AUDIO_BUFFERS_COUNT>;
20
21}