         /* variable to deal with IO Error retry */
         private var _bIOError : Boolean;
         private var _nIOErrorDate : Number = 0;
-        /** boolean to track playlist PTS in loading */
-        private var _pts_loading_in_progress : Boolean = false;
-        /** boolean to indicate that PTS of new playlist has just been loaded */
-        private var _pts_just_loaded : Boolean = false;
+        /** boolean to track whether PTS analysis is ongoing or not */
+        private var _pts_analyzing : Boolean = false;
+        /** boolean to indicate that PTS has just been analyzed */
+        private var _pts_just_analyzed : Boolean = false;
         /** Timer used to monitor/schedule fragment download. **/
         private var _timer : Timer;
         /** requested seek position **/

                    _hasDiscontinuity = false;
                    fragData.tags = new Vector.<FLVTag>();
                }
                _pts_loading_in_progress = false;
                _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_LOADED, tagsMetrics));
                _fragment_first_loaded = true;
                _frag_previous = _frag_current;

                        /* in case IO Error has been raised, stick to same level */
                        level = _level;
                        /* in case last fragment was loaded for PTS analysis, stick to same level */
                    } else if (_pts_just_analyzed == true) {
                        _pts_just_analyzed = false;
                        level = _level;
                        /* in case we are switching levels (waiting for playlist to reload) or seeking , stick to same level */
                    } else if (_switchlevel == true) {
