这篇教程C++ speex_encoder_destroy函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中speex_encoder_destroy函数的典型用法代码示例。如果您正苦于以下问题:C++ speex_encoder_destroy函数的具体用法?C++ speex_encoder_destroy怎么用?C++ speex_encoder_destroy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了speex_encoder_destroy函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: stopvoid Transmitter::setup(int srate, int quality, int abr, int vbr, float vbr_quality, int complexity, int vad, int dtx, int txstop){ if (recording) { recorder->end(); stop(); } SpeexMode *mode = NULL; switch (srate) { case 32000: mode = (SpeexMode *) &speex_uwb_mode; speexmode = DRTA_INFO_MODE_ULTRAWIDE; break; case 16000: mode = (SpeexMode *) &speex_wb_mode; speexmode = DRTA_INFO_MODE_WIDE; break; case 8000: mode = (SpeexMode *) &speex_nb_mode; speexmode = DRTA_INFO_MODE_NARROW; break; } if (state) speex_encoder_destroy(state); state = speex_encoder_init(mode); speex_encoder_ctl(state, SPEEX_SET_SAMPLING_RATE, &srate); speex_encoder_ctl(state, SPEEX_SET_COMPLEXITY, &complexity); if (vbr) { speex_encoder_ctl(state, SPEEX_SET_VBR, &vbr); speex_encoder_ctl(state, SPEEX_SET_VBR_QUALITY, &vbr_quality); } else { speex_encoder_ctl(state, SPEEX_SET_QUALITY, &quality); speex_encoder_ctl(state, SPEEX_SET_VAD, &vad); } if (abr) speex_encoder_ctl(state, SPEEX_SET_ABR, &abr); speex_encoder_ctl(state, SPEEX_SET_DTX, &dtx); speex_encoder_ctl(state, SPEEX_GET_FRAME_SIZE, &frame_size); stoptx = (int) ((srate / frame_size)*txstop); speex_bits_init(&bits); rate = srate; if (recording) { initRecorder(); go(); }}
开发者ID:nightfly19,项目名称:renyang-learn,代码行数:60,
示例2: voice_closevoid voice_close(){ if (voice_fd != -1) { close(voice_fd); voice_fd = -1; }#if HAVE_GSM if (voice_gsm_dec) { gsm_destroy(voice_gsm_dec); voice_gsm_dec = NULL; } if (voice_gsm_enc) { gsm_destroy(voice_gsm_enc); voice_gsm_enc = NULL; }#endif#if HAVE_SPEEX if (voice_speex_enc) { speex_encoder_destroy(voice_speex_enc); voice_speex_enc = NULL; speex_bits_destroy(&speex_enc_bits); } if (voice_speex_dec) { speex_decoder_destroy(voice_speex_dec); voice_speex_dec = NULL; speex_bits_destroy(&speex_dec_bits); }#endif}
开发者ID:canthar,项目名称:libgadu,代码行数:33,
示例3: sb_encoder_destroyvoid sb_encoder_destroy(void *state){ SBEncState *st=(SBEncState*)state; speex_encoder_destroy(st->st_low);#if !(defined(VAR_ARRAYS) || defined (USE_ALLOCA)) /*speex_free_scratch(st->stack);*/#endif speex_free(st->high); speex_free(st->h0_mem); speex_free(st->h1_mem); speex_free(st->old_lsp); speex_free(st->old_qlsp); speex_free(st->interp_qlpc); speex_free(st->pi_gain); speex_free(st->exc_rms); speex_free(st->mem_sp); speex_free(st->mem_sp2); speex_free(st->mem_sw); speex_free(st);}
开发者ID:AstralSerpent,项目名称:QtZ,代码行数:27,
示例4: waitAudioInput::~AudioInput() { bRunning = false; wait(); if (ceEncoder) { cCodec->celt_encoder_destroy(ceEncoder); } else if (esSpeex) { speex_bits_destroy(&sbBits); speex_encoder_destroy(esSpeex); } foreach(short *buf, qlEchoFrames) delete [] buf; if (sppPreprocess) speex_preprocess_state_destroy(sppPreprocess); if (sesEcho) speex_echo_state_destroy(sesEcho); if (srsMic) speex_resampler_destroy(srsMic); if (srsEcho) speex_resampler_destroy(srsEcho); delete [] psMic; delete [] psClean; delete [] psSpeaker; delete [] pfMicInput; delete [] pfEchoInput; delete [] pfOutput;}
开发者ID:ashurta,项目名称:mumble,代码行数:32,
示例5: switch_speex_destroystatic switch_status_t switch_speex_destroy(switch_codec_t *codec){ int encoding, decoding; struct speex_context *context = codec->private_info; if (!context) { return SWITCH_STATUS_FALSE; } encoding = (codec->flags & SWITCH_CODEC_FLAG_ENCODE); decoding = (codec->flags & SWITCH_CODEC_FLAG_DECODE); if (encoding) { speex_bits_destroy(&context->encoder_bits); speex_encoder_destroy(context->encoder_state); } if (decoding) { speex_bits_destroy(&context->decoder_bits); speex_decoder_destroy(context->decoder_state); } codec->private_info = NULL; return SWITCH_STATUS_SUCCESS;}
开发者ID:AbrahamJewowich,项目名称:FreeSWITCH,代码行数:26,
示例6: stopRecordervoid Phone::setup(int mode, int quality, int abr, int vbr, float vbr_quality, int complexity, int vad, int dtx, int txstop, int th, int ring_vol){ bool restart = recording; if (restart) stopRecorder(); if (enc_state) speex_encoder_destroy(enc_state); SpeexMode *spmode = NULL; switch (mode) { case IHU_NARROW: spmode = (SpeexMode *) &speex_nb_mode; break; case IHU_WIDE: spmode = (SpeexMode *) &speex_wb_mode; break; case IHU_ULTRAWIDE: spmode = (SpeexMode *) &speex_uwb_mode; break; } enc_state = speex_encoder_init(spmode); speex_encoder_ctl(enc_state, SPEEX_SET_COMPLEXITY, &complexity); if (vbr) { speex_encoder_ctl(enc_state, SPEEX_SET_VBR, &vbr); speex_encoder_ctl(enc_state, SPEEX_SET_VBR_QUALITY, &vbr_quality); } else { speex_encoder_ctl(enc_state, SPEEX_SET_QUALITY, &quality); speex_encoder_ctl(enc_state, SPEEX_SET_VAD, &vad); } if (abr) speex_encoder_ctl(enc_state, SPEEX_SET_ABR, &abr); speex_encoder_ctl(enc_state, SPEEX_SET_DTX, &dtx); speex_encoder_ctl(enc_state, SPEEX_GET_SAMPLING_RATE, &rate); speex_encoder_ctl(enc_state, SPEEX_GET_FRAME_SIZE, &frame_size); stoptx = txstop; speex_bits_init(&enc_bits); ring_vol = -ring_vol + 1; float vol = 0.0; if (ring_vol <= 0) vol = powf(VOL_FACTOR, (float) (ring_vol)); for (int i=0; i<SIZE_RING_32; i++) ringBuffer[i] = ((float) ring_32[i]) * vol; setThreshold(th); if (restart) startRecorder();}
开发者ID:TylerOderkirk,项目名称:ihu,代码行数:60,
示例7: encode_destructorstatic void encode_destructor(void *arg){ struct auenc_state *st = arg; speex_bits_destroy(&st->bits); speex_encoder_destroy(st->enc);}
开发者ID:FOSSRIT,项目名称:baresip,代码行数:7,
示例8: speex_encoder_initint AudioInput::getMaxBandwidth() { int audiorate; void *es; float f = static_cast<float>(g.s.iQuality); es = speex_encoder_init(speex_lib_get_mode(SPEEX_MODEID_WB)); speex_encoder_ctl(es,SPEEX_SET_VBR_QUALITY, &f); speex_encoder_ctl(es,SPEEX_GET_BITRATE,&audiorate); speex_encoder_destroy(es); audiorate /= 400/g.s.iFramesPerPacket; // Overhead audiorate += 20 + 8 + 4 + 3 + 1 + 2; if (g.s.bTransmitPosition) audiorate += 12; if (NetworkConfig::TcpModeEnabled()) audiorate += 12; audiorate = (audiorate * 50) / g.s.iFramesPerPacket; return audiorate;}
开发者ID:ArminW,项目名称:re-whisper,代码行数:25,
示例9: waitAudioInput::~AudioInput() { bRunning = false; wait(); speex_bits_destroy(&sbBits); speex_encoder_destroy(esEncState); mumble_drft_clear(&fftTable); jitter_buffer_destroy(jb); if (sppPreprocess) speex_preprocess_state_destroy(sppPreprocess); if (sesEcho) speex_echo_state_destroy(sesEcho); if (srsMic) speex_resampler_destroy(srsMic); if (srsEcho) speex_resampler_destroy(srsEcho); delete [] psMic; delete [] psSpeaker; delete [] psClean; if (pfMicInput) delete [] pfMicInput; if (pfEchoInput) delete [] pfEchoInput; if (pfOutput) delete [] pfOutput;}
开发者ID:ArminW,项目名称:re-whisper,代码行数:29,
示例10: tdav_codec_speex_deinitint tdav_codec_speex_deinit(tdav_codec_speex_t* self){ if(self){ if(self->decoder.state){ speex_decoder_destroy(self->decoder.state); self->decoder.state = tsk_null; } speex_bits_destroy(&self->decoder.bits); if(self->decoder.buffer){ TSK_FREE(self->decoder.buffer); self->decoder.size = 0; } if(self->encoder.state){ speex_encoder_destroy(self->encoder.state); self->encoder.state = tsk_null; } speex_bits_destroy(&self->encoder.bits); self->encoder.size = 0; return 0; } else{ TSK_DEBUG_ERROR("Invalid parameter"); return -1; }}
开发者ID:SayCV,项目名称:doubango,代码行数:27,
示例11: mainint main(int argc, char **argv){ char *inFile; FILE *fin; short in[FRAME_SIZE]; float input[FRAME_SIZE]; char cbits[2000]; int nbBytes; /*Holds the state of the encoder*/ void *state; /*Holds bits so they can be read and written to by the Speex routines*/ SpeexBits bits; int i, tmp; /*Create a new encoder state in narrowband mode*/ state = speex_encoder_init(&speex_nb_mode); //printf("inited/n"); /*Set the quality to 8 (15 kbps)*/ tmp=8; speex_encoder_ctl(state, SPEEX_SET_QUALITY, &tmp); inFile = argv[1]; fin = fopen(inFile, "r"); /*Initialization of the structure that holds the bits*/ speex_bits_init(&bits); while (1) { /*Read a 16 bits/sample audio frame*/ fread(in, sizeof(short), FRAME_SIZE, fin); if (feof(fin)) break; /*Copy the 16 bits values to float so Speex can work on them*/ for (i=0;i<FRAME_SIZE;i++) input[i]=in[i]; /*Flush all the bits in the struct so we can encode a new frame*/ speex_bits_reset(&bits); /*Encode the frame*/ speex_encode(state, input, &bits); /*Copy the bits to an array of char that can be written*/ nbBytes = speex_bits_write(&bits, cbits, 2000); /*Write the size of the frame first. This is what sampledec expects but it's likely to be different in your own application*/ fwrite(&nbBytes, sizeof(int), 1, stdout); /*Write the compressed data*/ fwrite(cbits, 1, nbBytes, stdout); } /*Destroy the encoder state*/ speex_encoder_destroy(state); /*Destroy the bit-packing struct*/ speex_bits_destroy(&bits); fclose(fin); return 0;}
开发者ID:kaainet,项目名称:smart_bus_proto,代码行数:59,
示例12: codec_drv_stopstatic void codec_drv_stop(ErlDrvData handle){ codec_data *d = (codec_data *) handle; speex_bits_destroy(&d->bits); speex_encoder_destroy(d->estate); speex_decoder_destroy(d->dstate); driver_free((char*)handle);}
开发者ID:LeoKudrik,项目名称:rtplib,代码行数:8,
示例13: speex_encoder_destroyvoid SpeexEncoder::Close(){ speex_encoder_destroy(st); speex_bits_destroy(&bits); ogg_stream_clear(&os); fclose(fout); closed = true;}
开发者ID:MarcoMedrano,项目名称:speexsharp,代码行数:8,
示例14: FUNCSPEEXJNIEXPORT void JNICALL FUNCSPEEX(releaseEncode)(JNIEnv* env, jobject obj) { speex_bits_destroy(&ebits); if (enc_state != NULL) { speex_encoder_destroy(enc_state); enc_state = NULL; }}
开发者ID:hihua,项目名称:hihuacode,代码行数:8,
示例15: enc_uninitstatic void enc_uninit(MSFilter *f){ SpeexEncState *s=(SpeexEncState*)f->data; if (s==NULL) return; ms_bufferizer_destroy(s->bufferizer); if (s->state!=NULL) speex_encoder_destroy(s->state); ms_free(s);}
开发者ID:TheBaobabTeam,项目名称:linphone-android,代码行数:9,
示例16: speex_encode_closestatic int speex_encode_close(AVCodecContext *avctx){ SpeexContext *s = avctx->priv_data; speex_encoder_destroy(s->st); speex_bits_destroy(&s->bits); return 0;}
开发者ID:paranojik,项目名称:multitv,代码行数:9,
示例17: lintospeex_destroystatic void lintospeex_destroy(struct ast_trans_pvt *arg){ struct speex_coder_pvt *pvt = arg->pvt;#ifdef _SPEEX_TYPES_H if (preproc) speex_preprocess_state_destroy(pvt->pp);#endif speex_encoder_destroy(pvt->speex); speex_bits_destroy(&pvt->bits);}
开发者ID:mtulio,项目名称:mtulio,代码行数:10,
示例18: spx_destroyint spx_destroy(int handle ){ speex_encode_union_t * speex_encode_u = (speex_encode_union_t *)handle; /*Destroy the encoder state*/ speex_encoder_destroy(speex_encode_u->state); /*Destroy the bit-packing struct*/ speex_bits_destroy(&speex_encode_u->bits); free(speex_encode_u);}
开发者ID:chris-magic,项目名称:libspeex-study,代码行数:10,
示例19: speex_bits_destroySpeexEncoder::~SpeexEncoder(void) { /* Stop the audio encoding thread: */ encodingThread.cancel(); encodingThread.join(); /* Release all allocated resources: */ speex_bits_destroy(&speexBits); delete[] recordingBuffer; speex_encoder_destroy(speexState); }
开发者ID:KeckCAVES,项目名称:CollaborationInfrastructure,代码行数:11,
示例20: speex_bits_destroyJNIEXPORT void JNICALL Java_com_speex_encode_Speex_close (JNIEnv *env, jobject obj) { if (--codec_open != 0) return; speex_bits_destroy(&ebits); speex_bits_destroy(&dbits); speex_decoder_destroy(dec_state); speex_encoder_destroy(enc_state); }
开发者ID:xuechinahb,项目名称:langs,代码行数:11,
示例21: Java_com_mogujie_tt_support_audio_Speex_closeextern "C" JNIEXPORT void JNICALL Java_com_mogujie_tt_support_audio_Speex_close( JNIEnv *env, jobject obj) { if (--codec_open != 0) return; speex_bits_destroy(&ebits); speex_bits_destroy(&dbits); speex_decoder_destroy(dec_state); speex_encoder_destroy(enc_state);}
开发者ID:10045125,项目名称:TTAndroidClient,代码行数:11,
示例22: Java_com_haitou_xiaoyoupai_imservice_support_audio_Speex_closeextern "C" JNIEXPORT void JNICALL Java_com_haitou_xiaoyoupai_imservice_support_audio_Speex_close( JNIEnv *env, jobject obj) { if (--codec_open != 0) return; speex_bits_destroy(&ebits); speex_bits_destroy(&dbits); speex_decoder_destroy(dec_state); speex_encoder_destroy(enc_state);}
开发者ID:treejames,项目名称:FreshMAn-Task,代码行数:11,
示例23: speex_encoder_destroyOsStatus MpeSipxSpeexUWb::freeEncode(void){ if (mpEncoderState) { speex_encoder_destroy(mpEncoderState); mpEncoderState = NULL; speex_bits_destroy(&mBits); } return OS_SUCCESS;}
开发者ID:Jaroslav23,项目名称:sipxtapi,代码行数:11,
示例24: freeTransmitter::~Transmitter(void){ if (out) free(out); if (buffer) free(buffer); if (prebuffer) free(prebuffer); if (state) speex_encoder_destroy(state); speex_bits_destroy(&bits);}
开发者ID:nightfly19,项目名称:renyang-learn,代码行数:12,
示例25: throwbool SpeexPlugin::destroyEncoder() throw(OperationNotPerfomedException) { if (!encoder) return false; speex_encoder_destroy(encoder->state); speex_bits_destroy(&encoder->bits); delete encoder; encoder = 0; return true;}
开发者ID:txithihausen,项目名称:streamadapt,代码行数:12,
示例26: destroy_speex_encodervoid destroy_speex_encoder() { if (gEncoderState != NULL) { speex_encoder_destroy(gEncoderState); speex_bits_destroy(&gEncoderBits); gEncoderState = NULL; } if (gPreprocessState) { speex_preprocess_state_destroy(gPreprocessState); gPreprocessState = 0; }}
开发者ID:Aleph-One-Marathon,项目名称:alephone-psp,代码行数:13,
示例27: speex_encoder_destroyvoid RakVoice::FreeChannelMemory(unsigned index, bool removeIndex){ VoiceChannel *channel; channel=voiceChannels[index]; speex_encoder_destroy(channel->enc_state); speex_decoder_destroy(channel->dec_state); speex_preprocess_state_destroy((SpeexPreprocessState*)channel->pre_state); rakFree_Ex(channel->incomingBuffer, __FILE__, __LINE__ ); rakFree_Ex(channel->outgoingBuffer, __FILE__, __LINE__ ); RakNet::OP_DELETE(channel, __FILE__, __LINE__); if (removeIndex) voiceChannels.RemoveAtIndex(index);}
开发者ID:pulkomandy,项目名称:.theRush-,代码行数:13,
示例28: qSpeexDestroyHandlevoid qSpeexDestroyHandle(QSpeexCodecPtr handle){ if (!handle) return; speex_encoder_destroy(handle->encState); speex_decoder_destroy(handle->decState); speex_bits_destroy(&handle->encBits); speex_bits_destroy(&handle->decBits); speex_jitter_destroy(&handle->jitter); free(handle);}
开发者ID:JupiterSmalltalk,项目名称:openqwaq,代码行数:14,
示例29: gst_speex_enc_change_statestatic GstStateChangeReturngst_speex_enc_change_state (GstElement * element, GstStateChange transition){ GstSpeexEnc *enc = GST_SPEEX_ENC (element); GstStateChangeReturn res; switch (transition) { case GST_STATE_CHANGE_NULL_TO_READY: enc->tags = gst_tag_list_new (); break; case GST_STATE_CHANGE_READY_TO_PAUSED: speex_bits_init (&enc->bits); enc->frameno = 0; enc->frameno_out = 0; enc->samples_in = 0; enc->start_ts = GST_CLOCK_TIME_NONE; enc->next_ts = GST_CLOCK_TIME_NONE; enc->granulepos_offset = 0; break; case GST_STATE_CHANGE_PAUSED_TO_PLAYING: /* fall through */ default: break; } res = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); if (res == GST_STATE_CHANGE_FAILURE) return res; switch (transition) { case GST_STATE_CHANGE_PLAYING_TO_PAUSED: break; case GST_STATE_CHANGE_PAUSED_TO_READY: enc->setup = FALSE; enc->header_sent = FALSE; if (enc->state) { speex_encoder_destroy (enc->state); enc->state = NULL; } speex_bits_destroy (&enc->bits); break; case GST_STATE_CHANGE_READY_TO_NULL: gst_tag_list_free (enc->tags); enc->tags = NULL; default: break; } return res;}
开发者ID:zsx,项目名称:ossbuild,代码行数:50,
注:本文中的speex_encoder_destroy函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ speex_encoder_init函数代码示例 C++ speex_encoder_ctl函数代码示例 |