[0.6.215] update attr default value with ini 64/231364/1 accepted/tizen/5.5/unified/20200422.123247 submit/tizen_5.5/20200422.011022
authorEunhye Choi <eunhae1.choi@samsung.com>
Tue, 21 Apr 2020 11:46:38 +0000 (20:46 +0900)
committerEunhye Choi <eunhae1.choi@samsung.com>
Tue, 21 Apr 2020 11:46:44 +0000 (20:46 +0900)
- fix bug about updating attributes with ini file

Change-Id: Ic2d770013bb5c0d114f4fe8130e48e61e4768b5d

packaging/libmm-player.spec
src/mm_player_attrs.c

index c6775d67f160dab0fd8798ac25b465c3758890de..bf8cef0279e52fbc2a6549d1e5e3db0a3b859862 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.214
+Version:    0.6.215
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index 3e82e01982fb5b7b0218d5ddbca2eb2fbc7bdda2..e2525ab4e3dcbf30e37d18cf636039f88dfcb9af 100644 (file)
@@ -1196,12 +1196,22 @@ MMHandleType _mmplayer_construct_attribute(MMHandleType handle)
                return NULL;
        }
 
+       /* alloc default attribute info */
+       player->default_attrs = (mmplayer_attrs_spec_t *)g_try_malloc(sizeof(mmplayer_attrs_spec_t) * num_of_attrs);
+       if (player->default_attrs == NULL) {
+               LOGE("failed to alloc default attribute info");
+               goto ERROR;
+       }
+
+       memcpy(player->default_attrs, player_attrs, sizeof(mmplayer_attrs_spec_t) * num_of_attrs);
+       __mmplayer_set_ini_to_valid_info(handle);
+
        /* initialize values of attributes */
        for (idx = 0; idx < num_of_attrs; idx++) {
-               base[idx].name = player_attrs[idx].name;
-               base[idx].value_type = player_attrs[idx].value_type;
-               base[idx].flags = player_attrs[idx].flags;
-               base[idx].default_value = player_attrs[idx].default_value.value_void; /* FIXME: need to consider the double data type */
+               base[idx].name = player->default_attrs[idx].name;
+               base[idx].value_type = player->default_attrs[idx].value_type;
+               base[idx].flags = player->default_attrs[idx].flags;
+               base[idx].default_value = player->default_attrs[idx].default_value.value_void; /* FIXME: need to consider the double data type */
        }
 
        result = mm_attrs_new(base, num_of_attrs, "mmplayer_attrs",
@@ -1210,22 +1220,11 @@ MMHandleType _mmplayer_construct_attribute(MMHandleType handle)
        /* clean */
        MMPLAYER_FREEIF(base);
 
-       if (result) {
+       if (result != MM_ERROR_NONE) {
                LOGE("failed to create player attrs");
-               return NULL;
-       }
-
-       /* alloc default attribute info */
-       player->default_attrs = (mmplayer_attrs_spec_t *)g_try_malloc(sizeof(mmplayer_attrs_spec_t) * num_of_attrs);
-       if (player->default_attrs == NULL) {
-               LOGE("failed to alloc default attribute info");
                goto ERROR;
        }
 
-       memcpy(player->default_attrs, player_attrs, sizeof(mmplayer_attrs_spec_t) * num_of_attrs);
-
-       __mmplayer_set_ini_to_valid_info(handle);
-
        /* set validity type and range */
        for (idx = 0; idx < num_of_attrs; idx++) {
                mm_attrs_set_valid_type(attrs, idx, player->default_attrs[idx].valid_type);
@@ -1270,6 +1269,7 @@ MMHandleType _mmplayer_construct_attribute(MMHandleType handle)
        return attrs;
 
 ERROR:
+       MMPLAYER_FREEIF(base);
        MMPLAYER_FREEIF(player->default_attrs);
 
        if (attrs)