Add to check the permission error from libmm-fileinfo 28/197228/1
authorjiyong.min <jiyong.min@samsung.com>
Thu, 10 Jan 2019 08:35:14 +0000 (17:35 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Thu, 10 Jan 2019 08:36:12 +0000 (17:36 +0900)
Change-Id: I95c302ce462c1e78b024e587db3bea5597955e3b

src/metadata_extractor.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 6a5b526..334405b
@@ -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;