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
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to