         private var _fragment_loading:Boolean;
         /** means that last fragment of a VOD playlist has been loaded */
         private var _reached_vod_end:Boolean;
-        /** Interval for checking buffer and position. **/
-        private var _interval:Number;
+        /** Timer used to check buffer and position. **/
+        private var _timer:Timer;
         /** requested start position **/
         private var _seek_position_requested:Number = 0;
          /** real start position , retrieved from first fragment **/

               } else {
                  _setState(HLSStates.PLAYING_BUFFERING);  
               }
               clearInterval(_interval);
               _interval = setInterval(_checkBuffer,100);
        };



            _hls.addEventListener(HLSEvent.LAST_VOD_FRAGMENT_LOADED,_lastVODFragmentLoadedHandler);
            _hls.addEventListener(HLSEvent.PLAYLIST_DURATION_UPDATED,_playlistDurationUpdated);
            _setState(HLSStates.IDLE);
            _timer = new Timer(100,0);
            _timer.addEventListener(TimerEvent.TIMER, _checkBuffer);
        };


        /** Check the bufferlength. **/
        private function _checkBuffer(e:Event):void {
            var buffer:Number = 0;
            // Calculate the buffer and position.
            if(_buffer.length) {
