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;
|
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;
|
STREAM* s;
|
||||||
uint16 size;
|
uint16 size;
|
||||||
|
@ -527,6 +543,7 @@ boolean fastpath_send_surface_bits(rdpFastPath* fastpath, SURFACE_BITS_COMMAND*
|
||||||
if (!fastpath_send_update_pdu(fastpath, s))
|
if (!fastpath_send_update_pdu(fastpath, s))
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,8 @@ boolean fastpath_send_input_pdu(rdpFastPath* fastpath, STREAM* s);
|
||||||
STREAM* fastpath_update_pdu_init(rdpFastPath* fastpath);
|
STREAM* fastpath_update_pdu_init(rdpFastPath* fastpath);
|
||||||
boolean fastpath_send_update_pdu(rdpFastPath* fastpath, STREAM* s);
|
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);
|
rdpFastPath* fastpath_new(rdpRdp* rdp);
|
||||||
void fastpath_free(rdpFastPath* fastpath);
|
void fastpath_free(rdpFastPath* fastpath);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#include "update.h"
|
#include "update.h"
|
||||||
#include "bitmap.h"
|
#include "bitmap.h"
|
||||||
|
#include "surface.h"
|
||||||
|
|
||||||
uint8 UPDATE_TYPE_STRINGS[][32] =
|
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;
|
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)
|
void update_register_server_callbacks(rdpUpdate* update)
|
||||||
|
|
Loading…
Reference in New Issue