Lines Matching defs:ReadThread
47 struct ReadThread : public IOThread { struct
48 typedef MessageQueue<IStreamIn::ReadParameters, kSynchronizedReadWrite> CommandMQ;
49 typedef MessageQueue<IStreamIn::ReadStatus, kSynchronizedReadWrite> StatusMQ;
50 typedef MessageQueue<uint8_t, kSynchronizedReadWrite> DataMQ;
52 ReadThread(StreamIn *stream, const size_t bufferSize) in ReadThread() function
84 ~ReadThread() { in ~ReadThread()
91 EventFlag *getEventFlag() override { in getEventFlag()
95 bool isRunning() const { in isRunning()
99 std::future<pthread_t> getTid() { in getTid()
103 Result getCapturePosition(uint64_t &frames, uint64_t &ts) const { in getCapturePosition()
115 auto getDescriptors() const { in getDescriptors()
121 void threadLoop() { in threadLoop()
156 void processCommand() { in processCommand()
189 IStreamIn::ReadStatus doRead(const IStreamIn::ReadParameters &rParameters) { in doRead()
224 IStreamIn::ReadStatus doGetCapturePosition() { in doGetCapturePosition()
234 StreamIn *const mStream;
235 CommandMQ mCommandMQ;
236 StatusMQ mStatusMQ;
237 DataMQ mDataMQ;
238 std::unique_ptr<EventFlag, deleters::forEventFlag> mEfGroup;
239 std::thread mThread;
240 std::promise<pthread_t> mTid;
241 mutable std::mutex mExternalSourceReadLock; // used for external access to mSource.
242 std::unique_ptr<DevicePortSource> mSource;