client: merging Mac OS X and Windows client improvements from Jay Sorg
authorMarc-André Moreau <marcandre.moreau@gmail.com>
Tue, 31 Jul 2012 20:27:42 +0000 (16:27 -0400)
committerMarc-André Moreau <marcandre.moreau@gmail.com>
Tue, 31 Jul 2012 20:27:42 +0000 (16:27 -0400)
14 files changed:
1  2 
CMakeLists.txt
channels/CMakeLists.txt
channels/rdpsnd/rdpsnd_main.c
client/Windows/wfreerdp.c
client/X11/xf_graphics.c
cmake/ConfigOptions.cmake
config.h.in
freerdp.spec
include/freerdp/settings.h
libfreerdp-cache/offscreen.c
libfreerdp-codec/CMakeLists.txt
libfreerdp-core/capabilities.c
libfreerdp-core/settings.c
libfreerdp-utils/args.c

diff --cc CMakeLists.txt
Simple merge
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
+ add_subdirectory(cliprdr)
 +add_subdirectory(drdynvc)
+ add_subdirectory(rail)
 +add_subdirectory(rdpdbg)
 +add_subdirectory(skel)
 +
  if(NOT WIN32)
 -    add_subdirectory(drdynvc)
 -    add_subdirectory(rdpdbg)
 -    add_subdirectory(rdpdr)
 -    add_subdirectory(rdpsnd)
 +      add_subdirectory(rdpdr)
-       add_subdirectory(cliprdr)
-       add_subdirectory(rail)
 +      add_subdirectory(rdpsnd)
  endif()
 -
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc config.h.in
@@@ -25,7 -25,7 +25,8 @@@
  #cmakedefine WITH_PROFILER
  #cmakedefine WITH_SSE2
  #cmakedefine WITH_NEON
 +#cmakedefine WITH_NATIVE_SSPI
+ #cmakedefine WITH_JPEG
  
  /* Debug */
  #cmakedefine WITH_DEBUG_CERTIFICATE
diff --cc freerdp.spec
Simple merge
Simple merge
Simple merge
@@@ -43,9 -43,12 +43,10 @@@ set(FREERDP_CODEC_SRC
        nsc_encode.h
        nsc_types.h
        mppc_dec.c
-       mppc_enc.c)
+       mppc_enc.c
 -      jpeg.c
 -)
++      jpeg.c)
  
 -if(WITH_SSE2)
 -      set(FREERDP_CODEC_SRCS ${FREERDP_CODEC_SRCS}
 +set(FREERDP_CODEC_SSE2_SRCS
        rfx_sse2.c
        rfx_sse2.h
        nsc_sse2.c
@@@ -1606,16 -1644,24 +1637,31 @@@ void rdp_write_bitmap_codecs_capability
  
  void rdp_read_frame_acknowledge_capability_set(STREAM* s, uint16 length, rdpSettings* settings)
  {
 -      stream_seek_uint32(s); /* (4 bytes) */
 +      if (settings->server_mode)
 +      {
 +              stream_read_uint32(s, settings->frame_acknowledge); /* (4 bytes) */
 +      }
 +      else
 +      {
 +              stream_seek_uint32(s); /* (4 bytes) */
 +      }
  }
  
+ void rdp_read_bitmap_cache_v3_codec_id_capability_set(STREAM* s, uint16 length, rdpSettings* settings)
+ {
+       stream_seek_uint8(s); /* (1 byte) */
+ }
+ void rdp_write_bitmap_cache_v3_codec_id_capability_set(STREAM* s, rdpSettings* settings)
+ {
+       uint8* header;
+       header = rdp_capability_set_start(s);
+       stream_write_uint8(s, settings->v3_codec_id);
+       rdp_capability_set_finish(s, header, 6);
+ }
  /**
   * Write frame acknowledge capability set.\n
   * @param s stream
Simple merge
@@@ -115,8 -91,11 +117,12 @@@ int freerdp_parse_args(rdpSettings* set
                                "  --plugin: load a virtual channel plugin\n"
                                "  --rfx: enable RemoteFX\n"
                                "  --rfx-mode: RemoteFX operational flags (v[ideo], i[mage]), default is video\n"
 +                              "  --frame-ack: number of frames pending to be acknowledged, default is 2 (disable with 0)\n"
                                "  --nsc: enable NSCodec (experimental)\n"
+ #ifdef WITH_JPEG
+                               "  --jpeg: enable jpeg codec, uses 75 quality\n"
+                               "  --jpegex: enable jpeg and set quality(1..99)\n"
+ #endif
                                "  --disable-wallpaper: disables wallpaper\n"
                                "  --composition: enable desktop composition\n"
                                "  --disable-full-window-drag: disables full window drag\n"