From: Toby C. <th...@us...> - 2007-08-27 07:53:07
|
Update of /cvsroot/playerstage/code/player/server/drivers/camera/compress In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3150/server/drivers/camera/compress Modified Files: camerauncompress.cc Log Message: minor fixes in a couple of camera drivers relating to data size which is calculated in the marshalling code Index: camerauncompress.cc =================================================================== RCS file: /cvsroot/playerstage/code/player/server/drivers/camera/compress/camerauncompress.cc,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** camerauncompress.cc 23 Aug 2007 19:58:43 -0000 1.3 --- camerauncompress.cc 27 Aug 2007 03:53:00 -0000 1.4 *************** *** 203,207 **** if (Message::MatchMessage(hdr, PLAYER_MSGTYPE_DATA, PLAYER_CAMERA_DATA_STATE, camera_id)) { ! assert(hdr->size >= sizeof(player_camera_data_t)); player_camera_data_t * camera_data = reinterpret_cast<player_camera_data_t *> (data); if (camera_data->compression != PLAYER_CAMERA_COMPRESS_JPEG) --- 203,211 ---- if (Message::MatchMessage(hdr, PLAYER_MSGTYPE_DATA, PLAYER_CAMERA_DATA_STATE, camera_id)) { ! if(hdr->size < sizeof(player_camera_data_t)) ! { ! PLAYER_WARN("Not enough camera data recieved"); ! return -1; ! } player_camera_data_t * camera_data = reinterpret_cast<player_camera_data_t *> (data); if (camera_data->compression != PLAYER_CAMERA_COMPRESS_JPEG) *************** *** 243,246 **** --- 247,257 ---- compdata.image_count); + this->data.width = (compdata.width); + this->data.height = (compdata.height); + this->data.image_count = data.width*data.height*3; + this->data.bpp = 24; + this->data.format = PLAYER_CAMERA_FORMAT_RGB888; + this->data.compression = PLAYER_CAMERA_COMPRESS_RAW; + if (this->save) { *************** *** 251,264 **** } ! size = sizeof(this->data) - sizeof(this->data.image) + this->data.image_count; ! ! this->data.width = (compdata.width); ! this->data.height = (compdata.height); ! this->data.image_count = data.width*data.height*3; ! this->data.bpp = 24; ! this->data.format = PLAYER_CAMERA_FORMAT_RGB888; ! this->data.compression = PLAYER_CAMERA_COMPRESS_RAW; ! ! Publish(device_addr, PLAYER_MSGTYPE_DATA, PLAYER_CAMERA_DATA_STATE, (void*) &this->data, size, &this->camera_time); } --- 262,266 ---- } ! Publish(device_addr, PLAYER_MSGTYPE_DATA, PLAYER_CAMERA_DATA_STATE, (void*) &this->data, sizeof(this->data), &this->camera_time); } |