         private var _hls : HLS;
         /** reference to buffer threshold controller */
         private var _bufferThresholdController : BufferThresholdController;
-        /** FLV tags buffer vector **/
-        private var _flvTagBuffer : Vector.<FLVTag>;
-        /** FLV tags buffer duration **/
-        private var _flvTagBufferDuration : Number;
         /** The fragment loader. **/
         private var _fragmentLoader : FragmentLoader;
         /** FLV Tag Buffer . **/

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

            _setSeekState(HLSSeekStates.SEEKING);


        /** append tags to NetStream **/
        public function appendTags(tags : Vector.<FLVTag>) : void {
            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();
            }
            // append all tags
            for each (var tagBuffer : FLVTag in tags) {
                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));
                }
            }
            if (_seekState == HLSSeekStates.SEEKING) {
                // dispatch event to mimic NetStream behaviour
                dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS, false, false, {code:"NetStream.Seek.Notify", level:"status"}));
                _setSeekState(HLSSeekStates.SEEKED);
            }
        };

