From 80c31033e550df4ed30d1300bc2658f9e182f8cf Mon Sep 17 00:00:00 2001 From: smorlat Date: Fri, 5 Dec 2008 13:56:56 +0000 Subject: [PATCH] allow to disable video preview when video is enabled. git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@196 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- linphone/console/linphonec.c | 5 ++++- linphone/coreapi/linphonecore.c | 4 ---- linphone/gtk-glade/main.c | 2 ++ linphone/mediastreamer2/src/alsa.c | 5 ++--- linphone/mediastreamer2/src/msv4l.c | 3 ++- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/linphone/console/linphonec.c b/linphone/console/linphonec.c index 48f88a3f5..78d59506f 100644 --- a/linphone/console/linphonec.c +++ b/linphone/console/linphonec.c @@ -115,6 +115,7 @@ static bool_t auto_answer=FALSE; static bool_t answer_call=FALSE; static bool_t vcap_enabled=FALSE; static bool_t display_enabled=FALSE; +static bool_t preview_enabled=FALSE; static bool_t show_general_state=FALSE; LPC_AUTH_STACK auth_stack; static int trace_level = 0; @@ -479,7 +480,8 @@ linphonec_init(int argc, char **argv) linphone_core_init (&linphonec, &linphonec_vtable, configfile_name, NULL); linphone_core_enable_video(&linphonec,vcap_enabled,display_enabled); - if (!(vcap_enabled || display_enabled)) printf("Warning: video is disabled in linphonec.\n"); + linphone_core_enable_video_preview(&linphonec,preview_enabled); + if (!(vcap_enabled || display_enabled)) printf("Warning: video is disabled in linphonec, use -V or -C or -D to enable.\n"); #ifdef HAVE_READLINE /* * Initialize readline @@ -860,6 +862,7 @@ linphonec_parse_cmdline(int argc, char **argv) { display_enabled = TRUE; vcap_enabled = TRUE; + preview_enabled=TRUE; } else if ((strncmp ("-v", argv[arg_num], 2) == 0) || diff --git a/linphone/coreapi/linphonecore.c b/linphone/coreapi/linphonecore.c index 88a08e235..5f6bdb294 100644 --- a/linphone/coreapi/linphonecore.c +++ b/linphone/coreapi/linphonecore.c @@ -1978,10 +1978,6 @@ void linphone_core_enable_video(LinphoneCore *lc, bool_t vcap_enabled, bool_t di #endif lc->video_conf.capture=vcap_enabled; lc->video_conf.display=display_enabled; - if (vcap_enabled && display_enabled) - lc->video_conf.show_local=1; - else - lc->video_conf.show_local=0; /* need to re-apply network bandwidth settings*/ linphone_core_set_download_bandwidth(lc, diff --git a/linphone/gtk-glade/main.c b/linphone/gtk-glade/main.c index aa8978218..9ba3cd386 100644 --- a/linphone/gtk-glade/main.c +++ b/linphone/gtk-glade/main.c @@ -373,10 +373,12 @@ void linphone_gtk_accept_call(GtkWidget *button){ void linphone_gtk_set_audio_video(){ linphone_core_enable_video(linphone_gtk_get_core(),TRUE,TRUE); + linphone_core_enable_video_preview(linphone_gtk_get_core(),TRUE); } void linphone_gtk_set_audio_only(){ linphone_core_enable_video(linphone_gtk_get_core(),FALSE,FALSE); + linphone_core_enable_video_preview(linphone_gtk_get_core(),FALSE); } void linphone_gtk_enable_self_view(GtkWidget *w){ diff --git a/linphone/mediastreamer2/src/alsa.c b/linphone/mediastreamer2/src/alsa.c index 3797c1adc..b966f7125 100644 --- a/linphone/mediastreamer2/src/alsa.c +++ b/linphone/mediastreamer2/src/alsa.c @@ -281,13 +281,12 @@ static snd_pcm_t * alsa_open_w(const char *pcmdev,int bits,int stereo,int rate) return pcm_handle; } -static int alsa_can_read(snd_pcm_t *dev, int frames) +static int alsa_can_read(snd_pcm_t *dev) { snd_pcm_sframes_t avail; int err; avail = snd_pcm_avail_update(dev); - ms_debug("*** %s %d %d", __FUNCTION__, (long)avail, frames); if (avail < 0) { ms_error("snd_pcm_avail_update: %s", snd_strerror(avail)); // most probably -EPIPE /* overrun occured, snd_pcm_state() would return SND_PCM_STATE_XRUN @@ -831,7 +830,7 @@ void alsa_read_process(MSFilter *obj){ ad->handle=alsa_open_r(ad->pcmdev,16,ad->nchannels==2,ad->rate); } if (ad->handle==NULL) return; - while (alsa_can_read(ad->handle,samples)>=samples){ + while (alsa_can_read(ad->handle)>=samples){ int size=samples*2; om=allocb(size,0); diff --git a/linphone/mediastreamer2/src/msv4l.c b/linphone/mediastreamer2/src/msv4l.c index c93dfa661..8e0cbdc6a 100644 --- a/linphone/mediastreamer2/src/msv4l.c +++ b/linphone/mediastreamer2/src/msv4l.c @@ -539,7 +539,8 @@ static int v4l_configure(V4lState *s) return -1; } - ms_message("Found %s device. (maxsize=%ix%i)",cap.name, cap.maxwidth, cap.maxheight); + ms_message("Found %s device. (maxsize=%ix%i, minsize=%ix%i)",cap.name, cap.maxwidth, cap.maxheight, + cap.minwidth, cap.minheight); for (i=0;i