Commit bb4f663f10b8fdb1601d6227ae6e80c9a321936b
1 parent
40a0bfdb
Exists in
master
and in
1 other branch
Documentação do componente servico
Showing
6 changed files
with
341 additions
and
12 deletions
Show diff stats
servico/src/include/serviceException.h
1 | -/*************************************************************************** | |
2 | - * Universidade Federal da Paraíba * | |
3 | - * Copyright (C) 2014 by Laboratório de Aplicações de Vídeo Digital * | |
4 | - * * | |
5 | - * Centro de Informática - UFPB - Campus I * | |
6 | - * João Pessoa - PB - Brasil * | |
7 | - * * | |
8 | - * Author: Erickson Silva (erickson.silva@lavid.ufpb.br) * | |
9 | - * * | |
10 | - **************************************************************************/ | |
1 | +/** | |
2 | + * \file serviceException.h | |
3 | + * | |
4 | + * \author Erickson Silva <erickson.silva@lavid.ufpb.br> | |
5 | + * \date 2014 | |
6 | + */ | |
11 | 7 | |
12 | 8 | #ifndef SERVICEEXCEPTION_H |
13 | 9 | #define SERVICEEXCEPTION_H | ... | ... |
servico/src/include/serviceTester.h
1 | +/** | |
2 | + * \file serviceTester.h | |
3 | + * | |
4 | + * \author Wesnydy Lima Ribeiro <wesnydy@lavid.ufpb.br> | |
5 | + * \date 2015 | |
6 | + */ | |
7 | + | |
1 | 8 | #ifndef SERVICETESTER_H |
2 | 9 | #define SERVICETESTER_H |
3 | 10 | |
... | ... | @@ -23,11 +30,28 @@ |
23 | 30 | using namespace util; |
24 | 31 | using namespace std; |
25 | 32 | |
33 | +/** \brief Classe que implementa o serviço de testes. | |
34 | + * | |
35 | + * \headerfile servico/src/include/serviceTester.h | |
36 | + */ | |
26 | 37 | class ServiceTester: public Thread { |
27 | 38 | |
28 | 39 | public: |
40 | + /** Construtor. | |
41 | + * | |
42 | + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original. | |
43 | + * \param size Tamanho do vídeo de LIBRAS. | |
44 | + * \param Background Plano de fundo do vídeo de LIBRAS. | |
45 | + */ | |
29 | 46 | ServiceTester(int position, int size, int background); |
47 | + | |
48 | + /** Destrutor */ | |
30 | 49 | ~ServiceTester(); |
50 | + | |
51 | + /** Indica o fim do processo de testes dos módulos. | |
52 | + * | |
53 | + * \return O status do do processo. | |
54 | + */ | |
31 | 55 | bool isFinished(); |
32 | 56 | |
33 | 57 | private: |
... | ... | @@ -48,14 +72,41 @@ private: |
48 | 72 | ServiceWindowGenerationFromSRT* service_srt; |
49 | 73 | ServiceWindowGenerationFromText* service_text; |
50 | 74 | |
75 | + /** Checa o serviço de vídeo com legendas */ | |
51 | 76 | void checkServiceSRT(); |
77 | + | |
78 | + /** Checa o serviço de reconhecimento de vídeo */ | |
52 | 79 | void checkServiceRec(); |
80 | + | |
81 | + /** Checa o serviço de tradução de texto */ | |
53 | 82 | void checkServiceText(); |
54 | 83 | |
84 | + /** Este método é chamado quando a Thread for iniciada. */ | |
55 | 85 | void Run(); |
86 | + | |
87 | + /** Indica se houve falha em algum processo. | |
88 | + * | |
89 | + * \return retorna True se ocorreu algum erro, caso contrário, retorna false. | |
90 | + */ | |
56 | 91 | bool hasFailed(); |
92 | + | |
93 | + /** Remove os arquivos temporários, gerados pelos processos.*/ | |
57 | 94 | void deleteFiles(); |
95 | + | |
96 | + /** Define o path dos arquivos temporários. */ | |
58 | 97 | void setPathContents(); |
98 | + | |
99 | + /** Verifica os arquivos de saída gerados. | |
100 | + * | |
101 | + * Caso os arquivos de sáida esperarados não existam, | |
102 | + * um status de falha será retornado. | |
103 | + * Nos casos em que houver mixagem, o vídeo de entrada | |
104 | + * e o vídeo de saída serão comparados pelo tamanho. | |
105 | + * | |
106 | + * \param fileIn arquivo de entrada. | |
107 | + * \param fileOut arquivo de saída. | |
108 | + * \return Status da verificação. | |
109 | + */ | |
59 | 110 | bool checkFiles(string fileIn, string fileOut); |
60 | 111 | }; |
61 | 112 | ... | ... |
servico/src/include/serviceWindowGeneration.h
1 | +/** | |
2 | + * \file serviceWindowGeneration.h | |
3 | + */ | |
4 | + | |
1 | 5 | #ifndef SERVICEWINDOWGENERATION_H |
2 | 6 | #define SERVICEWINDOWGENERATION_H |
3 | 7 | |
... | ... | @@ -36,6 +40,10 @@ using namespace std; |
36 | 40 | using namespace lavidlib; |
37 | 41 | using namespace util; |
38 | 42 | |
43 | +/** \brief A classe base para todos os serviços. | |
44 | + * | |
45 | + * \headerfile servico/src/include/serviceWindowGeneration.h | |
46 | + */ | |
39 | 47 | class ServiceWindowGeneration { |
40 | 48 | |
41 | 49 | protected: |
... | ... | @@ -67,13 +75,32 @@ protected: |
67 | 75 | int numero_legendas; |
68 | 76 | int legendas_enviadas; |
69 | 77 | |
78 | + /** Seta o número de legendas. | |
79 | + * | |
80 | + * \param sub_size A quantidade de legendas. | |
81 | + */ | |
70 | 82 | virtual void setSizeOfSubtitles(int sub_size) = 0; |
83 | + | |
84 | + /** Define o path dos arquivos de saída. */ | |
71 | 85 | virtual void setPathContents() = 0; |
72 | 86 | |
73 | 87 | public: |
88 | + /** Define o path do vídeo de LIBRAS. */ | |
74 | 89 | virtual void setPathLibras() = 0; |
90 | + | |
91 | + /** Inicializa o serviço. */ | |
75 | 92 | virtual void initialize() = 0; |
93 | + | |
94 | + /** Indica o fim do processo do serviço. | |
95 | + * | |
96 | + * \return O status do processo. | |
97 | + */ | |
76 | 98 | virtual bool isFinished() = 0; |
99 | + | |
100 | + /** Envia para a tradução a sentença obtida. | |
101 | + * | |
102 | + * \param text A sentença obtida. | |
103 | + */ | |
77 | 104 | virtual void notifyTranslator(unsigned char* text) = 0; |
78 | 105 | }; |
79 | 106 | ... | ... |
servico/src/include/serviceWindowGenerationFromRec.h
1 | +/** | |
2 | + * \file serviceWindowGenerationFromRec.h | |
3 | + */ | |
4 | + | |
1 | 5 | #ifndef SERVICEWINDOWGENERATIONFROMREC_H |
2 | 6 | #define SERVICEWINDOWGENERATIONFROMREC_H |
3 | 7 | |
... | ... | @@ -9,31 +13,117 @@ |
9 | 13 | #define SERVICE_TYPE_REC_ONLY_AUDIO 5 |
10 | 14 | #define SERVICE_TYPE_REC_UNMIXED 6 |
11 | 15 | |
16 | +/** \brief Classe que implementa o serviço de Reconhecimento. | |
17 | + * | |
18 | + * \headerfile servico/src/include/serviceWindowGenerationFromRec.h | |
19 | + */ | |
12 | 20 | class ServiceWindowGenerationFromRec : public ServiceWindowGeneration, public RecognizeListener, public ListenerTradutor, public ListenerRenderer, public Thread { |
13 | 21 | |
14 | 22 | private: |
15 | 23 | Recognize* rec; |
16 | 24 | |
25 | + /** Adiciona a etiqueta de tempo. | |
26 | + * | |
27 | + * Cada sentença conterá sua respectiva de tempo. | |
28 | + * \param pts A etiqueta de tempo. | |
29 | + */ | |
17 | 30 | void addPTS(int64_t pts); |
31 | + | |
32 | + /** Seta o número de legendas. | |
33 | + * | |
34 | + * \param A quantidade de legendas. | |
35 | + * \exception ServiceException Se houver algum erro durante a execução. | |
36 | + */ | |
18 | 37 | void setSizeOfSubtitles(int sub_size); |
38 | + | |
39 | + /** Define o path do vídeo de LIBRAS. */ | |
19 | 40 | void setPathLibras(); |
41 | + | |
42 | + /** Define o path dos arquivos de saída. | |
43 | + * | |
44 | + * \exception RuntimeException Se houver algum erro durante a execução. | |
45 | + */ | |
20 | 46 | void setPathContents(); |
47 | + | |
48 | + /** Indica se o serviço está sendo executado. | |
49 | + * | |
50 | + * \return O status do serviço. | |
51 | + */ | |
21 | 52 | bool isRunning(); |
22 | 53 | public: |
54 | + | |
55 | + /** Construtor. | |
56 | + * | |
57 | + * \param pathVideo Path do vídeo de entrada. | |
58 | + * \param position Posição do vídeo de LIBRAS em relação ao vídeo original. | |
59 | + * \param size Tamanho do vídeo de LIBRAS. | |
60 | + * \param transparency Transparência do plano de fundo do vídeo. | |
61 | + * \param id Identificação do cliente. | |
62 | + * \param client Modo de execução. | |
63 | + * \param serviceType Tipo do serviço. | |
64 | + * \param rate | |
65 | + */ | |
23 | 66 | ServiceWindowGenerationFromRec(char* pathVideo, int position, int size, |
24 | 67 | int transparency, char* id, char* client, int serviceType, char* rate); |
68 | + | |
69 | + /** Construtor. | |
70 | + * | |
71 | + * \param pathVideo Path do vídeo de entrada. | |
72 | + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original. | |
73 | + * \param size Tamanho do vídeo de LIBRAS. | |
74 | + * \param transp Transparência do plano de fundo do vídeo. | |
75 | + * \param id Identificação do cliente. | |
76 | + * \param mode Modo de execução. | |
77 | + * \param serviceType Tipo do serviço. | |
78 | + */ | |
25 | 79 | ServiceWindowGenerationFromRec(char* pathVideo, int pos, int size, |
26 | 80 | int transp, char* id, int mode, int serviceType); |
81 | + | |
82 | + /** Destrutor */ | |
27 | 83 | ~ServiceWindowGenerationFromRec(); |
28 | 84 | |
85 | + /** Notifica novas sentenças reconhecidas. | |
86 | + * | |
87 | + * \param text A sentença reconhecida. | |
88 | + * \param pts A etiqueta de tempo da sentença. | |
89 | + */ | |
29 | 90 | void notifyTextRecognized(unsigned char* text, int64_t pts); |
91 | + | |
92 | + /** Recebe a notificação do fim da renderização do vídeo */ | |
30 | 93 | void notifyEndOfRenderization(); |
94 | + | |
95 | + /** Recebe a notificação do fim da tradução da sentença. | |
96 | + * | |
97 | + * \param glosa A sentença traduzida. | |
98 | + * \exception ServiceException Se houver algum erro durante a execução. | |
99 | + */ | |
31 | 100 | void notifyTranslation(char* glosa); |
101 | + | |
102 | + /** Envia para a tradução a sentença obtida. | |
103 | + * | |
104 | + * \param text A sentença obtida. | |
105 | + */ | |
32 | 106 | void notifyTranslator(unsigned char* text); |
107 | + | |
108 | + /** Notifica o fim do reconhecimento. | |
109 | + * | |
110 | + * \param sentences_size O número de sentenças reconhecidas. | |
111 | + */ | |
33 | 112 | void notifyEnd(int sentences_size); |
34 | 113 | |
114 | + /** Inicia o serviço de reconhecimento. | |
115 | + * | |
116 | + * \exception ServiceException Se houver algum erro durante a execução. | |
117 | + */ | |
35 | 118 | void initialize(); |
119 | + | |
120 | + /** Indica o fim do processo do serviço. | |
121 | + * | |
122 | + * \return O status do processo. | |
123 | + */ | |
36 | 124 | bool isFinished(); |
125 | + | |
126 | + /** Este método é chamado quando a Thread for iniciada. */ | |
37 | 127 | void Run(); |
38 | 128 | }; |
39 | 129 | ... | ... |
servico/src/include/serviceWindowGenerationFromSRT.h
1 | +/** | |
2 | + * \file serviceWindowGenerationFromSRT.h | |
3 | + */ | |
4 | + | |
1 | 5 | #ifndef SERVICEWINDOWGENERATIONFROMSRT_H |
2 | 6 | #define SERVICEWINDOWGENERATIONFROMSRT_H |
3 | 7 | |
... | ... | @@ -8,6 +12,10 @@ |
8 | 12 | #define SERVICE_TYPE_SRT 1 |
9 | 13 | #define SERVICE_TYPE_SRT_ONLY 4 |
10 | 14 | |
15 | +/** \brief Classe que implementa o serviço de extração de legendas. | |
16 | + * | |
17 | + * \headerfile servico/src/include/serviceWindowGenerationFromSRT.h | |
18 | + */ | |
11 | 19 | class ServiceWindowGenerationFromSRT : public ServiceWindowGeneration, public ListenerSRT, public ListenerTradutor, public ListenerRenderer, public Thread { |
12 | 20 | |
13 | 21 | private: |
... | ... | @@ -16,28 +24,112 @@ private: |
16 | 24 | |
17 | 25 | char* path_srt; |
18 | 26 | |
27 | + /** Adiciona a etiqueta de tempo. | |
28 | + * | |
29 | + * Cada sentença conterá sua respectiva de tempo. | |
30 | + * \param pts A etiqueta de tempo. | |
31 | + */ | |
19 | 32 | void addPTS(int64_t pts); |
33 | + | |
34 | + /** Seta o número de legendas. | |
35 | + * | |
36 | + * \param A quantidade de legendas. | |
37 | + * \exception ServiceException Se houver algum erro durante a execução. | |
38 | + */ | |
20 | 39 | void setSizeOfSubtitles(int sub_size); |
40 | + | |
41 | + /** Define o path do vídeo de LIBRAS. */ | |
21 | 42 | void setPathLibras(); |
43 | + | |
44 | + /** Define o path dos arquivos de saída. | |
45 | + * | |
46 | + * \exception RuntimeException Se houver algum erro durante a execução. | |
47 | + */ | |
22 | 48 | void setPathContents(); |
49 | + | |
50 | + /** Indica se o serviço está sendo executado. | |
51 | + * | |
52 | + * \return O status do serviço. | |
53 | + */ | |
23 | 54 | bool isRunning(); |
24 | 55 | public: |
25 | - //construtor de serviço de video e legenda | |
56 | + /** Construtor do serviço de vídeo com legendas. | |
57 | + * | |
58 | + * \param pathVideo Path do vídeo de entrada. | |
59 | + * \param pathSRT Path do arquivo de legendas. | |
60 | + * \param sublanguage Linguagem das legendas do arquivo. | |
61 | + * \param pos Posição do vídeo de LIBRAS em relação ao vídeo original. | |
62 | + * \param size Tamanho do vídeo de LIBRAS. | |
63 | + * \param transp Transparência do plano de fundo do vídeo. | |
64 | + * \param id Identificação do cliente. | |
65 | + * \param mode Modo de execução. | |
66 | + * \param serviceType Tipo do serviço. | |
67 | + */ | |
26 | 68 | ServiceWindowGenerationFromSRT(char* pathVideo, char* pathSRT, int sublanguage, int pos, |
27 | 69 | int size, int transp, char* id, int mode, int serviceType); |
28 | - //construtor de serviço de somente legenda | |
70 | + | |
71 | + /** Construtor do serviço de legendas. | |
72 | + * | |
73 | + * \param pathSRT Path do arquivo de legendas. | |
74 | + * \param sublanguage Linguagem das legendas do arquivo. | |
75 | + * \param transparency Transparência do plano de fundo do vídeo. | |
76 | + * \param id Identificação do cliente. | |
77 | + * \param mode Modo de execução. | |
78 | + * \param serviceType Tipo do serviço. | |
79 | + */ | |
29 | 80 | ServiceWindowGenerationFromSRT(char* pathSRT, int sublanguage, int transparency, char* id, int mode, int serviceType); |
81 | + | |
82 | + /** Destrutor */ | |
30 | 83 | ~ServiceWindowGenerationFromSRT(); |
31 | 84 | |
85 | + /** Notifica novas legendas extraídas. | |
86 | + * | |
87 | + * \param subtitle A legenda extraída. | |
88 | + * \param pts A etiqueta de tempo da legenda. | |
89 | + */ | |
32 | 90 | void notifySubtitle(unsigned char* subtitle, int64_t pts); |
91 | + | |
92 | + /** Recebe a notificação do fim da renderização do vídeo */ | |
33 | 93 | void notifyEndOfRenderization(); |
94 | + | |
95 | + /** Recebe a notificação do fim da tradução da legenda. | |
96 | + * | |
97 | + * \param glosa A legenda traduzida. | |
98 | + */ | |
34 | 99 | void notifyTranslation(char* glosas); |
100 | + | |
101 | + /** Envia para a tradução a legenda obtida. | |
102 | + * | |
103 | + * \param text A legenda obtida. | |
104 | + */ | |
35 | 105 | void notifyTranslator(unsigned char* text); |
106 | + | |
107 | + /** Envia a glosa para o renderizador. | |
108 | + * | |
109 | + * \param glosa A glosa obtida. | |
110 | + * \exception ServiceException Se houver algum erro durante a execução. | |
111 | + */ | |
36 | 112 | void notifyRenderer(string glosa); |
113 | + | |
114 | + /** Notifica o fim da extração de legendas. | |
115 | + * | |
116 | + * \param sub_size O número de legendas extraídas. | |
117 | + */ | |
37 | 118 | void notifyEnd(int sub_size); |
38 | 119 | |
120 | + /** Inicia o serviço de extração de legendas. | |
121 | + * | |
122 | + * \exception ServiceException Se houver algum erro durante a execução. | |
123 | + */ | |
39 | 124 | void initialize(); |
125 | + | |
126 | + /** Indica o fim do processo do serviço. | |
127 | + * | |
128 | + * \return O status do processo. | |
129 | + */ | |
40 | 130 | bool isFinished(); |
131 | + | |
132 | + /** Este método é chamado quando a Thread for iniciada. */ | |
41 | 133 | void Run(); |
42 | 134 | }; |
43 | 135 | ... | ... |
servico/src/include/serviceWindowGenerationFromText.h
1 | +/** | |
2 | + * \file serviceWindowGenerationFromTXT.h | |
3 | + */ | |
4 | + | |
1 | 5 | #ifndef SERVICEWINDOWGENERATIONFROMTEXT_H |
2 | 6 | #define SERVICEWINDOWGENERATIONFROMTEXT_H |
3 | 7 | |
... | ... | @@ -7,29 +11,98 @@ |
7 | 11 | |
8 | 12 | #define MAX_TEXT_SIZE 2048 //FIXME: está restrito a 2K bytes de texto |
9 | 13 | |
14 | +/** \brief Classe que implementa o serviço de extração de texto. | |
15 | + * | |
16 | + * \headerfile servico/src/include/serviceWindowGenerationFromTXT.h | |
17 | + */ | |
10 | 18 | class ServiceWindowGenerationFromText : public ServiceWindowGeneration, public ListenerTXT, public ListenerTradutor, public ListenerRenderer, public Thread { |
11 | 19 | |
12 | 20 | private: |
13 | 21 | ExtratorFactory* extrator_factory; |
14 | 22 | ExtratorTXT* extratorTXT; |
15 | 23 | |
24 | + /** Seta o número de linhas. | |
25 | + * | |
26 | + * \param A quantidade de linhas. | |
27 | + * \exception ServiceException Se houver algum erro durante a execução. | |
28 | + */ | |
16 | 29 | void setSizeOfSubtitles(int sub_size); |
30 | + | |
31 | + /** Define o path do vídeo de LIBRAS. */ | |
17 | 32 | void setPathLibras(); |
33 | + | |
34 | + /** Define o path dos arquivos de saída. | |
35 | + * | |
36 | + * \exception RuntimeException Se houver algum erro durante a execução. | |
37 | + */ | |
18 | 38 | void setPathContents(); |
39 | + | |
40 | + /** Indica se o serviço está sendo executado. | |
41 | + * | |
42 | + * \return O status do serviço. | |
43 | + */ | |
19 | 44 | bool isRunning(); |
20 | 45 | public: |
46 | + /** Construtor. | |
47 | + * | |
48 | + * \param pathFile Path do arquivo de texto de entrada. | |
49 | + * \param sublanguage Linguagem das legendas do arquivo. | |
50 | + * \param transparency Transparência do plano de fundo do vídeo. | |
51 | + * \param id Identificação do cliente. | |
52 | + * \param mode Modo de execução. | |
53 | + */ | |
21 | 54 | ServiceWindowGenerationFromText(char* pathFile, int sublanguage, int transparency, char* id, int mode); |
55 | + | |
56 | + /** Destrutor */ | |
22 | 57 | ~ServiceWindowGenerationFromText(); |
23 | 58 | |
59 | + /** Notifica novas linhas extraídas. | |
60 | + * | |
61 | + * \param line A linha extraída. | |
62 | + */ | |
24 | 63 | void notifyLine(unsigned char* line); |
64 | + | |
65 | + /** Recebe a notificação do fim da renderização do vídeo */ | |
25 | 66 | void notifyEndOfRenderization(); |
67 | + | |
68 | + /** Recebe a notificação do fim da tradução do texto. | |
69 | + * | |
70 | + * \param glosa O texto traduzido. | |
71 | + */ | |
26 | 72 | void notifyTranslation(char* glosa); |
73 | + | |
74 | + /** Envia para a tradução a linha obtida. | |
75 | + * | |
76 | + * \param text A linha obtida. | |
77 | + */ | |
27 | 78 | void notifyTranslator(unsigned char* text); |
79 | + | |
80 | + /** Envia a glosa para o renderizador. | |
81 | + * | |
82 | + * \param glosa A glosa obtida. | |
83 | + * \exception ServiceException Se houver algum erro durante a execução. | |
84 | + */ | |
28 | 85 | void notifyRenderer(string glosa); |
86 | + | |
87 | + /** Notifica o fim da extração do texto. | |
88 | + * | |
89 | + * \param line_size O número de linhas extraídas. | |
90 | + */ | |
29 | 91 | void notifyEnd(int line_size); |
30 | 92 | |
93 | + /** Inicia o serviço de extração de texto. | |
94 | + * | |
95 | + * \exception ServiceException Se houver algum erro durante a execução. | |
96 | + */ | |
31 | 97 | void initialize(); |
98 | + | |
99 | + /** Indica o fim do processo do serviço. | |
100 | + * | |
101 | + * \return O status do processo. | |
102 | + */ | |
32 | 103 | bool isFinished(); |
104 | + | |
105 | + /** Este método é chamado quando a Thread for iniciada. */ | |
33 | 106 | void Run(); |
34 | 107 | }; |
35 | 108 | ... | ... |