1 --- ./src/gui/main.cpp.ori 2007-11-21 14:55:04.510963000 +0800 2 +++ ./src/gui/main.cpp 2007-11-21 18:59:10.577455000 +0800 3 @@ -2599,6 +2599,7 @@ 4 GdkPixbuf *framepixbuf = NULL; 5 GdkPixbuf *nzlsrc_pic = NULL; 6 GdkPixbuf *tmpframe = NULL; 7 + GdkPixbuf *tmp_pixbuf = NULL; 8 9 #ifdef HAS_SDL 10 Uint32 rmask, gmask, bmask, amask = 0; 11 @@ -2700,6 +2701,10 @@ 12 video_frame_rwidth = video_frame_width; 13 video_frame_rheight = video_frame_height; 14 15 + if (video_frame_rwidth == 1 && display_type == BOTH_SIDE) { 16 + return; 17 + } 18 + 19 /* Update the display selection in the main and in the video popup menus */ 20 gtk_radio_menu_select_with_id (mw->main_menu, "local_video", display_type); 21 22 @@ -2757,7 +2762,7 @@ 23 lf_width * 3, 24 NULL, NULL); 25 26 - if (!display_both_incrusted) 27 + if (!display_both_incrusted && !display_both_side) 28 /* scale the local image to the full available space, or, 29 * if BOTH_SIDE: full_space/2 on X axis */ 30 zlsrc_pic = 31 @@ -2766,7 +2771,7 @@ 32 video_frame_rheight, 33 bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST); 34 35 - else 36 + else if (!display_both_side) 37 /* scale the local image to the requested small size 38 * for BOTH_INCRUSTED */ 39 zlsrc_pic = 40 @@ -2775,6 +2780,35 @@ 41 (int) (video_frame_rheight * incr_lratio), 42 bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST); 43 44 + else { 45 + /* scale the local image to the right part of video frame for BOTH_SIDE */ 46 + tmp_pixbuf = 47 + gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 48 + video_frame_rwidth, 49 + video_frame_rheight); 50 + 51 + zrsrc_pic = 52 + gdk_pixbuf_new_subpixbuf (tmp_pixbuf, 53 + 0, 0, 54 + video_frame_rwidth / 2, 55 + video_frame_rheight); 56 + 57 + zlsrc_pic = 58 + gdk_pixbuf_new_subpixbuf (tmp_pixbuf, 59 + video_frame_rwidth / 2, 0, 60 + video_frame_rwidth / 2, 61 + video_frame_rheight); 62 + 63 + gdk_pixbuf_scale (lsrc_pic, zlsrc_pic, 64 + 0, 0, 65 + video_frame_rwidth / 2, 66 + video_frame_rheight, 67 + 0, 0, 68 + lzoom, lzoom, 69 + bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST); 70 + 71 + } 72 + 73 g_object_unref (lsrc_pic); 74 75 76 @@ -2792,11 +2826,21 @@ 77 } 78 /* scale the remote image to the full available space, or, 79 * if BOTH_SIDE: full_space/2 on X axis */ 80 + if (!display_both_side) 81 zrsrc_pic = 82 gdk_pixbuf_scale_simple (rsrc_pic, 83 display_both_side?video_frame_rwidth / 2:video_frame_rwidth, 84 video_frame_rheight, 85 bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST); 86 + else 87 + gdk_pixbuf_scale (rsrc_pic, zrsrc_pic, 88 + 0, 0, 89 + video_frame_rwidth / 2, 90 + video_frame_rheight, 91 + 0, 0, 92 + rzoom, rzoom, 93 + bilinear_filtering?GDK_INTERP_BILINEAR:GDK_INTERP_NEAREST); 94 + 95 96 g_object_unref (rsrc_pic); 97 } 98 @@ -2935,25 +2979,6 @@ 99 100 if (zlsrc_pic && zrsrc_pic) { 101 102 - GdkPixbuf *tmp_pixbuf = 103 - gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 104 - video_frame_rwidth, 105 - video_frame_rheight); 106 - 107 - gdk_pixbuf_copy_area (zrsrc_pic, 108 - 0, 0, 109 - video_frame_rwidth / 2, 110 - video_frame_rheight, 111 - tmp_pixbuf, 112 - 0, 0); 113 - 114 - gdk_pixbuf_copy_area (zlsrc_pic, 115 - 0, 0, 116 - video_frame_rwidth / 2, 117 - video_frame_rheight, 118 - tmp_pixbuf, 119 - video_frame_rwidth / 2, 0); 120 - 121 gtk_image_set_from_pixbuf (GTK_IMAGE (mw->main_video_image), 122 GDK_PIXBUF (tmp_pixbuf)); 123 g_object_unref (zrsrc_pic); 124 --- ./ekiga.schemas.in.in.ori 2007-11-21 14:48:47.508280000 +0800 125 +++ ./ekiga.schemas.in.in 2007-11-21 18:48:41.130388000 +0800 126 @@ -173,7 +173,7 @@ 127 <owner>Ekiga</owner> 128 <type>list</type> 129 <list_type>string</list_type> 130 - <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> 131 + <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> 132 <locale name="C"> 133 <short>The Audio Codecs List</short> 134 <long>The Audio Codecs List</long> 135 @@ -217,7 +217,7 @@ 136 <applyto>/apps/@PACKAGE_NAME@/codecs/audio/enable_echo_cancelation</applyto> 137 <owner>Ekiga</owner> 138 <type>bool</type> 139 - <default>true</default> 140 + <default>false</default> 141 <locale name="C"> 142 <short>Enable echo cancelation</short> 143 <long>If enabled, use echo cancelation</long> 144