- fix bug with speex ec

- videoout compilation errors fixed
- allow vga for mpeg4


git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@156 3f6dc0c8-ddfe-455d-9043-3cd528dc4637
This commit is contained in:
smorlat 2008-11-03 22:00:14 +00:00
parent 0e03d5f186
commit a74fdeaee2
4 changed files with 60 additions and 58 deletions

View file

@ -49,7 +49,7 @@ ResourceIncludes=
MakeIncludes= MakeIncludes=
Compiler=-DBUILDING_DLL=1_@@_-DORTP_INET6_@@_-DHAVE_LIBAVCODEC_AVCODEC_H_@@_-DHACKED_X264_@@_ Compiler=-DBUILDING_DLL=1_@@_-DORTP_INET6_@@_-DHAVE_LIBAVCODEC_AVCODEC_H_@@_-DHACKED_X264_@@_
CppCompiler=-DBUILDING_DLL=1_@@_ CppCompiler=-DBUILDING_DLL=1_@@_
Linker=-no-undefined_@@_--enable-runtime-pseudo-reloc_@@_-lx264_@@_-lmediastreamer2_@@_-lortp_@@_-lavcodec_@@_ Linker=-no-undefined_@@_--enable-runtime-pseudo-reloc_@@_-lx264_@@_-lmediastreamer2_@@_-lortp_@@_-lavcodec_@@_-lswscale_@@_
PreprocDefines= PreprocDefines=
CompilerSettings=0000000001001000000000 CompilerSettings=0000000001001000000000
Icon= Icon=

View file

@ -97,8 +97,7 @@ static void speex_ec_process(MSFilter *f){
mblk_t *m; mblk_t *m;
mblk_t *md; mblk_t *md;
if (s->size_delay<s->playback_delay) if (s->size_delay<s->playback_delay){
{
while((m=ms_queue_get(f->inputs[0]))!=NULL while((m=ms_queue_get(f->inputs[0]))!=NULL
&& s->size_delay<s->playback_delay){ && s->size_delay<s->playback_delay){
// Duplicate queue : one to write to the output speaker, the other will be delayed for AEC // Duplicate queue : one to write to the output speaker, the other will be delayed for AEC
@ -107,7 +106,6 @@ static void speex_ec_process(MSFilter *f){
s->size_delay = s->size_delay + size; s->size_delay = s->size_delay + size;
ms_queue_put(f->outputs[0],md); ms_queue_put(f->outputs[0],md);
ms_bufferizer_put(&s->in[0],m); ms_bufferizer_put(&s->in[0],m);
} }
while((m=ms_queue_get(f->inputs[1]))!=NULL){ while((m=ms_queue_get(f->inputs[1]))!=NULL){
@ -273,7 +271,6 @@ static int speex_ec_set_playbackdelay(MSFilter *f, void *arg){
ms_bufferizer_init(&s->speak_delay); ms_bufferizer_init(&s->speak_delay);
s->size_delay=0; s->size_delay=0;
speex_echo_state_reset(s->ecstate); speex_echo_state_reset(s->ecstate);
return 0; return 0;
} }
@ -314,6 +311,7 @@ MSFilterDesc ms_speex_ec_desc={
.noutputs=2, .noutputs=2,
.init=speex_ec_init, .init=speex_ec_init,
.process=speex_ec_process, .process=speex_ec_process,
.postprocess=speex_ec_postprocess,
.uninit=speex_ec_uninit, .uninit=speex_ec_uninit,
.methods=speex_ec_methods .methods=speex_ec_methods
}; };

View file

@ -518,6 +518,10 @@ static int enc_set_br(MSFilter *f, void *arg){
s->vsize.width = MS_VIDEO_SIZE_4CIF_W; s->vsize.width = MS_VIDEO_SIZE_4CIF_W;
s->vsize.height = MS_VIDEO_SIZE_4CIF_H; s->vsize.height = MS_VIDEO_SIZE_4CIF_H;
s->fps=17; s->fps=17;
}else if (s->maxbr>=800000 && s->codec!=CODEC_ID_H263P){
s->vsize.width = MS_VIDEO_SIZE_VGA_W;
s->vsize.height = MS_VIDEO_SIZE_VGA_H;
s->fps=17;
}else if (s->maxbr>=512000){ }else if (s->maxbr>=512000){
s->vsize.width=MS_VIDEO_SIZE_CIF_W; s->vsize.width=MS_VIDEO_SIZE_CIF_W;
s->vsize.height=MS_VIDEO_SIZE_CIF_H; s->vsize.height=MS_VIDEO_SIZE_CIF_H;

View file

@ -398,7 +398,7 @@ static void win_display_update(MSDisplay *obj){
ms_error("Could not get window dc"); ms_error("Could not get window dc");
return; return;
} }
yuv420p_to_rgb(&wd->fb, wd->rgb); yuv420p_to_rgb(wd, &wd->fb, wd->rgb);
memset(&bi,0,sizeof(bi)); memset(&bi,0,sizeof(bi));
bi.biSize=sizeof(bi); bi.biSize=sizeof(bi);
GetClientRect(wd->window,&rect); GetClientRect(wd->window,&rect);