use m_songs.length instead of PLAYLIST_LENGTH to determine whether to call getNewPlayList, because if not so, new list will come before all the songs in the queue are finished to play