Audacity
3.0.3
|
A circular buffer. More...
#include <PlaybackSchedule.h>
Classes | |
struct | Cursor |
Public Member Functions | |
void | Producer (PlaybackSchedule &schedule, size_t nSamples) |
double | Consumer (size_t nSamples, double rate) |
void | Prime (double time) |
Empty the queue and reassign the last produced time. More... | |
Public Attributes | |
ArrayOf< double > | mData |
size_t | mSize { 0 } |
double | mLastTime {} |
NonInterfering< Cursor > | mHead |
Aligned to avoid false sharing. More... | |
NonInterfering< Cursor > | mTail |
A circular buffer.
Definition at line 315 of file PlaybackSchedule.h.
double PlaybackSchedule::TimeQueue::Consumer | ( | size_t | nSamples, |
double | rate | ||
) |
Definition at line 397 of file PlaybackSchedule.cpp.
References TimeQueueGrainSize.
Referenced by AudioIoCallback::UpdateTimePosition().
void PlaybackSchedule::TimeQueue::Prime | ( | double | time | ) |
Empty the queue and reassign the last produced time.
Assumes the producer and consumer are suspended
Definition at line 421 of file PlaybackSchedule.cpp.
Referenced by AudioIoCallback::CallbackDoSeek().
void PlaybackSchedule::TimeQueue::Producer | ( | PlaybackSchedule & | schedule, |
size_t | nSamples | ||
) |
Definition at line 356 of file PlaybackSchedule.cpp.
References PlaybackSchedule::GetPolicy(), and TimeQueueGrainSize.
Referenced by AudioIO::FillPlayBuffers().
ArrayOf<double> PlaybackSchedule::TimeQueue::mData |
Definition at line 316 of file PlaybackSchedule.h.
Referenced by AudioIO::AllocateBuffers(), AudioIO::StartStream(), AudioIO::StartStreamCleanup(), and AudioIO::StopStream().
NonInterfering<Cursor> PlaybackSchedule::TimeQueue::mHead |
Aligned to avoid false sharing.
Definition at line 324 of file PlaybackSchedule.h.
Referenced by AudioIO::AllocateBuffers().
double PlaybackSchedule::TimeQueue::mLastTime {} |
Definition at line 318 of file PlaybackSchedule.h.
Referenced by AudioIO::StartStream().
size_t PlaybackSchedule::TimeQueue::mSize { 0 } |
Definition at line 317 of file PlaybackSchedule.h.
Referenced by AudioIO::AllocateBuffers().
NonInterfering<Cursor> PlaybackSchedule::TimeQueue::mTail |
Definition at line 324 of file PlaybackSchedule.h.
Referenced by AudioIO::AllocateBuffers().