xrdpvr: added volume message
This commit is contained in:
parent
fad70062d6
commit
50db19c88c
@ -750,3 +750,38 @@ xrdpvr_write_to_client(void *channel, STREAM *s)
|
||||
usleep(1000 * 3);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* write set volume to a xrdpvr client
|
||||
*
|
||||
* @param channel opaque handle returned by WTSVirtualChannelOpenEx
|
||||
* @param volume volume 0x0000 to 0xffff
|
||||
*
|
||||
* @return 0 on success, -1 on failure
|
||||
******************************************************************************/
|
||||
int
|
||||
send_volume(void *channel, int volume)
|
||||
{
|
||||
STREAM *s;
|
||||
char *cptr;
|
||||
int rv;
|
||||
int len;
|
||||
|
||||
stream_new(s, MAX_BUFSIZE);
|
||||
|
||||
stream_ins_u32_le(s, 0); /* number of bytes to follow */
|
||||
stream_ins_u32_le(s, CMD_SET_VOLUME);
|
||||
stream_ins_u32_le(s, volume);
|
||||
|
||||
/* insert number of bytes in stream */
|
||||
len = stream_length(s) - 4;
|
||||
cptr = s->p;
|
||||
s->p = s->data;
|
||||
stream_ins_u32_le(s, len);
|
||||
s->p = cptr;
|
||||
|
||||
/* write data to virtual channel */
|
||||
rv = xrdpvr_write_to_client(channel, s);
|
||||
stream_free(s);
|
||||
return rv;
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ int xrdpvr_seek_media(int64_t pos, int backward);
|
||||
int xrdpvr_get_frame(void **av_pkt_ret, int *is_video_frame, int *delay_in_us);
|
||||
int send_audio_pkt(void *channel, int stream_id, void *pkt_p);
|
||||
int send_video_pkt(void *channel, int stream_id, void *pkt_p);
|
||||
int send_volume(void *channel, int volume);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -61,6 +61,7 @@
|
||||
#define CMD_WRITE_META_DATA 7
|
||||
#define CMD_DEINIT_XRDPVR 8
|
||||
#define CMD_SET_GEOMETRY 9
|
||||
#define CMD_SET_VOLUME 10
|
||||
|
||||
/* max number of bytes we can send in one pkt */
|
||||
#define MAX_PDU_SIZE 1600
|
||||
|
Loading…
Reference in New Issue
Block a user