mirror of https://github.com/FreeRDP/FreeRDP
libfreerdp-core/fastpath: add surfcmd frame marker.
This commit is contained in:
parent
7731d28787
commit
7b86617729
|
@ -475,7 +475,23 @@ boolean fastpath_send_update_pdu(rdpFastPath* fastpath, STREAM* s)
|
|||
return True;
|
||||
}
|
||||
|
||||
boolean fastpath_send_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND* cmd)
|
||||
boolean fastpath_send_surfcmd_frame_marker(rdpFastPath* fastpath, uint16 frameAction, uint32 frameId)
|
||||
{
|
||||
STREAM* s;
|
||||
s = transport_send_stream_init(fastpath->rdp->transport, 127);
|
||||
stream_write_uint8(s, 0); /* fpOutputHeader (1 byte) */
|
||||
stream_write_uint8(s, 5 + SURFCMD_FRAME_MARKER_LENGTH); /* length1 */
|
||||
stream_write_uint8(s, FASTPATH_UPDATETYPE_SURFCMDS); /* updateHeader (1 byte) */
|
||||
stream_write_uint16(s, SURFCMD_FRAME_MARKER_LENGTH); /* size (2 bytes) */
|
||||
update_write_surfcmd_frame_marker(s, frameAction, frameId);
|
||||
|
||||
if (transport_write(fastpath->rdp->transport, s) < 0)
|
||||
return False;
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
boolean fastpath_send_surfcmd_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND* cmd)
|
||||
{
|
||||
STREAM* s;
|
||||
uint16 size;
|
||||
|
@ -527,6 +543,7 @@ boolean fastpath_send_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND*
|
|||
if (!fastpath_send_update_pdu(fastpath, s))
|
||||
return False;
|
||||
}
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,8 @@ boolean fastpath_send_input_pdu(rdpFastPath* fastpath, STREAM* s);
|
|||
STREAM* fastpath_update_pdu_init(rdpFastPath* fastpath);
|
||||
boolean fastpath_send_update_pdu(rdpFastPath* fastpath, STREAM* s);
|
||||
|
||||
boolean fastpath_send_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND* cmd);
|
||||
boolean fastpath_send_surfcmd_frame_marker(rdpFastPath* fastpath, uint16 frameAction, uint32 frameId);
|
||||
boolean fastpath_send_surfcmd_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND* cmd);
|
||||
|
||||
rdpFastPath* fastpath_new(rdpRdp* rdp);
|
||||
void fastpath_free(rdpFastPath* fastpath);
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include "update.h"
|
||||
#include "bitmap.h"
|
||||
#include "surface.h"
|
||||
|
||||
uint8 UPDATE_TYPE_STRINGS[][32] =
|
||||
{
|
||||
|
@ -229,7 +230,7 @@ static void update_send_surface_bits(rdpUpdate* update, SURFACE_BITS_COMMAND* su
|
|||
{
|
||||
rdpRdp* rdp = (rdpRdp*)update->rdp;
|
||||
|
||||
fastpath_send_surface_bits(rdp->fastpath, surface_bits_command);
|
||||
fastpath_send_surfcmd_surface_bits(rdp->fastpath, surface_bits_command);
|
||||
}
|
||||
|
||||
void update_register_server_callbacks(rdpUpdate* update)
|
||||
|
|
Loading…
Reference in New Issue