Fix : The exception handling according to the situation
[platform/framework/native/content.git] / src / FCnt_ContentManagerImpl.cpp
index 0a649fd..07614cb 100644 (file)
@@ -351,7 +351,20 @@ _ContentManagerImpl::CreateContent(const ContentInfo& contentInfo)
 CATCH:
        // There are two steps(insert and update) for content registration.
        // If the update failed after inserting, the inserted data SHOULD be deleted from here.
-       val = media_info_delete_from_db(pStr.get());
+       char* pTempMediaId = null;
+       unique_ptr<char, CharDeleter> pMediaId(null);
+       val = media_info_get_media_id(pMediaInfo.get(), &pTempMediaId);
+       if (pTempMediaId != null)
+       {
+               pMediaId.reset(pTempMediaId);
+       }
+       else
+       {
+               SysLog(NID_CNT, "Failed to perform media_info_get_media_id operation.");
+               return UuId::GetInvalidUuId();
+       }
+
+       val = media_info_delete_from_db(pMediaId.get());
        SysLog(NID_CNT, "The result of deletion from database[%d].", val);
 
        return UuId::GetInvalidUuId();
@@ -508,7 +521,20 @@ CATCH:
 
        if (pMediaInfo != null)
        {
-               val = media_info_delete_from_db(pStr.get());
+               char* pTempMediaId = null;
+               unique_ptr<char, CharDeleter> pMediaId(null);
+               val = media_info_get_media_id(pMediaInfo.get(), &pTempMediaId);
+               if (pTempMediaId != null)
+               {
+                       pMediaId.reset(pTempMediaId);
+               }
+               else
+               {
+                       SysLog(NID_CNT, "Failed to perform media_info_get_media_id operation.");
+                       return UuId::GetInvalidUuId();
+               }
+
+               val = media_info_delete_from_db(pMediaId.get());
                SysLog(NID_CNT, "The result of deletion from database[%d].", val);
        }
 
@@ -532,21 +558,8 @@ _ContentManagerImpl::CreateContent(const String& sourcePath, const String& desti
        SysTryReturn(NID_CNT, VerifyMediaFilePathCompatibility(destinationPath), UuId::GetInvalidUuId(),
                        E_INVALID_ARG, "[E_INVALID_ARG] %ls is not compatible.", destinationPath.GetPointer());
 
-       result r = E_SUCCESS;
-       bool isCopy = false;
-
-       if (deleteSource) // move
-       {
-               r = _FileImpl::Move(sourcePath, destinationPath);
-               SysTryReturn(NID_CNT, !IsFailed(r), UuId::GetInvalidUuId(), r, "[%s] Moving the file failed.", GetErrorMessage(r));
-       }
-       else // copy
-       {
-               r = _FileImpl::Copy(sourcePath, destinationPath, true);
-               SysTryReturn(NID_CNT, !IsFailed(r), UuId::GetInvalidUuId(), r, "[%s] Copying the file failed.", GetErrorMessage(r));
-
-               isCopy = true;
-       }
+       result r = _FileImpl::Copy(sourcePath, destinationPath, true);
+       SysTryReturn(NID_CNT, !IsFailed(r), UuId::GetInvalidUuId(), r, "[%s] Copying the file failed.", GetErrorMessage(r));
 
        int val = 0;
        ContentId contentId;
@@ -651,25 +664,42 @@ _ContentManagerImpl::CreateContent(const String& sourcePath, const String& desti
        SysTryCatch(NID_CNT, contentId != UuId::GetInvalidUuId(), , r,
                        "[%s] SaveDataToDatabase failed.", GetErrorMessage(r));
 
+       if (deleteSource)
+       {
+               unique_ptr<char[]> pContentPath(_StringConverter::CopyToCharArrayN(sourcePath));
+               SysTryCatch(NID_CNT, !IsFailed(r), , E_OUT_OF_MEMORY, "[%s] pContentPath is null.", GetErrorMessage(E_OUT_OF_MEMORY));
+
+               r = _FileImpl::Remove(sourcePath);
+               SysTryCatch(NID_CNT, !IsFailed(r), , r, "[%s] Failed to perform Remove operation.", GetErrorMessage(r));
+
+               val = media_content_scan_file(pContentPath.get());
+               SysTryLog(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, "Failed to perform media_content_scan_file[%d].", val);
+       }
+
        return contentId;
 
 CATCH:
        result saveResult = GetLastResult();
 
-       if (isCopy)
-       {
-               r = _FileImpl::Remove(destinationPath);
-               SysLog(NID_CNT, "Remove[%s].", GetErrorMessage(r));
-       }
-       else
-       {
-               r = _FileImpl::Move(destinationPath, sourcePath);
-               SysLog(NID_CNT, "Move[%s].", GetErrorMessage(r));
-       }
+       r = _FileImpl::Remove(destinationPath);
+       SysLog(NID_CNT, "Remove[%s].", GetErrorMessage(r));
 
        if (pMediaInfo != null)
        {
-               val = media_info_delete_from_db(pStr.get());
+               char* pTempMediaId = null;
+               unique_ptr<char, CharDeleter> pMediaId(null);
+               val = media_info_get_media_id(pMediaInfo.get(), &pTempMediaId);
+               if (pTempMediaId != null)
+               {
+                       pMediaId.reset(pTempMediaId);
+               }
+               else
+               {
+                       SysLog(NID_CNT, "Failed to perform media_info_get_media_id operation.");
+                       return UuId::GetInvalidUuId();
+               }
+
+               val = media_info_delete_from_db(pMediaId.get());
                SysLog(NID_CNT, "The result of deletion from database[%d].", val);
        }
 
@@ -967,78 +997,71 @@ _ContentManagerImpl::UpdateDataToDatabase(const _ContentInfoImpl* pContentInfoIm
        result r = E_SUCCESS;
        unique_ptr<char[]> pValue(null);
 
-       if (!pContentInfoImpl->GetAuthor().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetAuthor()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       // author
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetAuthor()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
 
-               val = media_info_set_author(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_author failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetCategory().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetCategory()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       val = media_info_set_author(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_author failed[%d].", val);
 
-               val = media_info_set_category(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_category failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetContentName().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetContentName()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       // category
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetCategory()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
 
-               val = media_info_set_content_name(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_content_name failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetDescription().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetDescription()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       val = media_info_set_category(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_category failed[%d].", val);
 
-               val = media_info_set_description(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_description failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetKeyword().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetKeyword()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       // content name
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetContentName()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
 
-               val = media_info_set_keyword(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_keyword failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetLocationTag().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetLocationTag()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       val = media_info_set_content_name(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_content_name failed[%d].", val);
 
-               val = media_info_set_location_tag(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_location_tag failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetProvider().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetProvider()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       // description
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetDescription()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
 
-               val = media_info_set_provider(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_provider failed[%d].", val);
-       }
-       if (!pContentInfoImpl->GetRating().IsEmpty())
-       {
-               pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetRating()));
-               SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+       val = media_info_set_description(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_description failed[%d].", val);
 
-               val = media_info_set_age_rating(pMediaInfo.get(), pValue.get());
-               SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
-                               "media_info_set_age_rating failed[%d].", val);
-       }
+       // keyword
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetKeyword()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+       val = media_info_set_keyword(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_keyword failed[%d].", val);
+
+       // location tag
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetLocationTag()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+       val = media_info_set_location_tag(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_location_tag failed[%d].", val);
+
+       // provider
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetProvider()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+       val = media_info_set_provider(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_provider failed[%d].", val);
+
+       // rating
+       pValue.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetRating()));
+       SysTryReturnResult(NID_CNT, pValue != null, E_OUT_OF_MEMORY, "The memory is insufficient.");
+
+       val = media_info_set_age_rating(pMediaInfo.get(), pValue.get());
+       SysTryReturnResult(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, ConvertError(val),
+                       "media_info_set_age_rating failed[%d].", val);
+
+       // latitude, longitude, altitude
        if (Double::Compare(pContentInfoImpl->GetLatitude(), DEFAULT_COORDINATE) != 0 &&
                        Double::Compare(pContentInfoImpl->GetLongitude(), DEFAULT_COORDINATE) != 0)
        {
@@ -1126,86 +1149,79 @@ _ContentManagerImpl::SaveDataToDatabase(const media_info_h pMediaInfo,
        int val = 0;
        unique_ptr<char[]> pStr(null);
 
-       if (pContentInfoImpl->GetAuthor() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetAuthor()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       // author
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetAuthor()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
 
-               val = media_info_set_author(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_author failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetCategory() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetCategory()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       val = media_info_set_author(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_author failed[%d].", val);
 
-               val = media_info_set_category(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_category failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetContentName() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetContentName()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       // category
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetCategory()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
 
-               val = media_info_set_content_name(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_content_name failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetDescription() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetDescription()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       val = media_info_set_category(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_category failed[%d].", val);
 
-               val = media_info_set_description(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_description failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetKeyword() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetKeyword()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       // content name
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetContentName()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
 
-               val = media_info_set_keyword(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_keyword failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetLocationTag() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetLocationTag()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       val = media_info_set_content_name(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_content_name failed[%d].", val);
 
-               val = media_info_set_location_tag(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_location_tag failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetProvider() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetProvider()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       // description
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetDescription()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
 
-               val = media_info_set_provider(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_provider failed[%d].", val);
-       }
-       if (pContentInfoImpl->GetRating() != null)
-       {
-               pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetRating()));
-               SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
-                               "[E_OUT_OF_MEMORY] The memory is insufficient.");
+       val = media_info_set_description(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_description failed[%d].", val);
 
-               val = media_info_set_age_rating(pMediaInfo, pStr.get());
-               SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
-                               "media_info_set_age_rating failed[%d].", val);
-       }
+       // keyword
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetKeyword()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
+
+       val = media_info_set_keyword(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_keyword failed[%d].", val);
+
+       // location tag
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetLocationTag()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
+
+       val = media_info_set_location_tag(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_location_tag failed[%d].", val);
+
+       // provider
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetProvider()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
+
+       val = media_info_set_provider(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_provider failed[%d].", val);
+
+       // rating
+       pStr.reset(_StringConverter::CopyToCharArrayN(pContentInfoImpl->GetRating()));
+       SysTryReturn(NID_CNT, pStr != null, UuId::GetInvalidUuId(), E_OUT_OF_MEMORY,
+                       "[E_OUT_OF_MEMORY] The memory is insufficient.");
+
+       val = media_info_set_age_rating(pMediaInfo, pStr.get());
+       SysTryReturn(NID_CNT, val == MEDIA_CONTENT_ERROR_NONE, UuId::GetInvalidUuId(), ConvertError(val),
+                       "media_info_set_age_rating failed[%d].", val);
+
+       // latitude, longitude, altitude
        if (Double::Compare(pContentInfoImpl->GetLatitude(), DEFAULT_COORDINATE) != 0 &&
                        Double::Compare(pContentInfoImpl->GetLongitude(), DEFAULT_COORDINATE) != 0)
        {
@@ -2033,14 +2049,7 @@ _ContentManagerImpl::MakeVideoContentInfo(const media_info_h pMediaInfo, void* p
        pVideoContentInfoImpl->SetDuration(intValue);
        SysLog(NID_CNT, "META: duration[%d]", intValue);
 
-       // Get from metadata extractor (framerate, audio bitrate, video bitrate)
-       VideoMetadata* pVideoMetadata = ContentManagerUtil::GetVideoMetaN(pVideoContentInfoImpl->GetContentPath());
-       result r = GetLastResult();
-       SysTryReturnResult(NID_CNT, pVideoMetadata != null, r, "GetVideoMetadata() failed.");
-
-       pVideoContentInfoImpl->SetFramerate(pVideoMetadata->GetFramerate());
-       pVideoContentInfoImpl->SetAudioBitrate(pVideoMetadata->GetAudioBitrate());
-       pVideoContentInfoImpl->SetVideoBitrate(pVideoMetadata->GetVideoBitrate());
+       // Get some information from metadata extractor when calling VideoContentInfo (framerate, audio bitrate, video bitrate)
 
        return E_SUCCESS;
 }