                     }
                 }
             }
-            // in case any data available in our FLV buffer, append into NetStream
-            if (_flvTagBuffer.length) {
-                if (_seekState == HLSSeekStates.SEEKING) {
-                    /* this is our first injection after seek(),
-                    let's flush netstream now
-                    this is to avoid black screen during seek command */
-                    super.close();
-                    CONFIG::FLASH_11_1 {
-                        try {
-                            super.useHardwareDecoder = HLSSettings.useHardwareVideoDecoder;
-                        } catch(e : Error) {
-                        }
-                    }
-                    super.play(null);
-                    super.appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK);
-                    // immediatly pause NetStream, it will be resumed when enough data will be buffered in the NetStream
-                    super.pause();
-                    // dispatch event to mimic NetStream behaviour
-                    dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS, false, false, {code:"NetStream.Seek.Notify", level:"status"}));
-                    _setSeekState(HLSSeekStates.SEEKED);
-                }
-                // CONFIG::LOGGING {
-                // Log.debug("appending data into NetStream");
-                // }
-                while (0 < _flvTagBuffer.length) {
-                    var tagBuffer : FLVTag = _flvTagBuffer.shift();
-                    // append data until we drain our _buffer
-                    try {
-                        if (tagBuffer.type == FLVTag.DISCONTINUITY) {
-                            super.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
-                            super.appendBytes(FLVTag.getHeader());
-                        }
-                        super.appendBytes(tagBuffer.data);
-                    } catch (error : Error) {
-                        var hlsError : HLSError = new HLSError(HLSError.TAG_APPENDING_ERROR, null, tagBuffer.type + ": " + error.message);
-                        _hls.dispatchEvent(new HLSEvent(HLSEvent.ERROR, hlsError));
-                    }
-                    // Last tag done? Then append sequence end.
-                    if (_reached_vod_end && _flvTagBuffer.length == 0) {
-                        super.appendBytesAction(NetStreamAppendBytesAction.END_SEQUENCE);
-                        super.appendBytes(new ByteArray());
-                    }
-                }
-                // FLV tag buffer drained, reset its duration
-                _flvTagBufferDuration = 0;
-            }
         };
 
         /** Return the current playback state. **/

            }
            _fragmentLoader.stop();
            _fragmentLoader.seek(position);
            _flvTagBuffer = new Vector.<FLVTag>();
            _flvTagBufferDuration = 0;
            _reached_vod_end = false;

            _setSeekState(HLSSeekStates.SEEKING);

        private var _hls : HLS;
        /** reference to buffer threshold controller */
        private var _bufferThresholdController : BufferThresholdController;
        /** The fragment loader. **/
        private var _fragmentLoader : FragmentLoader;
        /** FLV Tag Buffer . **/
