From 1fa35166d81c650ddeae8d85f5b072e0ee4df1da Mon Sep 17 00:00:00 2001 From: Minje Ahn Date: Thu, 26 May 2016 09:47:46 +0900 Subject: [PATCH] Add 360 content feature Change-Id: I72e454a272b72c22927869a3997d15b8fe1d4958 Signed-off-by: Minje Ahn --- include/metadata_extractor_type.h | 1 + packaging/capi-media-metadata-extractor.spec | 2 +- src/metadata_extractor.c | 31 ++++++++++++++++++++++++++++ test/metadata_extractor_test.c | 3 +++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/include/metadata_extractor_type.h b/include/metadata_extractor_type.h index 89b16c6..7ae6caf 100755 --- a/include/metadata_extractor_type.h +++ b/include/metadata_extractor_type.h @@ -89,6 +89,7 @@ typedef enum { METADATA_ROTATE, /**< Rotate(Orientation) Information */ METADATA_VIDEO_CODEC, /**< Video Codec (Since 3.0) */ METADATA_AUDIO_CODEC, /**< Audio Codec (Since 3.0) */ + METADATA_360, /**< 360 content Information (Since 3.0) */ } metadata_extractor_attr_e; /** diff --git a/packaging/capi-media-metadata-extractor.spec b/packaging/capi-media-metadata-extractor.spec index ee764e4..ea6a33f 100755 --- a/packaging/capi-media-metadata-extractor.spec +++ b/packaging/capi-media-metadata-extractor.spec @@ -1,6 +1,6 @@ Name: capi-media-metadata-extractor Summary: A media metadata extractor library in Tizen Native API -Version: 0.1.2 +Version: 0.1.3 Release: 1 Group: Multimedia/API License: Apache-2.0 diff --git a/src/metadata_extractor.c b/src/metadata_extractor.c index 80213ce..d62481c 100755 --- a/src/metadata_extractor.c +++ b/src/metadata_extractor.c @@ -73,6 +73,7 @@ static int __metadata_extractor_get_synclyrics_pair_num(metadata_extractor_s *me 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); +static int __metadata_extractor_get_is_360(metadata_extractor_s *metadata, int *is_360); static int __metadata_extractor_check_and_extract_meta(metadata_extractor_s *metadata, metadata_extractor_type_e metadata_type) { @@ -1083,6 +1084,30 @@ static int __metadata_extractor_get_video_codec(metadata_extractor_s *metadata, return ret; } + +static int __metadata_extractor_get_is_360(metadata_extractor_s *metadata, int *is_360) +{ + int ret = METADATA_EXTRACTOR_ERROR_NONE; + char *err_attr_name = NULL; + int _is_360 = 0; + + if ((!metadata) ||(!metadata->attr_h)) { + metadata_extractor_error("INVALID_PARAMETER(0x%08x)", METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER); + return METADATA_EXTRACTOR_ERROR_INVALID_PARAMETER; + } + + ret = mm_file_get_attrs(metadata->attr_h, &err_attr_name, MM_FILE_TAG_360, &_is_360, NULL); + if (ret != FILEINFO_ERROR_NONE) { + metadata_extractor_error("METADATA_EXTRACTOR_ERROR_OPERATION_FAILED(0x%08x)", ret); + SAFE_FREE(err_attr_name); + return METADATA_EXTRACTOR_ERROR_OPERATION_FAILED; + } + + *is_360 = _is_360; + + return ret; +} + static int __metadata_extractor_destroy_handle(metadata_extractor_s *metadata) { int ret = METADATA_EXTRACTOR_ERROR_NONE; @@ -1461,6 +1486,12 @@ int metadata_extractor_get_metadata(metadata_extractor_h metadata, metadata_extr ret = __metadata_extractor_get_rotate(_metadata, &s_value); break; } + case METADATA_360: { + is_string = 0; + ret = __metadata_extractor_get_is_360(_metadata, &i_value); + metadata_extractor_debug("tomoryu test call is 360"); + break; + } default: break; } diff --git a/test/metadata_extractor_test.c b/test/metadata_extractor_test.c index 42a9fba..854d446 100755 --- a/test/metadata_extractor_test.c +++ b/test/metadata_extractor_test.c @@ -97,6 +97,7 @@ static bool __capi_metadata_extractor(metadata_extractor_h metadata) char *rotate = NULL; char *video_codec = NULL; char *audio_codec = NULL; + char *is_360 = NULL; int idx = 0; unsigned long time_info = 0; @@ -181,6 +182,8 @@ static bool __capi_metadata_extractor(metadata_extractor_h metadata) printf("audio_codec = [%s]\n", audio_codec); metadata_extractor_get_metadata(metadata, METADATA_VIDEO_CODEC, &video_codec); printf("video_codec = [%s]\n", video_codec); + metadata_extractor_get_metadata(metadata, METADATA_360, &is_360); + printf("is_360 = [%s]\n", is_360); metadata_extractor_get_metadata(metadata, METADATA_SYNCLYRICS_NUM, &synclyrics_num); if (synclyrics_num) { -- 2.7.4