11966N/A--- ./src/gui/main.cpp.ori 2007-11-21 14:55:04.510963000 +0800
11966N/A+++ ./src/gui/main.cpp 2007-11-21 18:59:10.577455000 +0800
11966N/A@@ -2599,6 +2599,7 @@
10430N/A GdkPixbuf *framepixbuf = NULL;
10430N/A GdkPixbuf *nzlsrc_pic = NULL;
10430N/A GdkPixbuf *tmpframe = NULL;
11966N/A+ GdkPixbuf *tmp_pixbuf = NULL;
10430N/A
11966N/A #ifdef HAS_SDL
11966N/A Uint32 rmask, gmask, bmask, amask = 0;
11966N/A@@ -2700,6 +2701,10 @@
10430N/A video_frame_rwidth = video_frame_width;
11966N/A video_frame_rheight = video_frame_height;
10430N/A
10468N/A+ if (video_frame_rwidth == 1 && display_type == BOTH_SIDE) {
10468N/A+ return;
11966N/A+ }
10468N/A+
11966N/A /* Update the display selection in the main and in the video popup menus */
11966N/A gtk_radio_menu_select_with_id (mw->main_menu, "local_video", display_type);
10468N/A
11966N/A@@ -2757,7 +2762,7 @@
10430N/A lf_width * 3,
10430N/A NULL, NULL);
10430N/A
10430N/A- if (!display_both_incrusted)
11966N/A+ if (!display_both_incrusted && !display_both_side)
11966N/A /* scale the local image to the full available space, or,
11966N/A * if BOTH_SIDE: full_space/2 on X axis */
11966N/A zlsrc_pic =
11966N/A@@ -2766,7 +2771,7 @@
10430N/A video_frame_rheight,
10430N/A bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST);
11966N/A
10430N/A- else
11966N/A+ else if (!display_both_side)
11966N/A /* scale the local image to the requested small size
11966N/A * for BOTH_INCRUSTED */
11966N/A zlsrc_pic =
11966N/A@@ -2775,6 +2780,35 @@
11966N/A (int) (video_frame_rheight * incr_lratio),
11966N/A bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST);
10430N/A
11966N/A+ else {
11966N/A+ /* scale the local image to the right part of video frame for BOTH_SIDE */
11966N/A+ tmp_pixbuf =
11966N/A+ gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
11966N/A+ video_frame_rwidth,
11966N/A+ video_frame_rheight);
10430N/A+
11966N/A+ zrsrc_pic =
11966N/A+ gdk_pixbuf_new_subpixbuf (tmp_pixbuf,
11966N/A+ 0, 0,
11966N/A+ video_frame_rwidth / 2,
11966N/A+ video_frame_rheight);
11966N/A+
11966N/A+ zlsrc_pic =
11966N/A+ gdk_pixbuf_new_subpixbuf (tmp_pixbuf,
11966N/A+ video_frame_rwidth / 2, 0,
11966N/A+ video_frame_rwidth / 2,
11966N/A+ video_frame_rheight);
11966N/A+
11966N/A+ gdk_pixbuf_scale (lsrc_pic, zlsrc_pic,
11966N/A+ 0, 0,
11966N/A+ video_frame_rwidth / 2,
11966N/A+ video_frame_rheight,
11966N/A+ 0, 0,
11966N/A+ lzoom, lzoom,
11966N/A+ bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST);
11966N/A+
11966N/A+ }
11966N/A+
11966N/A g_object_unref (lsrc_pic);
10430N/A
11966N/A
11966N/A@@ -2792,11 +2826,21 @@
10430N/A }
11966N/A /* scale the remote image to the full available space, or,
11966N/A * if BOTH_SIDE: full_space/2 on X axis */
11966N/A+ if (!display_both_side)
11966N/A zrsrc_pic =
11966N/A gdk_pixbuf_scale_simple (rsrc_pic,
11966N/A display_both_side?video_frame_rwidth / 2:video_frame_rwidth,
11966N/A video_frame_rheight,
11966N/A bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST);
11966N/A+ else
10430N/A+ gdk_pixbuf_scale (rsrc_pic, zrsrc_pic,
11966N/A+ 0, 0,
11966N/A+ video_frame_rwidth / 2,
11966N/A+ video_frame_rheight,
11966N/A+ 0, 0,
11966N/A+ rzoom, rzoom,
11966N/A+ bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST);
10430N/A+
10430N/A
11966N/A g_object_unref (rsrc_pic);
11966N/A }
11966N/A@@ -2935,25 +2979,6 @@
10430N/A
10430N/A if (zlsrc_pic && zrsrc_pic) {
10430N/A
10430N/A- GdkPixbuf *tmp_pixbuf =
10430N/A- gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
10430N/A- video_frame_rwidth,
10430N/A- video_frame_rheight);
10430N/A-
10430N/A- gdk_pixbuf_copy_area (zrsrc_pic,
10430N/A- 0, 0,
10430N/A- video_frame_rwidth / 2,
10430N/A- video_frame_rheight,
10430N/A- tmp_pixbuf,
10430N/A- 0, 0);
10430N/A-
10430N/A- gdk_pixbuf_copy_area (zlsrc_pic,
10430N/A- 0, 0,
10430N/A- video_frame_rwidth / 2,
10430N/A- video_frame_rheight,
10430N/A- tmp_pixbuf,
10430N/A- video_frame_rwidth / 2, 0);
11966N/A-
10430N/A gtk_image_set_from_pixbuf (GTK_IMAGE (mw->main_video_image),
10430N/A GDK_PIXBUF (tmp_pixbuf));
11966N/A g_object_unref (zrsrc_pic);
11966N/A--- ./ekiga.schemas.in.in.ori 2007-11-21 14:48:47.508280000 +0800
11966N/A+++ ./ekiga.schemas.in.in 2007-11-21 18:48:41.130388000 +0800
10430N/A@@ -173,7 +173,7 @@
10430N/A <owner>Ekiga</owner>
10430N/A <type>list</type>
10430N/A <list_type>string</list_type>
10430N/A- <default>[SpeexWide-20.6k=1,iLBC-13k3=1,GSM-06.10=1,MS-GSM=1,SpeexNarrow-8k=1,G.711-uLaw-64k=1,G.711-ALaw-64k=1]</default>
10430N/A+ <default>[G.711-ulaw-64k=1,SpeexWide-20.6k=0,iLBC-13k3=1,GSM-06.10=1,MS-GSM=1,SpeexNarrow-8k=1,G.711-ALaw-64k=1]</default>
10430N/A <locale name="C">
10430N/A <short>The Audio Codecs List</short>
10430N/A <long>The Audio Codecs List</long>
10430N/A@@ -217,7 +217,7 @@
10430N/A <applyto>/apps/@PACKAGE_NAME@/codecs/audio/enable_echo_cancelation</applyto>
10430N/A <owner>Ekiga</owner>
10430N/A <type>bool</type>
10430N/A- <default>true</default>
10430N/A+ <default>false</default>
10430N/A <locale name="C">
10430N/A <short>Enable echo cancelation</short>
10430N/A <long>If enabled, use echo cancelation</long>