summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiyong.min <jiyong.min@samsung.com>2019-01-10 17:35:14 +0900
committerjiyong.min <jiyong.min@samsung.com>2019-01-10 17:36:12 +0900
commitdf647dc8f2b3d75785d734193618141d4c453b6f (patch)
treec77e5d58c717d590275254fb4f2753c4779784b7
parent1a4f4cf52e6d59c54d0fb1746c5fd6f5aecdc73f (diff)
downloadmetadata-extractor-df647dc8f2b3d75785d734193618141d4c453b6f.tar.gz
metadata-extractor-df647dc8f2b3d75785d734193618141d4c453b6f.tar.bz2
metadata-extractor-df647dc8f2b3d75785d734193618141d4c453b6f.zip
Add to check the permission error from libmm-fileinfo
Change-Id: I95c302ce462c1e78b024e587db3bea5597955e3b
-rw-r--r--[-rwxr-xr-x]src/metadata_extractor.c73
1 files changed, 23 insertions, 50 deletions
diff --git a/src/metadata_extractor.c b/src/metadata_extractor.c
index 6a5b526..334405b 100755..100644
--- a/src/metadata_extractor.c
+++ b/src/metadata_extractor.c
@@ -43,6 +43,24 @@ static int __metadata_extractor_destroy_handle(metadata_extractor_s *metadata);
static int __metadata_extractor_get_audio_codec(metadata_extractor_s *metadata, char **audio_codec);
static int __metadata_extractor_get_video_codec(metadata_extractor_s *metadata, char **video_codec);
+int __metadata_extractor_error_capi(int fileinfo_error)
+{
+ /*Error None*/
+ if (fileinfo_error == FILEINFO_ERROR_NONE)
+ return METADATA_EXTRACTOR_ERROR_NONE;
+
+ /*File not found error*/
+ if (fileinfo_error == FILEINFO_ERROR_FILE_NOT_FOUND)
+ return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
+
+ /*Permission denied error*/
+ else if (fileinfo_error == FILEINFO_ERROR_PERMISSION_DENIED)
+ return METADATA_EXTRACTOR_ERROR_PERMISSION_DENIED;
+
+ /*ETC*/
+ return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
+}
+
static int __metadata_extractor_check_and_extract_meta(metadata_extractor_s *metadata, metadata_extractor_type_e metadata_type)
{
int ret = METADATA_EXTRACTOR_ERROR_NONE;
@@ -106,16 +124,7 @@ static int __metadata_extractor_get_stream_info(metadata_extractor_s *metadata,
int _video_track_cnt = 0;
ret = mm_file_get_stream_info(path, &_audio_track_cnt, &_video_track_cnt);
-
- if (ret != FILEINFO_ERROR_NONE) {
- if (ret == FILEINFO_ERROR_FILE_NOT_FOUND) {
- metadata_extractor_error("FILE_NOT_EXISTS(0x%08x)", METADATA_EXTRACTOR_ERROR_FILE_EXISTS);
- return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
- } else {
- metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
- return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
- }
- }
+ metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_get_stream_info(%d)", ret);
metadata->audio_track_cnt = _audio_track_cnt;
metadata->video_track_cnt = _video_track_cnt;
@@ -133,16 +142,7 @@ static int __metadata_extractor_create_content_attrs(metadata_extractor_s *metad
int _video_track_cnt = 0;
ret = mm_file_create_content_attrs(&content, path);
-
- if (ret != FILEINFO_ERROR_NONE) {
- if (ret == FILEINFO_ERROR_FILE_NOT_FOUND) {
- metadata_extractor_error("FILE_NOT_EXISTS(0x%08x)", METADATA_EXTRACTOR_ERROR_FILE_EXISTS);
- return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
- } else {
- metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
- return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
- }
- }
+ metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_create_content_attrs(%d)", ret);
ret = mm_file_get_attrs(content, &err_attr_name,
MM_FILE_CONTENT_VIDEO_TRACK_COUNT, &_video_track_cnt,
@@ -171,16 +171,7 @@ static int __metadata_extractor_create_tag_attr(metadata_extractor_s *metadata,
MMHandleType tag = 0;
ret = mm_file_create_tag_attrs(&tag, path);
-
- if (ret != FILEINFO_ERROR_NONE) {
- if (ret == FILEINFO_ERROR_FILE_NOT_FOUND) {
- metadata_extractor_error("FILE_NOT_EXISTS(0x%08x)", METADATA_EXTRACTOR_ERROR_FILE_EXISTS);
- return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
- } else {
- metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
- return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
- }
- }
+ metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_create_tag_attrs(%d)", ret);
metadata->tag_h = tag;
@@ -198,16 +189,7 @@ static int __metadata_extractor_create_content_attrs_from_buffer(metadata_extrac
int _video_track_cnt = 0;
ret = mm_file_create_content_attrs_from_memory(&content, buffer, size, 0);
-
- if (ret != FILEINFO_ERROR_NONE) {
- if (ret == FILEINFO_ERROR_FILE_NOT_FOUND) {
- metadata_extractor_error("FILE_NOT_EXISTS(0x%08x)", METADATA_EXTRACTOR_ERROR_FILE_EXISTS);
- return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
- } else {
- metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
- return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
- }
- }
+ metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_create_content_attrs_from_memory(%d)", ret);
ret = mm_file_get_attrs(content, &err_attr_name,
MM_FILE_CONTENT_VIDEO_TRACK_COUNT, &_video_track_cnt,
@@ -235,16 +217,7 @@ static int __metadata_extractor_create_tag_attrs_from_buffer(metadata_extractor_
MMHandleType tag = 0;
ret = mm_file_create_tag_attrs_from_memory(&tag, buffer, size, 0);
-
- if (ret != FILEINFO_ERROR_NONE) {
- if (ret == FILEINFO_ERROR_FILE_NOT_FOUND) {
- metadata_extractor_error("FILE_NOT_EXISTS(0x%08x)", METADATA_EXTRACTOR_ERROR_FILE_EXISTS);
- return METADATA_EXTRACTOR_ERROR_FILE_EXISTS;
- } else {
- metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret);
- return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED;
- }
- }
+ metadata_extractor_retvm_if(ret != FILEINFO_ERROR_NONE, __metadata_extractor_error_capi(ret), "Fail mm_file_create_tag_attrs_from_memory(%d)", ret);
metadata->tag_h = tag;