serviceWindowGenerationFromRec.h
3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
* \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 */