int mc_ipc_service_connect(mc_priv_type_e type);
int _mc_playlist_update(mc_priv_type_e type, const char *controller_name, mc_playlist_h playlist);
+int _mc_metadata_set(mc_metadata_h metadata, mc_meta_e attribute, const char *value);
#ifdef __cplusplus
}
#include "media_controller_private.h"
#include "media_controller_db.h"
+int _mc_metadata_set(mc_metadata_h metadata, mc_meta_e attribute, const char *value)
+{
+ media_controller_metadata_s *_metadata = (media_controller_metadata_s *)metadata;
+
+ mc_retvm_if(_metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
+
+ mc_secure_debug("attribute [%d] value [%s]", attribute, value);
+
+ switch (attribute) {
+ case MC_META_MEDIA_TITLE:
+ MC_SAFE_FREE(_metadata->title);
+ _metadata->title = g_strdup(value);
+ break;
+ case MC_META_MEDIA_ARTIST:
+ MC_SAFE_FREE(_metadata->artist);
+ _metadata->artist = g_strdup(value);
+ break;
+ case MC_META_MEDIA_ALBUM:
+ MC_SAFE_FREE(_metadata->album);
+ _metadata->album = g_strdup(value);
+ break;
+ case MC_META_MEDIA_AUTHOR:
+ MC_SAFE_FREE(_metadata->author);
+ _metadata->author = g_strdup(value);
+ break;
+ case MC_META_MEDIA_GENRE:
+ MC_SAFE_FREE(_metadata->genre);
+ _metadata->genre = g_strdup(value);
+ break;
+ case MC_META_MEDIA_DURATION:
+ MC_SAFE_FREE(_metadata->duration);
+ _metadata->duration = g_strdup(value);
+ break;
+ case MC_META_MEDIA_DATE:
+ MC_SAFE_FREE(_metadata->date);
+ _metadata->date = g_strdup(value);
+ break;
+ case MC_META_MEDIA_COPYRIGHT:
+ MC_SAFE_FREE(_metadata->copyright);
+ _metadata->copyright = g_strdup(value);
+ break;
+ case MC_META_MEDIA_DESCRIPTION:
+ MC_SAFE_FREE(_metadata->description);
+ _metadata->description = g_strdup(value);
+ break;
+ case MC_META_MEDIA_TRACK_NUM:
+ MC_SAFE_FREE(_metadata->track_num);
+ _metadata->track_num = g_strdup(value);
+ break;
+ case MC_META_MEDIA_PICTURE:
+ MC_SAFE_FREE(_metadata->picture);
+ _metadata->picture = g_strdup(value);
+ break;
+ default:
+ mc_error("Invalid Parameter [%d]", attribute);
+ return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
+ }
+
+ return MEDIA_CONTROLLER_ERROR_NONE;
+}
int mc_metadata_clone(mc_metadata_h src, mc_metadata_h *dst)
{
mc_retvm_if(_playlist_item->metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "invalid playlist item");
}
- switch (attribute) {
- case MC_META_MEDIA_TITLE:
- MC_SAFE_FREE(_playlist_item->metadata->title);
- _playlist_item->metadata->title = g_strdup(value);
- break;
- case MC_META_MEDIA_ARTIST:
- MC_SAFE_FREE(_playlist_item->metadata->artist);
- _playlist_item->metadata->artist = g_strdup(value);
- break;
- case MC_META_MEDIA_ALBUM:
- MC_SAFE_FREE(_playlist_item->metadata->album);
- _playlist_item->metadata->album = g_strdup(value);
- break;
- case MC_META_MEDIA_AUTHOR:
- MC_SAFE_FREE(_playlist_item->metadata->author);
- _playlist_item->metadata->author = g_strdup(value);
- break;
- case MC_META_MEDIA_GENRE:
- MC_SAFE_FREE(_playlist_item->metadata->genre);
- _playlist_item->metadata->genre = g_strdup(value);
- break;
- case MC_META_MEDIA_DURATION:
- MC_SAFE_FREE(_playlist_item->metadata->duration);
- _playlist_item->metadata->duration = g_strdup(value);
- break;
- case MC_META_MEDIA_DATE:
- MC_SAFE_FREE(_playlist_item->metadata->date);
- _playlist_item->metadata->date = g_strdup(value);
- break;
- case MC_META_MEDIA_COPYRIGHT:
- MC_SAFE_FREE(_playlist_item->metadata->copyright);
- _playlist_item->metadata->copyright = g_strdup(value);
- break;
- case MC_META_MEDIA_DESCRIPTION:
- MC_SAFE_FREE(_playlist_item->metadata->description);
- _playlist_item->metadata->description = g_strdup(value);
- break;
- case MC_META_MEDIA_TRACK_NUM:
- MC_SAFE_FREE(_playlist_item->metadata->track_num);
- _playlist_item->metadata->track_num = g_strdup(value);
- break;
- case MC_META_MEDIA_PICTURE:
- MC_SAFE_FREE(_playlist_item->metadata->picture);
- _playlist_item->metadata->picture = g_strdup(value);
- break;
- default:
- mc_error("Invalid Parameter [%d]", attribute);
-
+ ret = _mc_metadata_set((mc_playlist_h)_playlist_item->metadata, attribute, value);
+ if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
if (!found)
__release_playlist_item(_playlist_item);
- return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
+ return ret;
}
if (!found)
mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_secure_debug("meta data set attribute [%d] value [%s]", attribute, value);
-
- switch (attribute) {
- case MC_META_MEDIA_TITLE:
- MC_SAFE_FREE(mc_server->metadata->title);
- if (value != NULL)
- mc_server->metadata->title = strdup(value);
- break;
- case MC_META_MEDIA_ARTIST:
- MC_SAFE_FREE(mc_server->metadata->artist);
- if (value != NULL)
- mc_server->metadata->artist = strdup(value);
- break;
- case MC_META_MEDIA_ALBUM:
- MC_SAFE_FREE(mc_server->metadata->album);
- if (value != NULL)
- mc_server->metadata->album = strdup(value);
- break;
- case MC_META_MEDIA_AUTHOR:
- MC_SAFE_FREE(mc_server->metadata->author);
- if (value != NULL)
- mc_server->metadata->author = strdup(value);
- break;
- case MC_META_MEDIA_GENRE:
- MC_SAFE_FREE(mc_server->metadata->genre);
- if (value != NULL)
- mc_server->metadata->genre = strdup(value);
- break;
- case MC_META_MEDIA_DURATION:
- MC_SAFE_FREE(mc_server->metadata->duration);
- if (value != NULL)
- mc_server->metadata->duration = strdup(value);
- break;
- case MC_META_MEDIA_DATE:
- MC_SAFE_FREE(mc_server->metadata->date);
- if (value != NULL)
- mc_server->metadata->date = strdup(value);
- break;
- case MC_META_MEDIA_COPYRIGHT:
- MC_SAFE_FREE(mc_server->metadata->copyright);
- if (value != NULL)
- mc_server->metadata->copyright = strdup(value);
- break;
- case MC_META_MEDIA_DESCRIPTION:
- MC_SAFE_FREE(mc_server->metadata->description);
- if (value != NULL)
- mc_server->metadata->description = strdup(value);
- break;
- case MC_META_MEDIA_TRACK_NUM:
- MC_SAFE_FREE(mc_server->metadata->track_num);
- if (value != NULL)
- mc_server->metadata->track_num = strdup(value);
- break;
- case MC_META_MEDIA_PICTURE:
- MC_SAFE_FREE(mc_server->metadata->picture);
- if (value != NULL)
- mc_server->metadata->picture = strdup(value);
- break;
- default:
- mc_error("Invalid Parameter [%d]", attribute);
- return MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
- }
-
- return MEDIA_CONTROLLER_ERROR_NONE;
+ return _mc_metadata_set((mc_playlist_h)mc_server->metadata, attribute, value);
}
int mc_server_update_metadata(mc_server_h server)