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