video_decode_thread.h 697 B

123456789101112131415161718192021222324252627282930
  1. #ifndef AVPLAYER2_VIDEO_DECODE_THREAD_H
  2. #define AVPLAYER2_VIDEO_DECODE_THREAD_H
  3. #pragma once
  4. #include "ThreadBase.h"
  5. #include "packets_sync.h"
  6. #include <atomic>
  7. class VideoDecodeThread : public ThreadBase
  8. {
  9. public:
  10. explicit VideoDecodeThread(VideoState* pState = nullptr);
  11. ~VideoDecodeThread();
  12. void stop() override;
  13. VideoDecodeThread(const VideoDecodeThread&) = delete;
  14. VideoDecodeThread& operator=(const VideoDecodeThread&) = delete;
  15. VideoDecodeThread(VideoDecodeThread&&) = delete;
  16. VideoDecodeThread& operator=(VideoDecodeThread&&) = delete;
  17. protected:
  18. void run() override;
  19. private:
  20. VideoState* m_pState;
  21. };
  22. #endif // AVPLAYER2_VIDEO_DECODE_THREAD_H