am eba12749: Merge "Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE" into gingerbread

Merge commit 'eba1274978911ea188eead128645299669d02f60' into gingerbread-plus-aosp

* commit 'eba1274978911ea188eead128645299669d02f60':
  Adding getSupportedPreviewSizes to CameraParameters.DO NOT MERGE
This commit is contained in:
Wu-cheng Li
2010-08-19 11:10:44 -07:00
committed by Android Git Automerger
2 changed files with 37 additions and 25 deletions

View File

@@ -58,6 +58,7 @@ public:
void setPreviewSize(int width, int height); void setPreviewSize(int width, int height);
void getPreviewSize(int *width, int *height) const; void getPreviewSize(int *width, int *height) const;
void getSupportedPreviewSizes(Vector<Size> &sizes) const;
void setPreviewFrameRate(int fps); void setPreviewFrameRate(int fps);
int getPreviewFrameRate() const; int getPreviewFrameRate() const;
void setPreviewFormat(const char *format); void setPreviewFormat(const char *format);

View File

@@ -291,6 +291,30 @@ static int parse_size(const char *str, int &width, int &height, char **endptr =
return 0; return 0;
} }
static void parseSizesList(const char *sizesStr, Vector<Size> &sizes)
{
if (sizesStr == 0) {
return;
}
char *sizeStartPtr = (char *)sizesStr;
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.", sizesStr);
return;
}
sizes.push(Size(width, height));
if (*sizeStartPtr == '\0') {
return;
}
sizeStartPtr++;
}
}
void CameraParameters::setPreviewSize(int width, int height) void CameraParameters::setPreviewSize(int width, int height)
{ {
char str[32]; char str[32];
@@ -315,6 +339,12 @@ void CameraParameters::getPreviewSize(int *width, int *height) const
} }
} }
void CameraParameters::getSupportedPreviewSizes(Vector<Size> &sizes) const
{
const char *previewSizesStr = get(KEY_SUPPORTED_PREVIEW_SIZES);
parseSizesList(previewSizesStr, sizes);
}
void CameraParameters::setPreviewFrameRate(int fps) void CameraParameters::setPreviewFrameRate(int fps)
{ {
set(KEY_PREVIEW_FRAME_RATE, fps); set(KEY_PREVIEW_FRAME_RATE, fps);
@@ -342,31 +372,6 @@ void CameraParameters::setPictureSize(int width, int height)
set(KEY_PICTURE_SIZE, str); 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 void CameraParameters::getPictureSize(int *width, int *height) const
{ {
*width = -1; *width = -1;
@@ -384,6 +389,12 @@ void CameraParameters::getPictureSize(int *width, int *height) const
} }
} }
void CameraParameters::getSupportedPictureSizes(Vector<Size> &sizes) const
{
const char *pictureSizesStr = get(KEY_SUPPORTED_PICTURE_SIZES);
parseSizesList(pictureSizesStr, sizes);
}
void CameraParameters::setPictureFormat(const char *format) void CameraParameters::setPictureFormat(const char *format)
{ {
set(KEY_PICTURE_FORMAT, format); set(KEY_PICTURE_FORMAT, format);