gst/librfb/gstrfbsrc.c: Minimum raw encoding is working now
authorThijs Vermeir <thijsvermeir@gmail.com>
Fri, 21 Sep 2007 10:27:02 +0000 (10:27 +0000)
committerThijs Vermeir <thijsvermeir@gmail.com>
Fri, 21 Sep 2007 10:27:02 +0000 (10:27 +0000)
Original commit message from CVS:
* gst/librfb/gstrfbsrc.c:
Minimum raw encoding is working now
* gst/librfb/rfbdecoder.c:
fix address while reading from stream

ChangeLog
gst/librfb/gstrfbsrc.c
gst/librfb/rfbdecoder.c

index c2079d8..6f891cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-09-21  Thijs Vermeir  <thijsvermeir@gmail.com>
+
+       * gst/librfb/gstrfbsrc.c:
+               Minimum raw encoding is working now
+       * gst/librfb/rfbdecoder.c:
+               fix address while reading from stream
+
 2007-09-20  Thijs Vermeir  <thijsvermeir@gmail.com>
 
        * gst/librfb/gstrfbsrc.c:
index fc9a843..a432381 100644 (file)
@@ -40,10 +40,6 @@ enum
   ARG_PASSWORD,
 };
 
-#define RGB332_R(x)  ((((x)&0x07) * 0x124)>>3)
-#define RGB332_G(x)  ((((x)&0x38) * 0x124)>>6)
-#define RGB332_B(x)  ((((x)&0xc0) * 0x149)>>8)
-
 GST_DEBUG_CATEGORY_STATIC (rfbsrc_debug);
 #define GST_CAT_DEFAULT rfbsrc_debug
 
@@ -67,7 +63,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
         "green_mask = (int) 0x00ff0000, "
         "blue_mask = (int) 0xff000000, "
         "width = (int) [ 16, 4096 ], "
-        "height = (int) [ 16, 4096 ], " "framerate = (fraction) 30/1")
+        "height = (int) [ 16, 4096 ], " "framerate = (fraction) 0/1")
     );
 
 static void gst_rfb_src_base_init (gpointer g_class);
index 8c398be..3d150db 100644 (file)
@@ -148,10 +148,10 @@ rfb_decoder_iterate (RfbDecoder * decoder)
 }
 
 guint8 *
-rfb_decoder_read (RfbDecoder * decoder, gint len)
+rfb_decoder_read (RfbDecoder * decoder, guint32 len)
 {
-  gint total = 0;
-  gint now = 0;
+  guint32 total = 0;
+  guint32 now = 0;
   guint8 *address = NULL;
 
   g_return_val_if_fail (decoder->fd > 0, NULL);
@@ -160,9 +160,8 @@ rfb_decoder_read (RfbDecoder * decoder, gint len)
   address = g_malloc (len);
   g_return_val_if_fail (address, NULL);
 
-  address += total;
   while (total < len) {
-    now = recv (decoder->fd, address, len - total, 0);
+    now = recv (decoder->fd, address + total, len - total, 0);
     if (now <= 0) {
       GST_WARNING ("rfb read error on socket");
       return NULL;