From 64417b3d6f34dc64bc0d417fe2ac22863e7c7d47 Mon Sep 17 00:00:00 2001 From: "Haejeong, Kim" Date: Wed, 7 Oct 2015 14:02:37 +0900 Subject: Add code for support media_info_create() Change-Id: I10867241b736f7762582f211f3cf04b11bd6516d --- include/media-svc-types.h | 17 +++++++++--- packaging/libmedia-service.spec | 2 +- src/common/media-svc-media.c | 18 ++++++++++-- src/common/media-svc-util.c | 7 +++++ src/common/media-svc.c | 57 ++++++++++++++++++++++++++++++++++++-- src/include/common/media-svc-env.h | 1 - 6 files changed, 91 insertions(+), 11 deletions(-) diff --git a/include/media-svc-types.h b/include/media-svc-types.h index 914fd6b..ec36318 100755 --- a/include/media-svc-types.h +++ b/include/media-svc-types.h @@ -74,15 +74,22 @@ typedef struct { float altitude; /**< altitude*/ char *exposure_time; /**< exposure_time*/ float fnumber; /**< fnumber*/ - int iso; /**< iso*/ + int iso; /**< iso*/ char *model; /**< model*/ int width; /**< width*/ int height; /**< height*/ char *datetaken; /**< datetaken*/ int orientation; /**< orientation*/ int rating; /**< user defined rating */ - char *weather; /**< weather of image */ - int bitpersample; /**< bitrate*/ + char *weather; /**< weather of image */ + int bitpersample; /**< bitrate*/ + char *category; /**< category*/ + char *keyword; /**< keyword*/ + char *location_tag; /**< location_tag*/ + char *content_name; /**< content_name*/ + char *age_rating; /**< age_rating*/ + char *author; /**< author*/ + char *provider; /**< provider*/ char *file_name_pinyin; /**< pinyin for file_name*/ char *title_pinyin; /**< pinyin for title*/ @@ -115,7 +122,7 @@ typedef struct { int played_count; /**< played count */ int last_played_time; /**< last played time */ int last_played_position; /**< last played position */ - int favourate; /**< favourate. o or 1 */ + time_t favourate; /**< time favourate set */ int is_drm; /**< is_drm. o or 1 */ int sync_status; /**< sync_status */ int storage_type; /**< Storage of media file : internal/external */ @@ -134,4 +141,6 @@ typedef enum{ MEDIA_SVC_SCAN_MAX = 4, /**< Invalid status*/ }media_svc_scan_status_type_e; +#define MEDIA_SVC_DEFAULT_GPS_VALUE -200 /**< Default GPS Value*/ + #endif /*_MEDIA_SVC_TYPES_H_*/ diff --git a/packaging/libmedia-service.spec b/packaging/libmedia-service.spec index 6195d1e..fc6747d 100644 --- a/packaging/libmedia-service.spec +++ b/packaging/libmedia-service.spec @@ -1,6 +1,6 @@ Name: libmedia-service Summary: Media information service library for multimedia applications -Version: 0.2.54 +Version: 0.2.55 Release: 3 Group: System/Libraries License: Apache-2.0 and public domain diff --git a/src/common/media-svc-media.c b/src/common/media-svc-media.c index 5e2066d..443cfb6 100755 --- a/src/common/media-svc-media.c +++ b/src/common/media-svc-media.c @@ -218,6 +218,7 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, const char *storage_id, me const char *db_fields = "media_uuid, path, file_name, media_type, mime_type, size, added_time, modified_time, folder_uuid, \ thumbnail_path, title, album_id, album, artist, album_artist, genre, composer, year, recorded_date, copyright, track_num, description, \ + category, keyword, location_tag, content_name, age_rating, author, provider, last_played_time, played_count, favourite, \ bitrate, bitpersample, samplerate, channel, duration, longitude, latitude, altitude, exposure_time, fnumber, iso, model, width, height, datetaken, orientation, \ rating, is_drm, storage_type, burst_id, timeline, weather, sync_status, \ file_name_pinyin, title_pinyin, album_pinyin, artist_pinyin, album_artist_pinyin, genre_pinyin, composer_pinyin, copyright_pinyin, description_pinyin, storage_uuid"; @@ -285,6 +286,7 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, const char *storage_id, me char *sql = sqlite3_mprintf("INSERT INTO '%s' (%s) VALUES (%Q, %Q, %Q, %d, %Q, %lld, %d, %d, %Q, \ %Q, %Q, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, \ + %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, %d, %d, \ %d, %d, %d, %d, %d, %.6f, %.6f, %.6f, %Q, %.6f, %d, %Q, %d, %d, %Q, %d, \ %d, %d, %d, %Q, %d, %Q, %d, \ %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q);", @@ -297,7 +299,7 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, const char *storage_id, me content_info->size, content_info->added_time, content_info->modified_time, - content_info->folder_uuid, + content_info->folder_uuid, // content_info->thumbnail_path, content_info->media_meta.title, content_info->album_id, @@ -310,7 +312,17 @@ int _media_svc_insert_item_with_data(sqlite3 *handle, const char *storage_id, me content_info->media_meta.recorded_date, content_info->media_meta.copyright, content_info->media_meta.track_num, - content_info->media_meta.description, + content_info->media_meta.description, // + content_info->media_meta.category, + content_info->media_meta.keyword, + content_info->media_meta.location_tag, + content_info->media_meta.content_name, + content_info->media_meta.age_rating, + content_info->media_meta.author, + content_info->media_meta.provider, + content_info->last_played_time, + content_info->played_count, + content_info->favourate, // content_info->media_meta.bitrate, content_info->media_meta.bitpersample, content_info->media_meta.samplerate, @@ -1192,4 +1204,4 @@ int _media_svc_insert_item_pass2(sqlite3 *handle, const char *storage_id, media_ media_svc_debug_fleave(); return MS_MEDIA_ERR_NONE; -} \ No newline at end of file +} diff --git a/src/common/media-svc-util.c b/src/common/media-svc-util.c index 649b580..e0058e5 100755 --- a/src/common/media-svc-util.c +++ b/src/common/media-svc-util.c @@ -2001,6 +2001,13 @@ void _media_svc_destroy_content_info(media_svc_content_info_s *content_info) SAFE_FREE(content_info->media_meta.exposure_time); SAFE_FREE(content_info->media_meta.model); SAFE_FREE(content_info->media_meta.weather); + SAFE_FREE(content_info->media_meta.category); + SAFE_FREE(content_info->media_meta.keyword); + SAFE_FREE(content_info->media_meta.location_tag); + SAFE_FREE(content_info->media_meta.content_name); + SAFE_FREE(content_info->media_meta.age_rating); + SAFE_FREE(content_info->media_meta.author); + SAFE_FREE(content_info->media_meta.provider); SAFE_FREE(content_info->media_meta.title_pinyin); SAFE_FREE(content_info->media_meta.album_pinyin); diff --git a/src/common/media-svc.c b/src/common/media-svc.c index c74b922..c651584 100755 --- a/src/common/media-svc.c +++ b/src/common/media-svc.c @@ -1453,6 +1453,18 @@ static int __media_svc_copy_para_to_content(media_svc_content_info_s *content_in new_content_info->media_meta.height = content_info->media_meta.height; } + if (content_info->added_time > 0) + new_content_info->added_time = content_info->added_time; + new_content_info->last_played_time = content_info->last_played_time; + new_content_info->played_count = content_info->played_count; + new_content_info->favourate= content_info->favourate; + + if (STRING_VALID(content_info->file_name)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->file_name, content_info->file_name); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy file_name failed"); + } + if (STRING_VALID(content_info->media_meta.title)) { ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.title, content_info->media_meta.title); if (ret != MS_MEDIA_ERR_NONE) @@ -1516,7 +1528,49 @@ static int __media_svc_copy_para_to_content(media_svc_content_info_s *content_in if (STRING_VALID(content_info->media_meta.weather)) { ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.weather, content_info->media_meta.weather); if (ret != MS_MEDIA_ERR_NONE) - media_svc_error("strcpy description failed"); + media_svc_error("strcpy weather failed"); + } + + if (STRING_VALID(content_info->media_meta.category)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.category, content_info->media_meta.category); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy category failed"); + } + + if (STRING_VALID(content_info->media_meta.keyword)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.keyword, content_info->media_meta.keyword); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy keyword failed"); + } + + if (STRING_VALID(content_info->media_meta.location_tag)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.location_tag, content_info->media_meta.location_tag); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy location_tag failed"); + } + + if (STRING_VALID(content_info->media_meta.content_name)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.content_name, content_info->media_meta.content_name); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy content_name failed"); + } + + if (STRING_VALID(content_info->media_meta.age_rating)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.age_rating, content_info->media_meta.age_rating); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy age_rating failed"); + } + + if (STRING_VALID(content_info->media_meta.author)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.author, content_info->media_meta.author); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy author failed"); + } + + if (STRING_VALID(content_info->media_meta.provider)) { + ret = __media_svc_malloc_and_strncpy(&new_content_info->media_meta.provider, content_info->media_meta.provider); + if (ret != MS_MEDIA_ERR_NONE) + media_svc_error("strcpy provider failed"); } if (STRING_VALID(content_info->media_meta.datetaken)) { @@ -1533,7 +1587,6 @@ static int __media_svc_copy_para_to_content(media_svc_content_info_s *content_in } } - /*category, favorite, keyword, provider, age_rating, content_name, display_name, location_tag, modified_time, played_time*/ //new_content_info->media_meta.bitrate = content_info->media_meta.bitrate; //new_content_info->media_meta.samplerate = content_info->media_meta.samplerate; //new_content_info->media_meta.channel = content_info->media_meta.channel; diff --git a/src/include/common/media-svc-env.h b/src/include/common/media-svc-env.h index a514c3e..13e7f2a 100755 --- a/src/include/common/media-svc-env.h +++ b/src/include/common/media-svc-env.h @@ -136,7 +136,6 @@ extern "C" { #define MEDIA_SVC_THUMB_EXTERNAL_PATH tzplatform_mkpath(TZ_USER_SHARE, "media/.thumb/mmc") /**< MMC thumbnail path*/ #define MEDIA_SVC_THUMB_DEFAULT_PATH tzplatform_mkpath(TZ_USER_SHARE, "media/.thumb/thumb_default.png") /** default thumbnail */ -#define MEDIA_SVC_DEFAULT_GPS_VALUE -200 /**< Default GPS Value*/ #define THUMB_EXT "jpg" enum Exif_Orientation { -- cgit v1.2.3