read_thread.h 524 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "ThreadBase.h"
  3. #include "packets_sync.h"
  4. #include <atomic>
  5. class ReadThread : public ThreadBase
  6. {
  7. public:
  8. explicit ReadThread(VideoState* pState = nullptr);
  9. ~ReadThread();
  10. void set_video_state(VideoState* pState = nullptr); // call before start
  11. void stop() override;
  12. protected:
  13. int stream_component_open(int stream_index);
  14. void stream_component_close(VideoState* is, int stream_index);
  15. int loop_read();
  16. void run() override;
  17. private:
  18. VideoState* m_pPlayData;
  19. };