                     CONFIG::LOGGING {
                         Log.error(err);
                     }
-                    var hlsError : HLSError = new HLSError(HLSError.OTHER_ERROR, _frag_current.url, err);
+                    var hlsError : HLSError = new HLSError(HLSError.OTHER_ERROR, frag.url, err);
                     _hls.dispatchEvent(new HLSEvent(HLSEvent.ERROR, hlsError));
                     return;
                 }

                    if (_loading_state == LOADING_STALLED) {
                        /* next consecutive fragment not found:
                        it could happen on live playlist :
                        - if bandwidth available is lower than lowest quality needed bandwidth 
                        - after long pause */
                        CONFIG::LOGGING {
                            Log.warn("loading stalled: restart playback");

                    var max_offset : Number = _frag_current.start_time + fragData.tag_pts_end_offset / 1000;
                    // in case of cold start/seek use case,
                    if (!_fragment_first_loaded ) {
                        /* ensure buffer max offset is greater than requested seek position.
                         * this will avoid issues with accurate seeking feature */
                        if (_seek_pos > max_offset) {
                            // cannot do progressive buffering until we have enough data to reach requested seek offset
