vrchannel.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef VRCHANNEL_H
  2. #define VRCHANNEL_H
  3. #include "thread.h"
  4. #include "mediadecode.h"
  5. #include "CCarLifeLibWrapper.h"
  6. using namespace CommonUtilH;
  7. using namespace CCarLifeLibH;
  8. class VRChannel : public Thread
  9. {
  10. public:
  11. virtual ~VRChannel();
  12. static VRChannel *instance();
  13. MediaDecode *decoder()
  14. {
  15. return mDecoder;
  16. }
  17. void SetVRInfoCallback(void (*callback)(unsigned char*, int ,void*), void *parameter);
  18. void SetVRStartCallback(void (*callback)(bool,int,int,int, int, void*), void *parameter);
  19. protected:
  20. virtual void run();
  21. private:
  22. VRChannel();
  23. //数据接收回调函数
  24. static void recvInit(S_AUDIO_INIT_PARAMETER *); //接收手机端发送给车机端的vr初始化信息
  25. static void recvNormalData(u8 *data, u32 len); //接收车机端接收手机端发送的vr数据
  26. static void recvStop(); //接收手机端通知车机端vr停止状态
  27. private:
  28. static VRChannel *mInstance;
  29. MediaDecode *mDecoder;
  30. void (*m_vr_info_callback)(unsigned char*,int,void*);
  31. void (*m_vr_start_callback)(bool,int,int,int,int,void*);
  32. void *m_parameter;
  33. };
  34. #endif // VRCHANNEL_H