#include <mm_util_anim.h>
#include <mm_util_image.h>
#include <mm_util_magick.h>
+#include <mm_util_private.h>
#include <tzplatform_config.h>
#define TEST_STRING_VALID(str) ((str != NULL && strlen(str) > 0) ? TRUE : FALSE)
/* for encoding webp to memory */
unsigned char *encoded_data = NULL;
size_t encoded_size = 0;
- GError *g_error = NULL;
fprintf(stderr, "[ANIM_testsuite] The test begins: %d, %s\n", type, path);
goto END;
}
- if (!g_file_set_contents(path, (gchar *)encoded_data, (gssize)encoded_size, &g_error)) {
- fprintf(stderr, "\t[ANIM_testsuite] g_file_set_contents failed : %s\n", g_error ? g_error->message : "none");
- g_error_free(g_error);
- }
+ ret = mm_util_file_write(path, encoded_data, encoded_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ printf("Fail mm_util_file_write [%d]\n", ret);
END:
mm_util_anim_enc_destroy(anim_enc);
gboolean mm_util_is_valid_color_format(mm_util_color_format_e color);
+// for using fp like jpeg
int mm_util_safe_fopen(const char *path, const char *mode, FILE **fp);
-int mm_util_safe_fwrite(FILE *fp, const void *data, size_t length);
void mm_util_safe_fclose(FILE *fp);
+// for others
+int mm_util_file_read(const char *path, void **data, size_t *size);
+int mm_util_file_write(const char *path, void *data, size_t size);
+
#ifdef __cplusplus
}
#endif
char *_realpath = NULL;
/* The input path was wrong, it returned no such file. */
- mm_util_retvm_if((!MMUTIL_STRING_VALID(path)), MM_UTIL_ERROR_NO_SUCH_FILE, "invalid path");
- mm_util_retvm_if((!MMUTIL_STRING_VALID(mode)), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid mode");
- mm_util_retvm_if((fp == NULL), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid FILE*");
+ mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_NO_SUCH_FILE, "invalid path %s", path);
+ mm_util_retvm_if(!MMUTIL_STRING_VALID(mode), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid mode %s", mode);
+ mm_util_retvm_if(!fp, MM_UTIL_ERROR_INVALID_PARAMETER, "fp is null");
/*
* If the mode has writing mode('w', 'w+', 'r+', 'a', 'a+'),
return MM_UTIL_ERROR_NONE;
}
-int mm_util_safe_fwrite(FILE *fp, const void *data, size_t length)
+void mm_util_safe_fclose(FILE *fp)
{
- size_t len = 0;
+ if (fp)
+ fclose(fp);
+}
- /* The input path was wrong, it returned no such file. */
- mm_util_retvm_if((!fp), MM_UTIL_ERROR_NO_SUCH_FILE, "invalid fp");
- mm_util_retvm_if((!data || length == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid data");
+int mm_util_file_read(const char *path, void **data, size_t *size)
+{
+ gsize read_n = 0;
+ gchar *read_data = NULL;
+ GError *error = NULL;
+
+ mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path %s", path);
+ mm_util_retvm_if(!data, MM_UTIL_ERROR_INVALID_PARAMETER, "data is null");
+ mm_util_retvm_if(!size, MM_UTIL_ERROR_INVALID_PARAMETER, "data_size is null");
+
+ mm_util_fenter();
+
+ if (!g_file_get_contents(path, &read_data, &read_n, &error)) {
+ mm_util_error("g_file_get_contents error(%s: %s)", path, (error ? error->message : "none"));
+ if (error)
+ g_error_free(error);
+ return MM_UTIL_ERROR_INVALID_PARAMETER;
+ }
+
+ *data = read_data;
+ *size = read_n;
- len = fwrite(data, 1, length, fp);
- mm_util_retvm_if(len != length, MM_UTIL_ERROR_INVALID_OPERATION, "fwrite failed");
+ mm_util_fleave();
return MM_UTIL_ERROR_NONE;
}
-void mm_util_safe_fclose(FILE *fp)
+int mm_util_file_write(const char *path, void *data, size_t size)
{
- if (fp)
- fclose(fp);
+ GError *error = NULL;
+
+ mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path %s", path);
+ mm_util_retvm_if(!data, MM_UTIL_ERROR_INVALID_PARAMETER, "data is null");
+ mm_util_retvm_if(size == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "size is 0");
+
+ mm_util_fenter();
+
+ if (!g_file_set_contents(path, (const gchar *)data, (gssize)size, &error)) {
+ mm_util_error("g_file_set_contents error(%s: %s)", path, (error ? error->message : "none"));
+ if (error)
+ g_error_free(error);
+ return MM_UTIL_ERROR_INVALID_PARAMETER;
+ }
+
+ mm_util_fleave();
+
+ return MM_UTIL_ERROR_NONE;
}
+
static int __write_gif_to_file(gif_file_s *handle, const char *path)
{
- int ret = MM_UTIL_ERROR_NONE;
- FILE *fp = NULL;
-
mm_util_retvm_if(!handle, MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid handle");
- mm_util_retvm_if((!handle->io_buf.buf || handle->io_buf.buf_size == 0), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid io_buf");
- mm_util_retvm_if(!MMUTIL_STRING_VALID(path), MM_UTIL_ERROR_INVALID_PARAMETER, "Invalid path");
-
- ret = mm_util_safe_fopen(path, "wb", &fp);
- mm_util_retvm_if(ret != MM_UTIL_ERROR_NONE, ret, "mm_util_safe_fopen fail (%d)", ret);
- ret = mm_util_safe_fwrite(fp, handle->io_buf.buf, handle->io_buf.buf_size);
- if (ret != MM_UTIL_ERROR_NONE)
- mm_util_error("mm_util_safe_fwrite fail (%d)", ret);
-
- mm_util_safe_fclose(fp);
-
- return ret;
+ return mm_util_file_write(path, handle->io_buf.buf, handle->io_buf.buf_size);
}
static int __write_gif_to_buffer(gif_file_s *handle, void **buffer, size_t *buffer_size)
#include <limits.h>
#include <mm_util_gif.h>
#include <mm_util_image.h>
+#include <mm_util_private.h>
#include <tzplatform_config.h>
#define SAFE_FREE(x) { if (x != NULL) { free(x); x = NULL; } }
static mm_util_image_h g_decoded_data = NULL;
-static gboolean _read_file(char *path, void **data, size_t *length)
-{
- FILE *fp = NULL;
- long len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[GIF_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[GIF_testsuite] %s read\n", path);
-
- fp = fopen(path, "r");
- if (fp == NULL) {
- fprintf(stderr, "\t[GIF_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- if (fseek(fp, 0, SEEK_END) < 0) {
- fprintf(stderr, "\t[GIF_testsuite] fseek failed \n");
- fclose(fp);
- return FALSE;
- }
-
- len = ftell(fp);
- if (len < 0) {
- fprintf(stderr, "\t[GIF_testsuite] ftell failed \n");
- fclose(fp);
- return FALSE;
- }
-
- rewind(fp);
- *data = g_malloc0(len);
- *length = fread(*data, 1, (size_t)len, fp);
- if (*length != len) {
- fprintf(stderr, "\t[GIF_testsuite] fread failed \n");
- }
-
- fclose(fp);
-
- *length = (size_t)len;
-
- fprintf(stderr, "\t[GIF_testsuite] %s %zu read DONE\n", path, *length);
-
- return TRUE;
-}
-
-static gboolean _write_file(const char *path, void *data, size_t length)
-{
- FILE *fp = NULL;
- size_t len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[GIF_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[GIF_testsuite] %s %p %zu write\n", path, data, length);
-
- fp = fopen(path, "w");
- if (fp == NULL) {
- fprintf(stderr, "\t[GIF_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- len = fwrite(data, 1, length, fp);
- if (len != length) {
- fprintf(stderr, "\t[GIF_testsuite] fwrite failed \n");
- }
-
- fclose(fp);
- fp = NULL;
-
- fprintf(stderr, "\t[GIF_testsuite] %s write DONE\n", path);
-
- return TRUE;
-}
-
gboolean _get_input_data(const char *argv, const long min, const long max, int *data)
{
if (argv == NULL || strlen(argv) == 0)
fprintf(stderr, "\t[GIF_testsuite] mm_image_get_image failed %d\n", ret);
return FALSE;
}
- if (FALSE == _write_file(DECODE_FILE_PATH, data, size)) {
- fprintf(stderr, "\t[GIF_testsuite] writing decoded data failed : %s\n", DECODE_FILE_PATH);
+ ret = mm_util_file_write(DECODE_FILE_PATH, data, size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[GIF_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(data);
return FALSE;
}
SAFE_FREE(data);
} else if (mode == TEST_DECODE_MEMORY) {
- if (FALSE == _read_file(g_path, &g_readed_data, &g_readed_size)) {
- fprintf(stderr, "\t[GIF_testsuite] reading file error\n");
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[GIF_testsuite] mm_util_file_read failed %d\n", ret);
return FALSE;
}
fprintf(stderr, "\t[GIF_testsuite] mm_image_get_image failed %d\n", ret);
return FALSE;
}
- if (FALSE == _write_file(DECODE_MEM_PATH, data, size)) {
- fprintf(stderr, "\t[GIF_testsuite] writing decoded data failed : %s\n", DECODE_MEM_PATH);
+ ret = mm_util_file_write(DECODE_MEM_PATH, data, size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[GIF_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(data);
return FALSE;
}
if ((mode != TEST_ENCODE_FILE) && (mode != TEST_ENCODE_MEMORY))
return TRUE;
- if (FALSE == _read_file(g_path, &g_readed_data, &g_readed_size)) {
- fprintf(stderr, "\t[GIF_testsuite] reading file error\n");
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[GIF_testsuite] mm_util_file_read failed %d\n", ret);
return FALSE;
}
+
ret = mm_image_create_image(g_width, g_height, MM_UTIL_COLOR_RGBA, (unsigned char *)g_readed_data, g_readed_size, &g_decoded_data);
if (ret != MM_UTIL_ERROR_NONE) {
fprintf(stderr, "\t[GIF_testsuite] mm_image_create_image failed : %d\n", ret);
SAFE_FREE(encoded_data);
return FALSE;
}
- if (FALSE == _write_file(ENCODE_MEM_PATH, encoded_data, encoded_size)) {
- fprintf(stderr, "\t[GIF_testsuite] writing decoded data failed : %s\n", ENCODE_MEM_PATH);
+
+ ret = mm_util_file_write(ENCODE_MEM_PATH, encoded_data, encoded_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[GIF_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(encoded_data);
return FALSE;
}
#include <mm_util_heif.h>
#include <mm_util_image.h>
#include <mm_util_jpeg.h>
+#include <mm_util_private.h>
#define SAFE_FREE(x) { g_free(x); x = NULL; }
#define SAFE_IMAGE_FREE(x) { if (x != NULL) { mm_image_destroy_image(x); x = NULL; } }
static int g_color = MM_UTIL_COLOR_RGB24;
/* for reading file */
-static gchar *g_readed_data = NULL;
+static void *g_readed_data = NULL;
static gsize g_readed_size = 0;
/* for saving result */
static gboolean __test_decode(const heif_test_mode_e mode, mm_util_color_format_e color, const char *path)
{
int ret = 0;
- GError *error = NULL;
if (!path) {
g_print("\t[HEIF_testsuite] No-Error\n");
return FALSE;
}
} else if (mode == TEST_DECODE_BUFFER) {
- if (!g_file_get_contents(g_path, &g_readed_data, &g_readed_size, &error)) {
- g_print("\t[HEIF_testsuite] reading file error(%s)\n", (error ? error->message : "none"));
- g_error_free(error);
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ g_print("\t[HEIF_testsuite] mm_util_file_read failed %d\n", ret);
return FALSE;
}
#include <errno.h>
#include <mm_util_imgp.h>
#include <mm_util_image.h>
+#include <mm_util_private.h>
#include <limits.h>
#include <tzplatform_config.h>
static input_params g_args;
static output_values g_transformed;
-static gboolean _read_file(char *path, void **data, size_t *length)
-{
- FILE *fp = NULL;
- long len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[IMGP_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[IMGP_testsuite] %s read\n", path);
-
- fp = fopen(path, "r");
- if (fp == NULL) {
- fprintf(stderr, "\t[IMGP_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- if (fseek(fp, 0, SEEK_END) < 0) {
- fprintf(stderr, "\t[IMGP_testsuite] fseek failed \n");
- fclose(fp);
- return FALSE;
- }
-
- len = ftell(fp);
- if (len < 0) {
- fprintf(stderr, "\t[IMGP_testsuite] ftell failed \n");
- fclose(fp);
- return FALSE;
- }
-
- rewind(fp);
- *data = g_malloc0(len);
- *length = fread(*data, 1, (size_t)len, fp);
- if (*length != len) {
- fprintf(stderr, "\t[IMGP_testsuite] fread failed \n");
- }
-
- fclose(fp);
-
- *length = (size_t)len;
-
- fprintf(stderr, "\t[IMGP_testsuite] %s %zu read DONE\n", path, *length);
-
- return TRUE;
-}
-
-static gboolean _write_file(const char *path, void *data, size_t length)
-{
- FILE *fp = NULL;
- size_t len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[IMGP_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[IMGP_testsuite] %s %p %zu write\n", path, data, length);
-
- fp = fopen(path, "w");
- if (fp == NULL) {
- fprintf(stderr, "\t[IMGP_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- len = fwrite(data, 1, length, fp);
- if (len != length) {
- fprintf(stderr, "\t[IMGP_testsuite] fwrite failed \n");
- }
-
- fclose(fp);
- fp = NULL;
-
- fprintf(stderr, "\t[IMGP_testsuite] %s write DONE\n", path);
-
- return TRUE;
-}
-
gboolean _get_input_data(const char *argv, const unsigned long min, const unsigned long max, unsigned int *data)
{
if (argv == NULL || strlen(argv) == 0)
}
/* read input file */
- if (FALSE == _read_file(g_args.path, &g_args.data, &g_args.size)) {
+ ret = mm_util_file_read(g_args.path, &g_args.data, &g_args.size);
+ if (ret != MM_UTIL_ERROR_NONE) {
fprintf(stderr, "\t[IMGP_testsuite] reading file(%s) error\n", g_args.path);
goto TEST_FAIL;
}
snprintf(g_transformed.path, PATH_MAX, "result_%s_%ux%u.raw", g_args.cmd, g_transformed.width, g_transformed.height);
/* write output file */
- if (FALSE == _write_file(g_transformed.path, (void *)g_transformed.data, g_transformed.size)) {
+ ret = mm_util_file_write(g_transformed.path, (void *)g_transformed.data, g_transformed.size);
+ if (ret != MM_UTIL_ERROR_NONE) {
fprintf(stderr, "\t[IMGP_testsuite] writing file(%s) error\n", g_transformed.path);
goto TEST_FAIL;
}
#include <limits.h>
#include <mm_util_jpeg.h>
#include <mm_util_image.h>
+#include <mm_util_private.h>
#include <tzplatform_config.h>
#define SAFE_FREE(x) { if (x != NULL) { free(x); x = NULL; } }
static mm_util_image_h g_decoded_data = NULL;
-static gboolean _read_file(char *path, void **data, size_t *length)
-{
- FILE *fp = NULL;
- long len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[JPEG_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[JPEG_testsuite] %s read\n", path);
-
- fp = fopen(path, "r");
- if (fp == NULL) {
- fprintf(stderr, "\t[JPEG_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- if (fseek(fp, 0, SEEK_END) < 0) {
- fprintf(stderr, "\t[JPEG_testsuite] fseek failed \n");
- fclose(fp);
- return FALSE;
- }
-
- len = ftell(fp);
- if (len < 0) {
- fprintf(stderr, "\t[JPEG_testsuite] ftell failed \n");
- fclose(fp);
- return FALSE;
- }
-
- rewind(fp);
- *data = g_malloc0(len);
- *length = fread(*data, 1, (size_t)len, fp);
- if (*length != len) {
- fprintf(stderr, "\t[JPEG_testsuite] fread failed \n");
- }
-
- fclose(fp);
-
- *length = (size_t)len;
-
- fprintf(stderr, "\t[JPEG_testsuite] %s %zu read DONE\n", path, *length);
-
- return TRUE;
-}
-
-static gboolean _write_file(const char *path, void *data, size_t length)
-{
- FILE *fp = NULL;
- size_t len = 0;
-
- if (!path || !data || length == 0) {
- fprintf(stderr, "\t[JPEG_testsuite] invalid data\n");
- return FALSE;
- }
-
- fprintf(stderr, "\t[JPEG_testsuite] %s %p %zu write\n", path, data, length);
-
- fp = fopen(path, "w");
- if (fp == NULL) {
- fprintf(stderr, "\t[JPEG_testsuite] fopen failed (%d) \n", errno);
- return FALSE;
- }
-
- len = fwrite(data, 1, length, fp);
- if (len != length) {
- fprintf(stderr, "\t[JPEG_testsuite] fwrite failed \n");
- }
-
- fclose(fp);
- fp = NULL;
-
- fprintf(stderr, "\t[JPEG_testsuite] %s write DONE\n", path);
-
- return TRUE;
-}
-
gboolean _get_input_data(const char *argv, const long min, const long max, int *data)
{
if (argv == NULL || strlen(argv) == 0)
fprintf(stderr, "\t[JPEG_testsuite] mm_image_get_image failed %d\n", ret);
return FALSE;
}
- if (FALSE == _write_file(DECODE_FILE_PATH, data, size)) {
- fprintf(stderr, "\t[JPEG_testsuite] writing decoded data failed : %s\n", DECODE_FILE_PATH);
+ ret = mm_util_file_write(DECODE_FILE_PATH, data, size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[JPEG_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(data);
return FALSE;
}
SAFE_FREE(data);
} else if (mode == TEST_DECODE_MEMORY) {
- if (FALSE == _read_file(g_path, &g_readed_data, &g_readed_size)) {
- fprintf(stderr, "\t[JPEG_testsuite] reading file error\n");
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[JPEG_testsuite] mm_util_file_read failed %d\n", ret);
return FALSE;
}
fprintf(stderr, "\t[JPEG_testsuite] mm_image_get_image failed %d\n", ret);
return FALSE;
}
- if (FALSE == _write_file(DECODE_MEM_PATH, data, size)) {
- fprintf(stderr, "\t[JPEG_testsuite] writing decoded data failed : %s\n", DECODE_MEM_PATH);
+ ret = mm_util_file_write(DECODE_MEM_PATH, data, size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[JPEG_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(data);
return FALSE;
}
if ((mode != TEST_ENCODE_FILE) && (mode != TEST_ENCODE_MEMORY))
return TRUE;
- if (FALSE == _read_file(g_path, &g_readed_data, &g_readed_size)) {
- fprintf(stderr, "\t[JPEG_testsuite] reading file error\n");
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[JPEG_testsuite] mm_util_file_read failed %d\n", ret);
return FALSE;
}
ret = mm_image_create_image(g_width, g_height, g_color, (unsigned char *)g_readed_data,
SAFE_FREE(encoded_data);
return FALSE;
}
- if (FALSE == _write_file(ENCODE_MEM_PATH, encoded_data, encoded_size)) {
- fprintf(stderr, "\t[JPEG_testsuite] writing decoded data failed : %s\n", ENCODE_MEM_PATH);
+ ret = mm_util_file_write(ENCODE_MEM_PATH, encoded_data, encoded_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ fprintf(stderr, "\t[JPEG_testsuite] mm_util_file_write failed %d\n", ret);
SAFE_FREE(encoded_data);
return FALSE;
}
#include <stdint.h>
#include <fcntl.h>
#include <glib.h>
-#include <glib/gstdio.h>
#include <inttypes.h>
#include <unistd.h>
#include "mm_util_jxl.h"
#include "mm_util_private.h"
-
// TODO: it will be moved into .ini of mmfw_config
#define NUM_OF_THREADS 4
return err;
}
-static int __get_file_size(const char *path, size_t *size)
-{
- GStatBuf buf;
-
- mm_util_retvm_if(!path, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path");
- mm_util_retvm_if(!size, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid size");
-
- mm_util_fenter();
-
- if (g_stat(path, &buf) < 0) {
- mm_util_stderror("Fail to open path");
- return MM_UTIL_ERROR_INVALID_PARAMETER;
- }
-
- *size = (size_t)buf.st_size;
-
- mm_util_info("size: %zu", *size);
-
- mm_util_fleave();
-
- return MM_UTIL_ERROR_NONE;
-}
-
static int __get_decoded_data(mm_util_image_h decoded, uint32_t *width, uint32_t *height, JxlPixelFormat *format, uint8_t **pixels, size_t *pixels_size)
{
mm_image_info_s *_image = (mm_image_info_s *)decoded;
return MM_UTIL_ERROR_NONE;
}
-static bool __read_file(const char *path, void **data, size_t size)
-{
- gsize read_n = 0;
- gchar *read_data = NULL;
- GError *error = NULL;
-
- mm_util_retvm_if(!path, false, "invalid path");
- mm_util_retvm_if(!data, false, "invalid data");
- mm_util_retvm_if(size == 0, false, "invalid size");
-
- mm_util_fenter();
-
- if (!g_file_get_contents(path, &read_data, &read_n, &error)) {
- mm_util_error("g_file_get_contents error(%s)", (error ? error->message : "none"));
- g_error_free(error);
- return false;
- }
-
- if (read_n != size) {
- mm_util_stderror("read");
- mm_util_error("read_n: %zu, size: %zu", read_n, size);
- g_free(read_data);
- return false;
- }
-
- *data = read_data;
-
- mm_util_fleave();
-
- return true;
-}
-
-static bool __write_file(const char *path, void *data, size_t size)
-{
- GError *error = NULL;
-
- mm_util_retvm_if(!path, false, "invalid path");
- mm_util_retvm_if(!data, false, "invalid data");
- mm_util_retvm_if(size == 0, false, "invalid size");
-
- mm_util_fenter();
-
- if (!g_file_set_contents(path, (const gchar *)data, (gssize)size, &error)) {
- mm_util_error("g_file_set_contents error(%s)", (error ? error->message : "none"));
- g_error_free(error);
- return false;
- }
-
- mm_util_fleave();
-
- return true;
-}
-
static int __mm_util_decode_jpegxl(const void *buf, size_t buf_size, mm_util_color_format_e format, mm_util_image_h *decoded_image)
{
int ret = MM_UTIL_ERROR_NONE;
void *encoded_buf = NULL;
size_t encoded_buf_size = 0;
- mm_util_retvm_if(__get_file_size(path, &encoded_buf_size) != MM_UTIL_ERROR_NONE,
- MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path %s", path);
- mm_util_retvm_if(!__read_file(path, &encoded_buf, encoded_buf_size),
- MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path %s:%zu", path, encoded_buf_size);
+ mm_util_retvm_if(mm_util_file_read(path, &encoded_buf, &encoded_buf_size) != MM_UTIL_ERROR_NONE, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path %s:%zu", path, encoded_buf_size);
ret =__mm_util_decode_jpegxl(encoded_buf, encoded_buf_size, format, decoded_image);
return ret;
}
- if (!__write_file(path, encoded_buf, encoded_buf_size)) {
- mm_util_error("failed to __write_file");
- ret = MM_UTIL_ERROR_INVALID_PARAMETER;
- }
+ ret = mm_util_file_write(path, encoded_buf, encoded_buf_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ mm_util_error("failed to __write_file(%d)", ret);
g_free(encoded_buf);
#include <mm_util_jxl.h>
#include <mm_util_jpeg.h>
+#include <mm_util_private.h>
#define SAFE_FREE(x) { g_free(x); x = NULL; }
#define SAFE_IMAGE_FREE(x) { if (x != NULL) { mm_image_destroy_image(x); x = NULL; } }
static bool g_lossless = false;
/* for reading file */
-static gchar *g_readed_data = NULL;
+static void *g_readed_data = NULL;
static gsize g_readed_size = 0;
/* for saving result */
static gboolean __get_decoded_data(void)
{
int ret = 0;
- GError *error = NULL;
- if (!g_file_get_contents(g_path, &g_readed_data, &g_readed_size, &error)) {
- g_print("\t[JXL_testsuite] reading file error(%s)\n", (error ? error->message : "none"));
- g_error_free(error);
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ g_print("\t[JXL_testsuite] mm_util_file_read failed : %d\n", ret);
return FALSE;
}
ret = mm_image_create_image(g_width, g_height, g_color,
static gboolean __test_decode(const jxl_test_mode_e mode, mm_util_color_format_e color)
{
int ret = 0;
- GError *error = NULL;
SAFE_FREE(g_readed_data);
SAFE_IMAGE_FREE(g_decoded_data);
return FALSE;
}
} else if (mode == TEST_DECODE_BUFFER) {
- if (!g_file_get_contents(g_path, &g_readed_data, &g_readed_size, &error)) {
- g_print("\t[JXL_testsuite] reading file error(%s)\n", (error ? error->message : "none"));
- g_error_free(error);
+ ret = mm_util_file_read(g_path, &g_readed_data, &g_readed_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ g_print("\t[JXL_testsuite] mm_util_file_read failed : %d\n", ret);
return FALSE;
}
int ret = 0;
void *encoded_data = NULL;
size_t encoded_size = 0;
- GError *error = NULL;
if ((mode != TEST_ENCODE_FILE) && (mode != TEST_ENCODE_BUFFER))
return TRUE;
SAFE_FREE(encoded_data);
return FALSE;
}
- if (FALSE == g_file_set_contents(g_test_filename[mode][color], encoded_data, encoded_size, &error)) {
- g_print("\t[JXL_testsuite] g_file_set_contents failed : %s\n", (error ? error->message : "none"));
- g_error_free(error);
- }
+ ret = mm_util_file_write(g_test_filename[mode][color], encoded_data, encoded_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ g_print("\t[JXL_testsuite] mm_util_file_write failed : %d\n", ret);
SAFE_FREE(encoded_data);
}
return MM_UTIL_ERROR_NONE;
}
-static int __mm_util_read_tmp_file(const char *path, void **data, size_t *length)
-{
- int ret = MM_UTIL_ERROR_NONE;
- FILE *fp = NULL;
- char *_data = NULL;
- long _length = 0;
-
- mm_util_retvm_if(!path, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid path");
- mm_util_retvm_if(!data, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid data");
- mm_util_retvm_if(!length, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid length");
-
- mm_util_sec_debug("read path [%s]", path);
-
- fp = fopen(path, "r");
- if (!fp) {
- mm_util_stderror("fopen failed");
- return MM_UTIL_ERROR_INVALID_OPERATION;
- }
-
- if (fseek(fp, 0, SEEK_END) < 0) {
- mm_util_stderror("fseek failed");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
- }
-
- _length = ftell(fp);
- if (_length < 0) {
- mm_util_stderror("ftell failed");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- goto ERROR;
- }
-
- rewind(fp);
- _data = g_malloc0(_length);
-
- if (fread(_data, 1, _length, fp) != _length) {
- mm_util_stderror("fread failed");
- ret = MM_UTIL_ERROR_INVALID_OPERATION;
- g_free(_data);
- goto ERROR;
- }
-
- *data = _data;
- *length = (size_t)_length;
-
-ERROR:
-
- fclose(fp);
-
- return ret;
-}
-
int mm_util_rotate_B_B(mm_util_image_h src_handle, mm_util_rotate_type_e rotation, mm_util_image_h *dst_handle)
{
int ret = MM_UTIL_ERROR_NONE;
goto ERROR;
}
- ret = __mm_util_read_tmp_file(tmp_file, buf, buf_size);
+ ret = mm_util_file_read(tmp_file, buf, buf_size);
if (ret != MM_UTIL_ERROR_NONE)
- mm_util_error("Error: __mm_util_read_tmp_file failed.");
+ mm_util_error("Error: mm_util_file_read failed.");
ERROR:
#include <stdlib.h>
#include <string.h>
#include <mm_util_magick.h>
+#include <mm_util_private.h>
typedef enum {
MM_UTIL_RESIZE,
unsigned int height = 0;
size_t size = 0;
mm_util_color_format_e format = MM_UTIL_COLOR_NUM;
- GError *error = NULL;
ret = mm_image_get_image(handle, &width, &height, &format, &buffer, &size);
if (ret != MM_UTIL_ERROR_NONE) {
printf("[save to file] buffer[%p], width[%u], height[%u], size[%zu], format [%d], out_path [%s]\n", buffer, width, height, size, format, out_path);
- if (!g_file_set_contents(out_path, (gchar *)buffer, (gssize)size, &error))
- printf("Fail g_file_set_contents [%s: %s]", out_path, (error ? error->message : "none"));
+ ret = mm_util_file_write(out_path, buffer, size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ printf("Fail mm_util_file_write [%d]\n", ret);
MM_UTIL_SAFE_FREE(buffer);
- g_error_free(error);
return;
}
char dst_path[1024] = {0, };
mm_util_image_h decoded_image = NULL;
mm_util_enc_opt_h enc_option = NULL;
- gchar *src_buffer = NULL;
- gsize src_buffer_size = 0;
+ void *src_buffer = NULL;
+ size_t src_buffer_size = 0;
void *buffer = NULL;
size_t buffer_size = 0;
- GError *error = NULL;
memset(dst_path, 0x00, sizeof(dst_path));
snprintf(dst_path, sizeof(dst_path), "/opt/usr/home/owner/media/decenc_buffer_png_test_%d_%u.png", format, comp_level);
printf("* PNG test [%s] \n", dst_path);
- if (!g_file_get_contents(src_path, &src_buffer, &src_buffer_size, &error)) {
- printf("Fail g_file_get_contents [%s: %s]\n", src_path, (error ? error->message : "none"));
- g_error_free(error);
+ ret = mm_util_file_read(src_path, &src_buffer, &src_buffer_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ printf("Fail mm_util_file_read [%s: %d]\n", src_path, ret);
return ret;
}
- ret = mm_util_decode_image_from_buffer((void *)src_buffer, (size_t)src_buffer_size, format, &decoded_image);
+ ret = mm_util_decode_image_from_buffer(src_buffer, src_buffer_size, format, &decoded_image);
if (ret != MM_UTIL_ERROR_NONE) {
printf("Fail mm_util_decode_image_from_buffer [0x%x]\n", ret);
g_free(src_buffer);
goto END;
}
- if (!g_file_set_contents(dst_path, (gchar *)buffer, (gssize)buffer_size, &error))
- printf("Fail g_file_set_contents [%s: %s]", dst_path, (error ? error->message : "none"));
+ ret = mm_util_file_write(dst_path, buffer, buffer_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ printf("Fail mm_util_file_write [0x%x]\n", ret);
END:
mm_util_enc_opt_destroy(enc_option);
mm_image_destroy_image(decoded_image);
g_free(buffer);
- g_error_free(error);
return ret;
}
char dst_path[1024] = {0, };
mm_util_image_h decoded_image = NULL;
mm_util_enc_opt_h enc_option = NULL;
- gchar *src_buffer = NULL;
- gsize src_buffer_size = 0;
+ void *src_buffer = NULL;
+ size_t src_buffer_size = 0;
void *buffer = NULL;
size_t buffer_size = 0;
- GError *error = NULL;
memset(dst_path, 0x00, sizeof(dst_path));
snprintf(dst_path, sizeof(dst_path), "/opt/usr/home/owner/media/decenc_buffer_webp_test_%d_%s.webp", format, (lossless ? "ll" : "nor"));
printf("* WEBP test [%s] \n", dst_path);
- if (!g_file_get_contents(src_path, &src_buffer, &src_buffer_size, &error)) {
- printf("Fail g_file_get_contents [%s: %s]\n", src_path, (error ? error->message : "none"));
- g_error_free(error);
+ ret = mm_util_file_read(src_path, &src_buffer, &src_buffer_size);
+ if (ret != MM_UTIL_ERROR_NONE) {
+ printf("Fail mm_util_file_read [%s: %d]\n", src_path, ret);
return ret;
}
- ret = mm_util_decode_image_from_buffer((void *)src_buffer, (size_t)src_buffer_size, format, &decoded_image);
+ ret = mm_util_decode_image_from_buffer(src_buffer, src_buffer_size, format, &decoded_image);
if (ret != MM_UTIL_ERROR_NONE) {
printf("Fail mm_util_decode_image_from_buffer [0x%x]\n", ret);
g_free(src_buffer);
goto END;
}
- if (!g_file_set_contents(dst_path, (gchar *)buffer, (gssize)buffer_size, &error))
- printf("Fail g_file_set_contents [%s: %s]", dst_path, (error ? error->message : "none"));
+ ret = mm_util_file_write(dst_path, buffer, buffer_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ printf("Fail mm_util_file_write [0x%x]\n", ret);
END:
mm_util_enc_opt_destroy(enc_option);
mm_image_destroy_image(decoded_image);
g_free(buffer);
- g_error_free(error);
return ret;
}
Name: libmm-utility
Summary: Multimedia Framework Utility Library
-Version: 0.4.2
+Version: 0.4.3
Release: 0
Group: System/Libraries
License: Apache-2.0
int ret = MM_UTIL_ERROR_NONE;
mm_util_webp_anim_enc_t *anim_enc = (mm_util_webp_anim_enc_t *)anim_enc_h;
WebPData webp_data;
- GError *g_error = NULL;
mm_util_retvm_if(!anim_enc_h, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid anim_enc_h");
mm_util_retvm_if(anim_enc->frame_count == 0, MM_UTIL_ERROR_INVALID_PARAMETER, "invalid frame_count");
goto END;
}
- if (!g_file_set_contents(path, (gchar *)webp_data.bytes, (gssize)webp_data.size, &g_error))
- mm_util_error("Error! g_file_set_contents(%s)", (g_error ? g_error->message : "none"));
+ ret = mm_util_file_write(path, (void *)webp_data.bytes, webp_data.size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ mm_util_error("Error! mm_util_file_write(%d)", ret);
- g_error_free(g_error);
END:
WebPDataClear(&webp_data);
#include <mm_util_image.h>
#include <mm_util_magick.h>
#include <mm_util_webp.h>
+#include <mm_util_private.h>
#include <tzplatform_config.h>
#define TEST_STRING_VALID(str) ((str != NULL && strlen(str) > 0) ? TRUE : FALSE)
/* for encoding webp to memory */
void *encoded_data = NULL;
size_t encoded_size = 0;
- GError *g_error = NULL;
ret = mm_util_webp_anim_enc_create(&anim_enc);
if (ret != MM_UTIL_ERROR_NONE) {
fprintf(stderr, "\t[WEBP_testsuite] mm_util_webp_anim_enc_save_to_buffer failed : %d\n", ret);
goto END;
}
- if (!g_file_set_contents(ENCODE_MEM_PATH, (gchar *)encoded_data, (gssize)encoded_size, &g_error)) {
- fprintf(stderr, "\t[WEBP_testsuite] g_file_set_contents failed : %s\n", ENCODE_MEM_PATH);
- g_error_free(g_error);
- goto END;
- }
+
+ ret = mm_util_file_write(ENCODE_MEM_PATH, encoded_data, encoded_size);
+ if (ret != MM_UTIL_ERROR_NONE)
+ fprintf(stderr, "\t[WEBP_testsuite] mm_util_file_write failed : %d\n", ret);
END:
mm_util_webp_anim_enc_destroy(anim_enc);