30 |
#define RDPSND_SET_VOLUME 3 |
#define RDPSND_SET_VOLUME 3 |
31 |
#define RDPSND_UNKNOWN4 4 |
#define RDPSND_UNKNOWN4 4 |
32 |
#define RDPSND_COMPLETION 5 |
#define RDPSND_COMPLETION 5 |
33 |
#define RDPSND_SERVERTICK 6 |
#define RDPSND_PING 6 |
34 |
#define RDPSND_NEGOTIATE 7 |
#define RDPSND_NEGOTIATE 7 |
35 |
|
|
36 |
#define MAX_FORMATS 10 |
#define MAX_FORMATS 10 |
176 |
} |
} |
177 |
|
|
178 |
static void |
static void |
179 |
rdpsnd_process_servertick(STREAM in) |
rdpsnd_process_ping(STREAM in) |
180 |
{ |
{ |
181 |
uint16 tick1, tick2; |
uint16 tick; |
182 |
STREAM out; |
STREAM out; |
183 |
|
|
184 |
/* in_uint8s(in, 4); unknown */ |
in_uint16_le(in, tick); |
185 |
in_uint16_le(in, tick1); |
|
186 |
in_uint16_le(in, tick2); |
out = rdpsnd_init_packet(RDPSND_PING | 0x2300, 4); |
187 |
|
out_uint16_le(out, tick); |
188 |
out = rdpsnd_init_packet(RDPSND_SERVERTICK | 0x2300, 4); |
out_uint16_le(out, 0); |
|
out_uint16_le(out, tick1); |
|
|
out_uint16_le(out, tick2); |
|
189 |
s_mark_end(out); |
s_mark_end(out); |
190 |
rdpsnd_send(out); |
rdpsnd_send(out); |
191 |
} |
} |
263 |
case RDPSND_NEGOTIATE: |
case RDPSND_NEGOTIATE: |
264 |
rdpsnd_process_negotiate(s); |
rdpsnd_process_negotiate(s); |
265 |
break; |
break; |
266 |
case RDPSND_SERVERTICK: |
case RDPSND_PING: |
267 |
rdpsnd_process_servertick(s); |
rdpsnd_process_ping(s); |
268 |
break; |
break; |
269 |
case RDPSND_SET_VOLUME: |
case RDPSND_SET_VOLUME: |
270 |
in_uint32(s, volume); |
in_uint32(s, volume); |