Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
async_block_worker.hpp File Reference

Fixed-latency playout of audio (and timed events) rendered on a worker thread, for hosts that send blocks of any size. More...

#include <pulp/audio/buffer.hpp>
#include <pulp/audio/pull_rate_detector.hpp>
#include <pulp/runtime/wake_signal.hpp>
#include <algorithm>
#include <atomic>
#include <chrono>
#include <cstdint>
#include <functional>
#include <span>
#include <thread>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::audio::AsyncBlockEvent< Event >
 A timed event handed to or produced by the worker. More...
struct  pulp::audio::AsyncBlockWorkerConfig
struct  pulp::audio::AsyncBlockWorkerStats
class  pulp::audio::AsyncBlockWorker< Event >
 Plays audio that a worker thread renders, at an exact, fixed latency, for a host whose blocks vary in size. More...
class  pulp::audio::AsyncBlockWorker< Event >::Chunk
 One stretch of positions the job renders. More...

Namespaces

namespace  pulp
namespace  pulp::audio

Enumerations

enum class  pulp::audio::AsyncBlockMode : std::uint8_t { pulp::audio::Realtime , pulp::audio::Offline , pulp::audio::Auto }
 How a process() call may treat a worker that has not finished the audio the callback is about to play. More...

Detailed Description

Fixed-latency playout of audio (and timed events) rendered on a worker thread, for hosts that send blocks of any size.