Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
sample_stream_decode_pool.hpp File Reference
#include <pulp/audio/sample_stream_service.hpp>
#include <pulp/runtime/spsc_queue.hpp>
#include <algorithm>
#include <atomic>
#include <condition_variable>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <memory>
#include <mutex>
#include <optional>
#include <thread>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::audio::SampleStreamDecodePoolConfig
struct  pulp::audio::SampleStreamDecodeJob
struct  pulp::audio::SampleStreamDecodeCompletion
struct  pulp::audio::SampleStreamDecodeSourceAddResult
struct  pulp::audio::SampleStreamDecodePoolTelemetry
struct  pulp::audio::SampleStreamDecodeCompletionView
class  pulp::audio::SampleStreamDecodePool< JobMailboxCapacity, CompletionMailboxCapacity >
 Fixed-storage owner/worker decode pool. More...

Namespaces

namespace  pulp
namespace  pulp::audio

Enumerations

enum class  pulp::audio::SampleStreamDecodeCompletionStatus : std::uint8_t {
  pulp::audio::Decoded , pulp::audio::ShortRead , pulp::audio::ReaderError , pulp::audio::Canceled ,
  pulp::audio::Stopped
}
enum class  pulp::audio::SampleStreamDecodeCompletionMatch : std::uint8_t {
  pulp::audio::Accepted , pulp::audio::StaleSource , pulp::audio::StaleGeneration , pulp::audio::StaleReservation ,
  pulp::audio::DecodeError , pulp::audio::Canceled , pulp::audio::Stopped
}
enum class  pulp::audio::SampleStreamDecodeSourceAddStatus : std::uint8_t {
  pulp::audio::Added , pulp::audio::InvalidSource , pulp::audio::DuplicateSource , pulp::audio::SourceCapacityFull ,
  pulp::audio::Stopped
}
enum class  pulp::audio::SampleStreamDecodeSubmitStatus : std::uint8_t {
  pulp::audio::Queued , pulp::audio::InvalidJob , pulp::audio::StaleSource , pulp::audio::StaleGeneration ,
  pulp::audio::StaleReservation , pulp::audio::SourceInFlight , pulp::audio::QueueFull , pulp::audio::Stopped
}
enum class  pulp::audio::SampleStreamDecodeCancelStatus : std::uint8_t {
  pulp::audio::Canceled , pulp::audio::AlreadyCanceled , pulp::audio::StaleSource , pulp::audio::StaleGeneration ,
  pulp::audio::Stopped
}

Functions

SampleStreamDecodeCompletionMatch pulp::audio::match_sample_stream_decode_completion (const SampleStreamDecodeCompletion &completion, SampleStreamSourceToken expected_source, std::uint64_t expected_reservation_serial) noexcept