                 _callback(tags, min_pts, max_pts, _hasDiscontinuity, start_offset);
                 _pts_loading_in_progress = false;
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_LOADED, metrics));
+                _fragment_first_loaded = true;
             } catch (error : Error) {
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.ERROR, error.toString()));
             }

        private var _fragment_loading : Boolean;
        /** requested start position **/
        private var _seek_position_requested : Number;

        /** Create the loader. **/
        public function FragmentLoader(hls : HLS) : void {

            _fragment_loading = false;
            _callback = callback;
            _seek_position_requested = position;
            _fragment_first_loaded = false;
            _timer.start();
        }

