/** * \file serviceWindowGenerationFromRec.h */ #ifndef SERVICEWINDOWGENERATIONFROMREC_H #define SERVICEWINDOWGENERATIONFROMREC_H #include "recognize.h" #include "recognizeListener.h" #include "serviceWindowGeneration.h" #define SERVICE_TYPE_REC 2 #define SERVICE_TYPE_REC_ONLY_AUDIO 5 #define SERVICE_TYPE_REC_UNMIXED 6 /** \brief Classe que implementa o serviço de Reconhecimento. * * \headerfile servico/src/include/serviceWindowGenerationFromRec.h */ class ServiceWindowGenerationFromRec : public ServiceWindowGeneration, public RecognizeListener, public ListenerTradutor, public ListenerRenderer, public Thread { private: Recognize* rec; /** Adiciona a etiqueta de tempo. * * Cada sentença conterá sua respectiva de tempo. * \param pts A etiqueta de tempo. */ void addPTS(int64_t pts); /** Seta o número de legendas. * * \param A quantidade de legendas. * \exception ServiceException Se houver algum erro durante a execução. */ void setSizeOfSubtitles(int sub_size); /** Define o path do vídeo de LIBRAS. */ void setPathLibras(); /** Define o path dos arquivos de saída. * * \exception RuntimeException Se houver algum erro durante a execução. */ void setPathContents(); /** Indica se o serviço está sendo executado. * * \return O status do serviço. */ bool isRunning(); public: /** Construtor. * * \param pathVideo Path do vídeo de entrada. * \param position Posição do vídeo de LIBRAS em relação ao vídeo original. * \param size Tamanho do vídeo de LIBRAS. * \param transparency Transparência do plano de fundo do vídeo. * \param id Identificação do cliente. * \param client Modo de execução. * \param serviceType Tipo do serviço. * \param rate */ ServiceWindowGenerationFromRec(char* pathVideo, int position, int size, int transparency, char* id, char* client, int serviceType, char* rate); /** Construtor. * * \param pathVideo Path do vídeo de entrada. * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original. * \param size Tamanho do vídeo de LIBRAS. * \param transp Transparência do plano de fundo do vídeo. * \param id Identificação do cliente. * \param mode Modo de execução. * \param serviceType Tipo do serviço. */ ServiceWindowGenerationFromRec(char* pathVideo, int pos, int size, int transp, char* id, int mode, int serviceType); /** Destrutor */ ~ServiceWindowGenerationFromRec(); /** Notifica novas sentenças reconhecidas. * * \param text A sentença reconhecida. * \param pts A etiqueta de tempo da sentença. */ void notifyTextRecognized(unsigned char* text, int64_t pts); /** Recebe a notificação do fim da renderização do vídeo */ void notifyEndOfRenderization(); /** Recebe a notificação do fim da tradução da sentença. * * \param glosa A sentença traduzida. * \exception ServiceException Se houver algum erro durante a execução. */ void notifyTranslation(char* glosa); /** Envia para a tradução a sentença obtida. * * \param text A sentença obtida. */ void notifyTranslator(unsigned char* text); /** Notifica o fim do reconhecimento. * * \param sentences_size O número de sentenças reconhecidas. */ void notifyEnd(int sentences_size); /** Inicia o serviço de reconhecimento. * * \exception ServiceException Se houver algum erro durante a execução. */ void initialize(); /** Indica o fim do processo do serviço. * * \return O status do processo. */ bool isFinished(); /** Este método é chamado quando a Thread for iniciada. */ void Run(); }; #endif /* SERVICEWINDOWGENERATIONFROMREC_H */