             _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():void {
+        private function _checkBuffer(e:Event):void {
             var buffer:Number = 0;
             // Calculate the buffer and position.
             if(_buffer.length) {

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



        private var _fragment_loading:Boolean;
        /** means that last fragment of a VOD playlist has been loaded */
        private var _reached_vod_end:Boolean;
        /** 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 **/
