Loading include/camera/CameraParameters.h +16 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,21 @@ namespace android { struct Size { int width; int height; Size() { width = 0; height = 0; } Size(int w, int h) { width = w; height = h; } }; class CameraParameters { public: Loading Loading @@ -49,6 +64,7 @@ public: const char *getPreviewFormat() const; void setPictureSize(int width, int height); void getPictureSize(int *width, int *height) const; void getSupportedPictureSizes(Vector<Size> &sizes) const; void setPictureFormat(const char *format); const char *getPictureFormat() const; Loading libs/camera/CameraParameters.cpp +31 −2 Original line number Diff line number Diff line Loading @@ -269,7 +269,7 @@ void CameraParameters::remove(const char *key) mMap.removeItem(String8(key)); } static int parse_size(const char *str, int &width, int &height) static int parse_size(const char *str, int &width, int &height, char **endptr = NULL) { // Find the width. char *end; Loading @@ -279,11 +279,15 @@ static int parse_size(const char *str, int &width, int &height) return -1; // Find the height, immediately after the 'x'. int h = (int)strtol(end+1, 0, 10); int h = (int)strtol(end+1, &end, 10); width = w; height = h; if (endptr) { *endptr = end; } return 0; } Loading Loading @@ -338,6 +342,31 @@ void CameraParameters::setPictureSize(int width, int height) set(KEY_PICTURE_SIZE, str); } void CameraParameters::getSupportedPictureSizes(Vector<Size> &sizes) const { const char *pictureSizesStr = get(KEY_SUPPORTED_PICTURE_SIZES); if (pictureSizesStr == 0) { return; } char *sizeStartPtr = (char *)pictureSizesStr; while (true) { int width, height; int success = parse_size(sizeStartPtr, width, height, &sizeStartPtr); if (success == -1 || (*sizeStartPtr != ',' && *sizeStartPtr != '\0')) { LOGE("Picture sizes string \"%s\" contains invalid character.", pictureSizesStr); return; } sizes.push(Size(width, height)); if (*sizeStartPtr == '\0') { return; } sizeStartPtr++; } } void CameraParameters::getPictureSize(int *width, int *height) const { *width = -1; Loading Loading
include/camera/CameraParameters.h +16 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,21 @@ namespace android { struct Size { int width; int height; Size() { width = 0; height = 0; } Size(int w, int h) { width = w; height = h; } }; class CameraParameters { public: Loading Loading @@ -49,6 +64,7 @@ public: const char *getPreviewFormat() const; void setPictureSize(int width, int height); void getPictureSize(int *width, int *height) const; void getSupportedPictureSizes(Vector<Size> &sizes) const; void setPictureFormat(const char *format); const char *getPictureFormat() const; Loading
libs/camera/CameraParameters.cpp +31 −2 Original line number Diff line number Diff line Loading @@ -269,7 +269,7 @@ void CameraParameters::remove(const char *key) mMap.removeItem(String8(key)); } static int parse_size(const char *str, int &width, int &height) static int parse_size(const char *str, int &width, int &height, char **endptr = NULL) { // Find the width. char *end; Loading @@ -279,11 +279,15 @@ static int parse_size(const char *str, int &width, int &height) return -1; // Find the height, immediately after the 'x'. int h = (int)strtol(end+1, 0, 10); int h = (int)strtol(end+1, &end, 10); width = w; height = h; if (endptr) { *endptr = end; } return 0; } Loading Loading @@ -338,6 +342,31 @@ void CameraParameters::setPictureSize(int width, int height) set(KEY_PICTURE_SIZE, str); } void CameraParameters::getSupportedPictureSizes(Vector<Size> &sizes) const { const char *pictureSizesStr = get(KEY_SUPPORTED_PICTURE_SIZES); if (pictureSizesStr == 0) { return; } char *sizeStartPtr = (char *)pictureSizesStr; while (true) { int width, height; int success = parse_size(sizeStartPtr, width, height, &sizeStartPtr); if (success == -1 || (*sizeStartPtr != ',' && *sizeStartPtr != '\0')) { LOGE("Picture sizes string \"%s\" contains invalid character.", pictureSizesStr); return; } sizes.push(Size(width, height)); if (*sizeStartPtr == '\0') { return; } sizeStartPtr++; } } void CameraParameters::getPictureSize(int *width, int *height) const { *width = -1; Loading