C example.
if (!pInstance) {
std::cerr << "Failed to create the process instance"<< std::endl;
return 1;
}
std::thread updater([pInstance](){
std::cerr << "bigvoice_StartUpdateThread (no json port)" << std::endl;
std::cerr << "bigvoice_StartUpdateThread END" << std::endl;
});
std::cerr << "Waiting update thread" << std::endl;
std::cerr << "Timeout to create the process instance"<< std::endl;
}
std::cerr << "Waiting update thread DONE" << std::endl;
#if (BIGVOICE_HAS_WEBSERVER)
std::cerr << "Starting web server" << std::endl;
int listenport= 8080;
int listenport_secure= 8443;
if (listenport || listenport_secure) {
std::cerr << "Starting web server FAILED" << std::endl;
} else {
if (listenport) {
std::cerr << "Web server listening on port " << listenport;
} else {
std::cerr << "Web server failed to listen on port " << listenport;
}
}
if (listenport_secure) {
std::cerr << "Web server listening on secure port " << listenport_secure;
} else {
std::cerr << "Web server failed to listen on secure port " << listenport_secure;
}
}
std::cerr << "Starting web server DONE" << std::endl;
}
}
#endif
void bigvoice_FreeParameters(struct bigvoice_CParameters *params)
struct bigvoice_CParameters * bigvoice_NewParameters()
struct bigvoice_CInstance * bigvoice_InitProcess2(const char *LoginKey, const char *RadioName, const char *Access_Key_ID, const char *Access_Key_Secret, const char *save_path, const struct bigvoice_CParameters *parameters)
void bigvoice_SetParameter(struct bigvoice_CParameters *params, const char *name, const char *value)
int bigvoice_WaitUpdateThreadReady(struct bigvoice_CInstance *instance, int milliseconds)
void bigvoice_StartUpdateThread(struct bigvoice_CInstance *instance, unsigned int port)
#define SOUND4_WEBSERVER_HTTPS_OK
uint64_t bigvoice_Webserver(unsigned int listenport, unsigned int listenport_secure, struct bigvoice_CInstance *instance)
int bigvoice_Webserver_Status(uint64_t id)
#define SOUND4_WEBSERVER_HTTP_OK
#define SOUND4_INVALID_WEBSERVER_ID
bool stopthread=false;
#if defined(_WIN32) || defined(WIN32)
_setmode(_fileno(stdin), _O_BINARY);
_setmode(_fileno(stdout), _O_BINARY);
#endif
while (!stopthread)
{
std::cerr << "ProcessLoop: input stopped"<< std::endl;
stopthread=true;
break;
}
if (stopthread) break;
std::cerr << "Failed to write audio output" << std::endl;
stopthread=true;
}
}
void bigvoice_ProcessAudio(struct bigvoice_CInstance *instance, const float *input, float *output)
#if (BIGVOICE_HAS_WEBSERVER)
std::cerr << "Stopping web server" << std::endl;
std::cerr << "Stopping web server DONE" << std::endl;
#endif
std::cerr << "Stopping Update thread" << std::endl;
std::cerr << "Stopping Update thread DONE" << std::endl;
updater.join();
void bigvoice_ExitProcess(struct bigvoice_CInstance *instance)
void bigvoice_StopUpdateThread(struct bigvoice_CInstance *instance)
int bigvoice_Webserver_Stop(uint64_t id, int timeout_ms)