[0.6.152] use player variable to get audio track info 59/193759/1
authorEunhae Choi <eunhae1.choi@samsung.com>
Mon, 26 Nov 2018 06:25:44 +0000 (15:25 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Mon, 26 Nov 2018 06:25:48 +0000 (15:25 +0900)
- remove 'content_audio_track_num' attr.
  'player->selector[text type].total_track_num' has the same meaning and usage.
- remove wrong initialization code of text track cnt
- resolve svace issue about dead path

Change-Id: I9ac4ac1be4bcd5273aec74fbb7a5b17a3b9ae449

packaging/libmm-player.spec
src/include/mm_player.h
src/mm_player_attrs.c
src/mm_player_gst.c
src/mm_player_priv.c
src/mm_player_tracks.c

index 7d8ed5d..b989330 100644 (file)
@@ -1,6 +1,6 @@
 Name:       libmm-player
 Summary:    Multimedia Framework Player Library
-Version:    0.6.151
+Version:    0.6.152
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
index c9e32c4..cec3063 100644 (file)
  */
 #define MM_PLAYER_AUDIO_SAMPLERATE          "content_audio_samplerate"
 /**
- * MM_PLAYER_AUDIO_TRACK_NUM
- *
- * track number inside a collection (int)
- */
-#define MM_PLAYER_AUDIO_TRACK_NUM           "content_audio_track_num"
-/**
  * MM_PLAYER_TEXT_TRACK_NUM
  *
  * track number inside a collection (int)
index 327cb60..8f41561 100644 (file)
@@ -408,15 +408,6 @@ _mmplayer_construct_attribute(MMHandleType handle)
                        MMPLAYER_MAX_INT
                },
                {
-                       "content_audio_track_num",
-                       MM_ATTRS_TYPE_INT,
-                       MM_ATTRS_FLAG_RW,
-                       (void *) 0,
-                       MM_ATTRS_VALID_TYPE_INT_RANGE,
-                       0,
-                       MMPLAYER_MAX_INT
-               },
-               {
                        "content_text_track_num",
                        MM_ATTRS_TYPE_INT,
                        MM_ATTRS_FLAG_RW,
index f000701..ccb1ac1 100644 (file)
@@ -1853,10 +1853,11 @@ __mmplayer_gst_handle_element_message(mm_player_t* player, GstMessage *msg)
                                player->subtitle_language_list = (GList *)g_value_get_pointer(lang_list);
                                mm_attrs_set_int_by_name(attrs, "content_text_track_num", (gint)count);
                                if (mm_attrs_commit_all(attrs))
-                                       LOGE("failed to commit.\n");
-                               LOGD("Total subtitle tracks = %d \n", count);
+                                       LOGE("failed to commit");
 
-                               while (count) {
+                               LOGD("the num of external subtitle track: %d", count);
+
+                               while (count) { /* track lang info */
                                        temp = g_list_nth_data(player->subtitle_language_list, count - 1);
                                        if (temp)
                                                LOGD("value of lang_key is %s and lang_code is %s",
index 46baf11..af420ca 100755 (executable)
@@ -1075,7 +1075,6 @@ __mmplayer_gst_decode_pad_added(GstElement *elem, GstPad *pad, gpointer data)
        GstStructure *str = NULL;
        const gchar *name = NULL;
        GstPad *sinkpad = NULL;
-       GstPad *srcpad = NULL;
        gboolean first_track = FALSE;
        gboolean caps_ret = TRUE;
 
@@ -1199,11 +1198,6 @@ ERROR:
                sinkpad = NULL;
        }
 
-       if (srcpad) {
-               gst_object_unref(GST_OBJECT(srcpad));
-               srcpad = NULL;
-       }
-
        return;
 }
 
@@ -1250,12 +1244,11 @@ static void __mmplayer_set_decode_track_info(mm_player_t* player, MMPlayerTrackT
 {
        MMHandleType attrs = 0;
        gint active_index = 0;
-       gchar *attr_name = NULL;
 
        MMPLAYER_FENTER();
        MMPLAYER_RETURN_IF_FAIL(player);
 
-       LOGD("type %d", type);
+       LOGD("type: %d, the num of track: %d", type, player->selector[type].total_track_num);
 
        /* change track to active pad */
        active_index = player->selector[type].active_pad_index;
@@ -1265,24 +1258,15 @@ static void __mmplayer_set_decode_track_info(mm_player_t* player, MMPlayerTrackT
                player->selector[type].active_pad_index = DEFAULT_TRACK;
        }
 
-       LOGD("Total num of tracks = %d", player->selector[type].total_track_num);
-
-       if (type == MM_PLAYER_TRACK_TYPE_AUDIO) {
-               attr_name = "content_audio_track_num";
-       } else if (type == MM_PLAYER_TRACK_TYPE_TEXT) {
-               attr_name = "content_text_track_num";
-       } else {
-               LOGE("invalid type info %d", type);
-               return;
-       }
-
-       attrs = MMPLAYER_GET_ATTRS(player);
-       if (attrs) {
-               mm_attrs_set_int_by_name(attrs, attr_name, (gint)player->selector[type].total_track_num);
-               if (mm_attrs_commit_all(attrs))
-                       LOGW("failed to commit attrs.");
-       } else {
-               LOGW("cannot get content attribute");
+       if (type == MM_PLAYER_TRACK_TYPE_TEXT) {
+               attrs = MMPLAYER_GET_ATTRS(player);
+               if (attrs) {
+                       mm_attrs_set_int_by_name(attrs, "content_text_track_num", player->selector[type].total_track_num);
+                       if (mm_attrs_commit_all(attrs))
+                               LOGW("failed to commit attrs.");
+               } else {
+                       LOGW("cannot get content attribute");
+               }
        }
 
        MMPLAYER_FLEAVE();
@@ -1610,11 +1594,8 @@ __mmplayer_gst_create_sinkbin(GstElement *elem, GstPad *pad, gpointer data)
                        }
 
                        sinkbin = player->pipeline->textbin[MMPLAYER_T_BIN].gst;
-                       LOGD("creating textsink bin success");
-
-                       mm_attrs_set_int_by_name(attrs, "content_text_track_num", 1);
                        player->textsink_linked  = 1;
-
+                       LOGD("creating textsink bin success");
                } else {
                        if (!player->textsink_linked) {
                                LOGD("re-using textbin");
index 7e8f352..5e0582d 100644 (file)
@@ -54,26 +54,22 @@ int _mmplayer_get_track_count(MMHandleType hplayer,  MMPlayerTrackType type, int
                return MM_ERROR_PLAYER_INTERNAL;
        }
 
+       *count = 0;
+
        switch (type) {
        case MM_PLAYER_TRACK_TYPE_AUDIO:
-                       {
-                               /*if function called for normal file [no multi audio] */
-                               if (player->selector[MM_PLAYER_TRACK_TYPE_AUDIO].total_track_num <= 0) {
-                                       *count = 0;
-                                       break;
-                               }
-                               ret = mm_attrs_get_int_by_name(attrs, "content_audio_track_num", count);
-                       }
+               if (player->selector[MM_PLAYER_TRACK_TYPE_AUDIO].total_track_num > 0)
+                       *count = player->selector[MM_PLAYER_TRACK_TYPE_AUDIO].total_track_num;
                break;
-       case MM_PLAYER_TRACK_TYPE_TEXT:
-                       ret = mm_attrs_get_int_by_name(attrs, "content_text_track_num", count);
+       case MM_PLAYER_TRACK_TYPE_TEXT: /* internal or external */
+               ret = mm_attrs_get_int_by_name(attrs, "content_text_track_num", count);
                break;
        default:
-                       ret = MM_ERROR_COMMON_INVALID_ARGUMENT;
+               ret = MM_ERROR_COMMON_INVALID_ARGUMENT;
                break;
        }
 
-       LOGD("%d track num : %d\n", type, *count);
+       LOGD("type: %d, the num of track: %d", type, *count);
 
        MMPLAYER_FLEAVE();
 
@@ -355,7 +351,6 @@ void __mmplayer_track_destroy(mm_player_t* player)
 
        attrs = MMPLAYER_GET_ATTRS(player);
        if (attrs) {
-               mm_attrs_set_int_by_name(attrs, "content_audio_track_num", 0);
                mm_attrs_set_int_by_name(attrs, "content_text_track_num", 0);
 
                if (mm_attrs_commit_all(attrs))
@@ -379,7 +374,7 @@ void __mmplayer_track_update_info(mm_player_t* player, MMPlayerTrackType type, G
        player->selector[type].total_track_num++;
        g_ptr_array_add(player->selector[type].channels, sinkpad);
 
-       LOGD("type:%d, total track:%d\n", type, player->selector[type].total_track_num);
+       LOGD("type: %d, track cnt: %d", type, player->selector[type].total_track_num);
 }
 
 static int __mmplayer_track_get_language(mm_player_t* player, MMPlayerTrackType type, gint stream_index, gchar **code)