- retv_if(msg == NULL, BLUETOOTH_ERROR_INTERNAL);
-
- object = g_strdup(BT_MEDIA_OBJECT_PATH);
-
- dbus_message_iter_init_append(msg, &iter);
- dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, &object);
- g_free(object);
-
- dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
- DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING
- DBUS_TYPE_STRING_AS_STRING
- DBUS_TYPE_VARIANT_AS_STRING
- DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &property_dict);
-
- __bt_media_append_dict_entry(&property_dict,
- "LoopStatus",
- DBUS_TYPE_STRING,
- &loopstatus_settings[player_settings.loopstatus].property);
-
- __bt_media_append_dict_entry(&property_dict,
- "Shuffle",
- DBUS_TYPE_BOOLEAN,
- &player_settings.shuffle);
-
- __bt_media_append_dict_entry(&property_dict,
- "PlaybackStatus",
- DBUS_TYPE_STRING,
- &playback_status[player_settings.playbackstatus].property);
-
- __bt_media_append_dict_entry(&property_dict,
- "Position",
- DBUS_TYPE_INT64, &player_settings.position);
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "xesam:title",
- DBUS_TYPE_STRING, &metadata.title, 0);
-
- metadata.artists = g_malloc0(sizeof(char *));
- metadata.artists[0] = "";
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "xesam:artist",
- DBUS_TYPE_ARRAY, &metadata.artists, 1);
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "xesam:album",
- DBUS_TYPE_STRING, &metadata.album, 0);
-
- metadata.genres = g_malloc0(sizeof(char *));
- metadata.genres[0] = "";
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "xesam:genre",
- DBUS_TYPE_ARRAY, &metadata.genres, 1);
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "mpris:length",
- DBUS_TYPE_INT64, &metadata.duration, 0);
-
- __bt_media_append_metadata_dict_entry(&property_dict,
- "xesam:trackNumber",
- DBUS_TYPE_INT32, &metadata.tracknumber, 0);
-
- dbus_message_iter_close_container(&iter, &property_dict);
-
- dbus_error_init(&err);
- reply = dbus_connection_send_with_reply_and_block(conn,
- msg, -1, &err);
- dbus_message_unref(msg);
-
- if (!reply) {
- BT_DBG("Error in registering the Music Player \n");
-
- if (dbus_error_is_set(&err)) {
- BT_ERR("%s", err.message);
- dbus_error_free(&err);
- return BLUETOOTH_ERROR_INTERNAL;