Revision: 8486
http://playerstage.svn.sourceforge.net/playerstage/?rev=8486&view=rev
Author: thjc
Date: 2010-01-10 15:24:26 +0000 (Sun, 10 Jan 2010)
Log Message:
-----------
Applied patch 2914674: camera_save_images for JPEG cameras
Modified Paths:
--------------
code/player/trunk/server/drivers/shell/writelog.cc
Modified: code/player/trunk/server/drivers/shell/writelog.cc
===================================================================
--- code/player/trunk/server/drivers/shell/writelog.cc 2010-01-10 15:14:02 UTC
(rev 8485)
+++ code/player/trunk/server/drivers/shell/writelog.cc 2010-01-10 15:24:26 UTC
(rev 8486)
@@ -2621,38 +2621,47 @@
FILE *file;
char filename[1024];
- if (camera_data->compression !=
PLAYER_CAMERA_COMPRESS_RAW)
- {
- PLAYER_WARN("unsupported compression method");
- return -1;
- }
+
+ if (camera_data->compression ==
PLAYER_CAMERA_COMPRESS_RAW) {
+ snprintf(filename, sizeof(filename),
"%s/%s_camera_%02d_%06d.pnm",
+ this->log_directory, this->filestem,
device->addr.index, device->cameraFrame++);
+ } else if (camera_data->compression ==
PLAYER_CAMERA_COMPRESS_JPEG) {
+ snprintf(filename, sizeof(filename),
"%s/%s_camera_%02d_%06d.jpg",
+ this->log_directory, this->filestem,
device->addr.index, device->cameraFrame++);
+ } else {
+ PLAYER_WARN("unsupported compression method");
+ return -1;
+ }
- snprintf(filename, sizeof(filename),
"%s/%s_camera_%02d_%06d.pnm",
- this->log_directory, this->filestem,
device->addr.index, device->cameraFrame++);
+ file = fopen(filename, "w+");
+ if (file == NULL)
+ return -1;
+
+ if (camera_data->compression ==
PLAYER_CAMERA_COMPRESS_RAW) {
+
+ if (camera_data->format ==
PLAYER_CAMERA_FORMAT_RGB888)
+ {
+ // Write ppm header
+ fprintf(file, "P6\n%d %d\n%d\n",
camera_data->width, camera_data->height, 255);
+ fwrite(camera_data->image, 1,
camera_data->image_count, file);
+ }
+ else if (camera_data->format ==
PLAYER_CAMERA_FORMAT_MONO8)
+ {
+ // Write pgm header
+ fprintf(file, "P5\n%d %d\n%d\n",
camera_data->width, camera_data->height, 255);
+ fwrite(camera_data->image, 1,
camera_data->image_count, file);
+ }
+ else
+ {
+ PLAYER_WARN("unsupported image format");
+ }
+
+ } else if (camera_data->compression ==
PLAYER_CAMERA_COMPRESS_JPEG) {
+ fwrite(camera_data->image, 1,
camera_data->image_count, file);
+ }
- file = fopen(filename, "w+");
- if (file == NULL)
- return -1;
-
- if (camera_data->format == PLAYER_CAMERA_FORMAT_RGB888)
- {
- // Write ppm header
- fprintf(file, "P6\n%d %d\n%d\n",
camera_data->width, camera_data->height, 255);
- fwrite(camera_data->image, 1,
camera_data->image_count, file);
- }
- else if (camera_data->format ==
PLAYER_CAMERA_FORMAT_MONO8)
- {
- // Write pgm header
- fprintf(file, "P5\n%d %d\n%d\n",
camera_data->width, camera_data->height, 255);
- fwrite(camera_data->image, 1,
camera_data->image_count, file);
- }
- else
- {
- PLAYER_WARN("unsupported image format");
- }
-
- fclose(file);
- }
+ fclose(file);
+ }
return 0;
default:
return -1;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit