read_thread.h 678 B

123456789101112131415161718192021222324252627282930
  1. #ifndef AVPLAYER2_READ_THREAD_H
  2. #define AVPLAYER2_READ_THREAD_H
  3. #pragma once
  4. #include "ThreadBase.h"
  5. #include "packets_sync.h"
  6. class ReadThread : public ThreadBase
  7. {
  8. public:
  9. explicit ReadThread(VideoState* pState = nullptr);
  10. ~ReadThread();
  11. ReadThread(const ReadThread&) = delete;
  12. ReadThread& operator=(const ReadThread&) = delete;
  13. ReadThread(ReadThread&&) = delete;
  14. ReadThread& operator=(ReadThread&&) = delete;
  15. void set_video_state(VideoState* pState = nullptr); // call before start
  16. void stop() override;
  17. protected:
  18. int loop_read();
  19. void run() override;
  20. private:
  21. VideoState* m_pPlayData;
  22. };
  23. #endif // AVPLAYER2_READ_THREAD_H