gst/librfb/rfbdecoder.c: Add the set encodings client message

Original commit message from CVS:
* gst/librfb/rfbdecoder.c:
Add the set encodings client message
This commit is contained in:
Thijs Vermeir 2007-10-16 19:24:31 +00:00
parent 48b7ba004d
commit dec4ec1f5c
2 changed files with 35 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2007-10-16 Thijs Vermeir <thijsvermeir@gmail.com>
* gst/librfb/rfbdecoder.c:
Add the set encodings client message
2007-10-16 Thijs Vermeir <thijsvermeir@gmail.com> 2007-10-16 Thijs Vermeir <thijsvermeir@gmail.com>
* gst/librfb/Makefile.am: * gst/librfb/Makefile.am:

View file

@ -377,6 +377,33 @@ rfb_decoder_state_security_result (RfbDecoder * decoder)
return TRUE; return TRUE;
} }
/**
* rfb_decoder_state_set_encodings:
* @decoder: The rfb context
*
* Sends the encoding types that the client can decode to the server
*
* Returns: TRUE if initialization was succesfull, FALSE on fail.
*/
static gboolean
rfb_decoder_state_set_encodings (RfbDecoder * decoder)
{
guint8 *buffer = g_malloc0 (8); // 4 + 4 * nr_of_encodings
buffer[0] = 2; // message-type
buffer[3] = 1; // number of encodings
/* RAW encoding (0) */
rfb_decoder_send (decoder, buffer, 8);
g_free (buffer);
decoder->state = rfb_decoder_state_normal;
return TRUE;
}
static gboolean static gboolean
rfb_decoder_state_send_client_initialisation (RfbDecoder * decoder) rfb_decoder_state_send_client_initialisation (RfbDecoder * decoder)
{ {
@ -433,9 +460,6 @@ rfb_decoder_state_wait_for_server_initialisation (RfbDecoder * decoder)
g_free (buffer); g_free (buffer);
GST_DEBUG ("name = %s", decoder->name); GST_DEBUG ("name = %s", decoder->name);
decoder->state = rfb_decoder_state_normal;
decoder->inited = TRUE;
/* check if we need cropping */ /* check if we need cropping */
if (decoder->offset_x > 0) { if (decoder->offset_x > 0) {
@ -467,6 +491,9 @@ rfb_decoder_state_wait_for_server_initialisation (RfbDecoder * decoder)
} }
} }
decoder->state = rfb_decoder_state_set_encodings;
decoder->inited = TRUE;
return TRUE; return TRUE;
} }