summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaejeong, Kim <backto.kim@samsung.com>2015-10-07 14:02:37 +0900
committerHaejeong, Kim <backto.kim@samsung.com>2015-10-07 14:02:37 +0900
commit64417b3d6f34dc64bc0d417fe2ac22863e7c7d47 (patch)
tree11ad901b05d54ea7bad19e71a7ab6e181fedbd61
parentf17ffe390d2a8ac6d1547e558f0d293f688ca468 (diff)
downloadlibmedia-service-64417b3d6f34dc64bc0d417fe2ac22863e7c7d47.tar.gz
libmedia-service-64417b3d6f34dc64bc0d417fe2ac22863e7c7d47.tar.bz2
libmedia-service-64417b3d6f34dc64bc0d417fe2ac22863e7c7d47.zip
Change-Id: I10867241b736f7762582f211f3cf04b11bd6516d
-rwxr-xr-xinclude/media-svc-types.h17
-rw-r--r--packaging/libmedia-service.spec2
-rwxr-xr-xsrc/common/media-svc-media.c18
-rwxr-xr-xsrc/common/media-svc-util.c7
-rwxr-xr-xsrc/common/media-svc.c57
-rwxr-xr-xsrc/include/common/media-svc-env.h1
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 {