#ifndef RENDERER_H #define RENDERER_H #include "jthread.h" #include "logging.h" #include "string.h" #include #include #include #include #include #include #include "listenerRenderer.h" #include #include #include #include #include #define PATH_RENDERER "vlibras_user/unityVideo/" #define PATH_SCREENS "vlibras_user/.config/unity3d/LAViD/VLibrasPlayer/" #define END_FLAG "FINALIZE" #define HOST "0.0.0.0" #define PORTNO 5555 using namespace lavidlib; using namespace jthread; using namespace std; using namespace util; class Renderer : public Thread { public: Renderer(char* videoPath, char* user_id); ~Renderer(); bool isSending(); void receiveGlosa(std::string glosa, int64_t pts); void addListener(ListenerRenderer* listener); void finalize(); void Run(); private: StreamSocket* core_socket; list * listeners; bool running; int count_task; int glosa_processed; char* folder_id; char* path_video; string glosa_copy; void render(); void sendGlosa(); void notifyListeners(); void connectToUnity(); void serverInitialize(); void waitScreenShots(); void cleanFiles(); }; #endif /* RENDERER_H */