Lines Matching defs:TinyalsaSink
48 struct TinyalsaSink : public DevicePortSink { struct
49 TinyalsaSink(unsigned pcmCard, unsigned pcmDevice, in TinyalsaSink() function
72 ~TinyalsaSink() { in ~TinyalsaSink()
77 static int getLatencyMs(const AudioConfig &cfg) { in getLatencyMs()
88 Result getPresentationPosition(uint64_t &frames, TimeSpec &ts) override { in getPresentationPosition()
108 uint64_t getPresentationFramesLocked(const nsecs_t nowNs) const { in getPresentationFramesLocked()
112 size_t calcAvailableFramesNowLocked() { in calcAvailableFramesNowLocked()
123 size_t calcWaitFramesNowLocked(const size_t requestedFrames) { in calcWaitFramesNowLocked()
129 size_t write(float volume, size_t bytesToWrite, IReader &reader) override { in write()
193 void consumeThread() { in consumeThread()
228 static std::unique_ptr<TinyalsaSink> create(unsigned pcmCard, in create()
244 const nsecs_t mStartNs;
245 const unsigned mSampleRateHz;
246 const unsigned mFrameSize;
247 const unsigned mWriteSizeFrames;
248 const uint64_t mInitialFrames;
252 RingBuffer mRingBuffer;
253 talsa::Mixer mMixer;
254 talsa::PcmPtr mPcm;
255 std::thread mConsumeThread;
256 std::atomic<bool> mConsumeThreadRunning = true;
257 mutable Mutex mFrameCountersMutex;