本文整理汇总了C++中cst_errmsg函数的典型用法代码示例。如果您正苦于以下问题:C++ cst_errmsg函数的具体用法?C++ cst_errmsg怎么用?C++ cst_errmsg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cst_errmsg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cst_socket_server
int cst_socket_server(const char *name, int port,
int (process_client) (int name, int fd))
{
struct sockaddr_in serv_addr;
int fd, fd1;
int client_name = 0;
int one = 1;
fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (fd < 0)
{
cst_errmsg("can't open socket %d\n", port);
return -1;
}
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one, sizeof(int)) <
0)
{
cst_errmsg("socket SO_REUSERADDR failed\n");
return -1;
}
memset(&serv_addr, 0, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(port);
serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(fd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) != 0)
{
cst_errmsg("socket: bind failed\n");
return -1;
}
if (listen(fd, 5) != 0)
{
cst_errmsg("socket: listen failed\n");
return -1;
}
if (name)
printf("server (%s) started on port %d\n", name, port);
while (1) /* never exits except by signals */
{
if ((fd1 = accept(fd, 0, 0)) < 0)
{
cst_errmsg("socket: accept failed\n");
return -1;
}
client_name++;
(process_client) (client_name, fd1);
close(fd1);
}
return 0;
}
示例2: audio_close_wince
int audio_close_wince(cst_audiodev *ad)
{
au_wince_pdata *pd = ad->platform_data;
MMRESULT err;
if (ad)
{
/* Okay, I actually think this isn't a race, because
bcnt is only ever decremented asynchronously, and
the asynchronous callback can't be interrupted. So
the only issue is whether it hits zero between the
time we test it and the time we start waiting, and
in this case, the event will get set anyway. */
if (pd->bcnt > 0)
WaitForSingleObject(pd->bevt, INFINITE);
pd->in_reset = 1;
err = waveOutReset(pd->wo);
if (err != MMSYSERR_NOERROR)
{
cst_errmsg("Failed to reset output device: %x\n", err);
cst_error();
}
pd->in_reset = 0;
free_queue_empty(ad);
err = waveOutClose(pd->wo);
if (err != MMSYSERR_NOERROR)
{
cst_errmsg("Failed to close output device: %x\n", err);
cst_error();
}
cst_free(pd);
cst_free(ad);
}
return 0;
}
示例3: audio_write_wince
int audio_write_wince(cst_audiodev *ad, void *samples, int num_bytes)
{
au_wince_pdata *pd = ad->platform_data;
WAVEHDR *hdr;
MMRESULT err;
if (num_bytes == 0)
return 0;
hdr = cst_alloc(WAVEHDR,1);
hdr->lpData = cst_alloc(char,num_bytes);
memcpy(hdr->lpData,samples,num_bytes);
hdr->dwBufferLength = num_bytes;
err = waveOutPrepareHeader(pd->wo, hdr, sizeof(*hdr));
if (err != MMSYSERR_NOERROR)
{
cst_errmsg("Failed to prepare header %p: %x\n", hdr, err);
cst_error();
}
if (InterlockedIncrement(&pd->bcnt) == 8)
WaitForSingleObject(pd->wevt, INFINITE);
err = waveOutWrite(pd->wo, hdr, sizeof(*hdr));
if (err != MMSYSERR_NOERROR)
{
cst_errmsg("Failed to write header %p: %x\n", hdr, err);
cst_error();
}
return num_bytes;
}
示例4: cst_errmsg
cst_filemap *cst_read_whole_file(const char *path)
{
cst_filemap *fmap;
cst_file fh;
if ((fh = cst_fopen(path, CST_OPEN_READ)) < 0) {
cst_errmsg("cst_read_whole_file: Failed to open file\n");
return NULL;
}
fmap = cst_alloc(cst_filemap, 1);
fmap->fh = fh;
fmap->mapsize = cst_filesize(fmap->fh);
fmap->mem = cst_alloc(char, fmap->mapsize);
if (cst_fread(fmap->fh, fmap->mem, 1, fmap->mapsize) < fmap->mapsize)
{
cst_errmsg("cst_read_whole_file: read() failed\n");
cst_fclose(fmap->fh);
cst_free(fmap->mem);
cst_free(fmap);
return NULL;
}
return fmap;
}
示例5: parse_usage
static void parse_usage(const char *progname,
const char *s1, const char *s2,
const char *description)
{
cst_errmsg("%s: %s %s\n", progname,s1,s2);
cst_errmsg("%s\n",description);
exit(0);
}
示例6: cst_alloc
cst_audiodev *audio_open_wince(int sps, int channels, int fmt)
{
cst_audiodev *ad;
au_wince_pdata *pd;
HWAVEOUT wo;
WAVEFORMATEX wfx;
MMRESULT err;
ad = cst_alloc(cst_audiodev,1);
ad->sps = ad->real_sps = sps;
ad->channels = ad->real_channels = channels;
ad->fmt = ad->real_fmt = fmt;
memset(&wfx,0,sizeof(wfx));
wfx.nChannels = channels;
wfx.nSamplesPerSec = sps;
switch (fmt)
{
case CST_AUDIO_LINEAR16:
wfx.wFormatTag = WAVE_FORMAT_PCM;
wfx.wBitsPerSample = 16;
break;
case CST_AUDIO_LINEAR8:
wfx.wFormatTag = WAVE_FORMAT_PCM;
wfx.wBitsPerSample = 8;
break;
default:
cst_errmsg("audio_open_wince: unsupported format %d\n", fmt);
cst_free(ad);
cst_error();
}
wfx.nBlockAlign = wfx.nChannels*wfx.wBitsPerSample/8;
wfx.nAvgBytesPerSec = wfx.nSamplesPerSec*wfx.nBlockAlign;
err = waveOutOpen(
&wo,
WAVE_MAPPER,
&wfx,
(DWORD_PTR)sndbuf_done,
(DWORD_PTR)ad,
CALLBACK_FUNCTION
);
if (err != MMSYSERR_NOERROR)
{
cst_errmsg("Failed to open output device: %x\n", err);
cst_free(ad);
cst_error();
}
pd = cst_alloc(au_wince_pdata,1);
pd->wo = wo;
pd->bevt = CreateEvent(NULL,FALSE,FALSE,NULL);
pd->wevt = CreateEvent(NULL,FALSE,FALSE,NULL);
pd->bcnt = 0;
ad->platform_data = pd;
return ad;
}
示例7: relation_load
int relation_load(cst_relation *r, const char *filename)
{
cst_tokenstream *fd;
cst_item *item;
const char *token=0;
if ((fd = ts_open(filename,NULL,";","","")) == 0)
{
cst_errmsg("relation_load: can't open file \"%s\" for reading\n",
filename);
return CST_ERROR_FORMAT;
}
for ( ; !ts_eof(fd); )
{
token = ts_get(fd);
if (cst_streq("#",token))
break;
}
#import "OpenEarsStaticAnalysisToggle.h"
#ifdef STATICANALYZEDEPENDENCIES
#define __clang_analyzer__ 1
#endif
#if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES)
#undef __clang_analyzer__
if (!cst_streq("#",token))
#endif
{
cst_errmsg("relation_load: no end of header marker in \"%s\"\n",
filename);
ts_close(fd);
return CST_ERROR_FORMAT;
}
while (!ts_eof(fd))
{
token = ts_get(fd);
if (cst_streq(token,""))
continue;
item = relation_append(r,NULL);
item_set_float(item,"end",(float)cst_atof(token));
#import "OpenEarsStaticAnalysisToggle.h"
#ifdef STATICANALYZEDEPENDENCIES
#define __clang_analyzer__ 1
#endif
#if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES)
#undef __clang_analyzer__
token = ts_get(fd);
#endif
token = ts_get(fd);
item_set_string(item,"name",token);
}
ts_close(fd);
return CST_OK_FORMAT;
}
示例8: cst_regsub
size_t cst_regsub(const cst_regstate *state, const char *in, char *out, size_t max)
{
const char *src;
char *dst;
int c, no, len;
size_t count;
if (state == NULL || in == NULL) {
cst_errmsg("NULL parm to regsub\n");
cst_error();
}
src = in;
dst = out;
count = 0;
while ((c = *src++) != '\0') {
if (out && dst + 1 > out + max - 1)
break;
if (c == '&')
no = 0;
else if (c == '\\' && '0' <= *src && *src <= '9')
no = *src++ - '0';
else
no = -1;
if (no < 0) { /* Ordinary character. */
if (c == '\\' && (*src == '\\' || *src == '&'))
c = *src++;
if (out)
*dst++ = c;
count++;
} else if (state->startp[no] != NULL && state->endp[no] != NULL) {
len = state->endp[no] - state->startp[no];
if (out) {
if (dst + len > out + max - 1)
len = (out + max - 1) - dst;
strncpy(dst, state->startp[no], len);
dst += len;
/* strncpy hit NUL. */
if (len != 0 && *(dst-1) == '\0') {
cst_errmsg("damaged match string");
cst_error();
}
}
count += len;
}
}
if (out && dst - out + 1 < max)
*dst++ = '\0';
return count;
}
示例9: HTS_Engine_load
/* HTS_Engine_load: load HTS voices */
HTS_Boolean HTS_Engine_load(HTS_Engine * engine, char **voices)
{
size_t i;
size_t nstream;
const char *option, *find;
float tempfloat;
/* reset engine */
HTS_Engine_clear(engine);
/* load voices */
if (HTS_ModelSet_load(&engine->ms, voices) != TRUE) {
HTS_Engine_clear(engine);
return FALSE;
}
nstream = HTS_ModelSet_get_nstream(&engine->ms);
/* global */
engine->condition.sampling_frequency = HTS_ModelSet_get_sampling_frequency(&engine->ms);
engine->condition.fperiod = HTS_ModelSet_get_fperiod(&engine->ms);
engine->condition.msd_threshold = cst_alloc(double,nstream);
for (i = 0; i < nstream; i++)
engine->condition.msd_threshold[i] = 0.5;
/* spectrum */
option = HTS_ModelSet_get_option(&engine->ms, 0);
find = strstr(option, "GAMMA=");
if (find != NULL) {
cst_errmsg("Non-Zero GAMMA not supported\n");
HTS_Engine_clear(engine);
return FALSE;
}
find = strstr(option, "LN_GAIN=1");
if (find != NULL) {
cst_errmsg("Non-Zero LN_GAIN not supported\n");
HTS_Engine_clear(engine);
return FALSE;
}
find = strstr(option, "ALPHA=");
if (find != NULL) {
if (bell_validate_atof(&find[strlen("ALPHA=")],&tempfloat)) {
engine->condition.alpha = tempfloat;
} else {
cst_errmsg("Voice file option 'ALPHA' is not float, setting to default 0.42\n");
engine->condition.alpha = 0.42;
}
}
return TRUE;
}
示例10: relation_load
int relation_load(cst_relation *r, const char *filename)
{
cst_tokenstream *fd;
cst_item *item;
const char *token=0;
if ((fd = ts_open(filename,NULL,";","","")) == 0)
{
cst_errmsg("relation_load: can't open file \"%s\" for reading\n",
filename);
return CST_ERROR_FORMAT;
}
for ( ; !ts_eof(fd); )
{
token = ts_get(fd);
if (cst_streq("#",token))
break;
}
if (!cst_streq("#",token))
{
cst_errmsg("relation_load: no end of header marker in \"%s\"\n",
filename);
ts_close(fd);
return CST_ERROR_FORMAT;
}
while (!ts_eof(fd))
{
token = ts_get(fd);
if (cst_streq(token,""))
continue;
item = relation_append(r,NULL);
item_set_float(item,"end",(float)cst_atof(token));
token = ts_get(fd);
token = ts_get(fd);
item_set_string(item,"name",token);
}
ts_close(fd);
return CST_OK_FORMAT;
}
示例11: get_param_string
cst_utterance *join_units_simple(cst_utterance *utt)
{
cst_wave *w = 0;
cst_lpcres *lpcres;
const char *resynth_type;
const cst_val *streaming_info_val;
resynth_type = get_param_string(utt->features, "resynth_type", "fixed");
asis_to_pm(utt);
concat_units(utt);
lpcres = val_lpcres(utt_feat_val(utt, "target_lpcres"));
streaming_info_val = get_param_val(utt->features, "streaming_info", NULL);
if (streaming_info_val)
{
lpcres->asi = val_audio_streaming_info(streaming_info_val);
lpcres->asi->utt = utt;
}
if (cst_streq(resynth_type, "fixed"))
w = lpc_resynth_fixedpoint(lpcres);
else
{
cst_errmsg("unknown resynthesis type %s\n", resynth_type);
cst_error(); /* Should not happen */
}
utt_set_wave(utt, w);
return utt;
}
示例12: feat_set
void feat_set(cst_features *f, const char* name, const cst_val *val)
{
cst_featvalpair *n;
n = feat_find_featpair(f,name);
if (val == NULL)
{
cst_errmsg("cst_val: trying to set a NULL val for feature \"%s\"\n",
name);
}
else if (n == NULL)
{ /* first reference to this feature so create new fpair */
cst_featvalpair *p;
p = (cst_featvalpair *)cst_local_alloc(f->ctx, sizeof(*p));
#import "OpenEarsStaticAnalysisToggle.h"
#ifdef STATICANALYZEDEPENDENCIES
#define __clang_analyzer__ 1
#endif
#if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES)
#undef __clang_analyzer__
p->next = f->head;
p->name = name;
p->val = val_inc_refcount(val);
f->head = p;
}
else
{
delete_val(n->val);
n->val = val_inc_refcount(val);
}
#endif
}
示例13: cst_track_save_est_binary
int cst_track_save_est_binary(cst_track *t, const char *filename)
{
cst_file fd;
float foo;
int i, j;
if ((fd = cst_fopen(filename, CST_OPEN_WRITE | CST_OPEN_BINARY)) == NULL)
{
cst_errmsg("cst_track_save_est_binary: can't open file \"%s\"\n",
filename);
return -1;
}
cst_fprintf(fd, "EST_File Track\n");
cst_fprintf(fd, "DataType binary\n");
cst_fprintf(fd, "ByteOrder %s\n",
CST_LITTLE_ENDIAN ? BYTE_ORDER_LITTLE : BYTE_ORDER_BIG);
cst_fprintf(fd, "NumFrames %d\n", t->num_frames);
cst_fprintf(fd, "NumChannels %d\n", t->num_channels);
cst_fprintf(fd, "BreaksPresent true\n");
cst_fprintf(fd, "EST_Header_End\n");
foo = 1.0; /* put a bogus 'breaks' value in for now */
for (i = 0; i < t->num_frames; i++)
{
cst_fwrite(fd, t->times + i, sizeof(float), 1);
cst_fwrite(fd, &foo, sizeof(float), 1);
for (j = 0; j < t->num_channels; j++)
cst_fwrite(fd, &(t->frames[i][j]), sizeof(float), 1);
}
cst_fclose(fd);
return 0;
}
示例14: item_last_daughter
cst_item *item_add_daughter(cst_item *i,cst_item *nd)
{
cst_item *p,*rnd;
p = item_last_daughter(i);
if (p)
rnd=item_append(p,nd);
else
{ /* first new daughter */
if (nd && (nd->relation == i->relation))
{
/* got to delete it first as nd can't be in a relation twice */
cst_errmsg("item_add_daughter: already in relation\n");
return 0;
}
else
rnd = new_item_relation(i->relation,nd);
rnd->u = i;
i->d = rnd;
}
return rnd;
}
示例15: audio_drain_alsa
int audio_drain_alsa(cst_audiodev *ad)
{
int result;
result = snd_pcm_drop((snd_pcm_t *) ad->platform_data);
if (result < 0)
{
cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
}
/* Prepare device for more data */
result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data);
if (result < 0)
{
cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result));
}
return result;
}