Added available encoding quality check routine
authorJungYumin <y_m.jung@samsung.com>
Thu, 11 Apr 2013 01:43:38 +0000 (10:43 +0900)
committerJungYumin <y_m.jung@samsung.com>
Thu, 11 Apr 2013 01:43:38 +0000 (10:43 +0900)
Change-Id: I516fedf77bc36b611fa2e1222eb9c299ce4ac950
Signed-off-by: JungYumin <y_m.jung@samsung.com>
src/FMediaImageBuffer.cpp

index 697ad1e..d216051 100644 (file)
@@ -311,6 +311,10 @@ ImageBuffer::EncodeToBufferN(ImageFormat destImageFormat, int quality) const
                (destImageFormat == IMG_FORMAT_JPG) || (destImageFormat == IMG_FORMAT_PNG)),
                null, E_UNSUPPORTED_FORMAT, "[E_UNSUPPORTED_FORMAT] %s = %d",
                "destImageFormat", destImageFormat);
+       SysTryReturn(NID_MEDIA, (quality > 0), null, E_OUT_OF_RANGE,
+               "[E_OUT_OF_RANGE] Quality (%d) should be greater than zero", quality);
+       SysTryReturn(NID_MEDIA, (quality <= 100), null, E_OUT_OF_RANGE,
+               "[E_OUT_OF_RANGE] Quality (%d) should be lesser than 100", quality);
 
        return __pImpl->EncodeToBufferN(destImageFormat, quality);
 }
@@ -321,6 +325,14 @@ ImageBuffer::EncodeToFile(const String &destImagePath, ImageFormat destImageForm
 {
        SysAssertf(__pImpl != null,
                "Not yet constructed. Construct() should be called before use.");
+       SysTryReturn(NID_MEDIA, ((destImageFormat == IMG_FORMAT_BMP) ||
+               (destImageFormat == IMG_FORMAT_JPG) || (destImageFormat == IMG_FORMAT_PNG)),
+               E_UNSUPPORTED_FORMAT, E_UNSUPPORTED_FORMAT, "[E_UNSUPPORTED_FORMAT] %s = %d",
+               "destImageFormat", destImageFormat);
+       SysTryReturn(NID_MEDIA, (quality > 0), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
+               "[E_OUT_OF_RANGE] Quality (%d) should be greater than zero", quality);
+       SysTryReturn(NID_MEDIA, (quality <= 100), E_OUT_OF_RANGE, E_OUT_OF_RANGE,
+               "[E_OUT_OF_RANGE] Quality (%d) should be lesser than 100", quality);
 
        return __pImpl->EncodeToFile(destImagePath, destImageFormat, overwrite, quality);
 }