arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs
BufferBlocking.h File Reference
#include "AudioToolsConfig.h"
#include "AudioTools/CoreAudio/AudioLogger.h"
#include "AudioTools/CoreAudio/Buffers.h"
#include "AudioTools/CoreAudio/AudioBasic/Collections/Allocator.h"
#include "AudioTools/Concurrency/Mutex.h"
#include "AudioTools/Concurrency/LockGuard.h"

Go to the source code of this file.

Classes

class  BufferBlocking< T >
 Buffer implementation which provides the same blocking, thread-safe semantics as BufferRTOS (ESP32/STM32) and BufferZephyr, for platforms that have no native blocking stream buffer primitive - built on a SpinLock-protected RingBuffer plus a delay(1) polling wait loop. More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Macros

#define AUDIO_TOOLS_RTOS_TICK_TYPES_DEFINED
 
#define pdFALSE   0
 
#define pdMS_TO_TICKS(ms)   (ms)
 
#define pdTRUE   1
 
#define portMAX_DELAY   UINT32_MAX
 

Typedefs

using BaseType_t = int
 
template<class T >
using BufferRTOS = BufferBlocking< T >
 Template alias so code written against BufferRTOS (ESP32/STM32 FreeRTOS naming) also builds on platforms without FreeRTOS.
 
template<class T >
using StreamBuffer = BufferBlocking< T >
 Default thread-safe, blocking stream buffer for this platform.
 
template<class T >
using SynchronizedBufferRTOS = BufferBlocking< T >
 Template alias for a synchronized buffer, matching the RTOS naming.
 
using TickType_t = uint32_t
 

Macro Definition Documentation

◆ AUDIO_TOOLS_RTOS_TICK_TYPES_DEFINED

#define AUDIO_TOOLS_RTOS_TICK_TYPES_DEFINED

◆ pdFALSE

#define pdFALSE   0

◆ pdMS_TO_TICKS

#define pdMS_TO_TICKS (   ms)    (ms)

◆ pdTRUE

#define pdTRUE   1

◆ portMAX_DELAY

#define portMAX_DELAY   UINT32_MAX

Typedef Documentation

◆ BaseType_t

using BaseType_t = int

◆ TickType_t

using TickType_t = uint32_t