             if (_fragByteArray == null) {
                 _fragByteArray = new ByteArray();
                 _fragWritePosition = 0;
-                _audioTags = new Vector.<Tag>();
-                _videoTags = new Vector.<Tag>();
+                _tags = new Vector.<Tag>();
+                _audio_tags_found = false;
+                _video_tags_found = false;
                 _min_audio_pts = Number.POSITIVE_INFINITY;
                 _max_audio_pts = Number.NEGATIVE_INFINITY;
                 _min_video_pts = Number.POSITIVE_INFINITY;

                }
            }

            var tags : Vector.<Tag> = new Vector.<Tag>();
            // Push regular tags into buffer.
            for each (var vtag : Tag in _videoTags) {
                tags.push(vtag);
            }
            for each (var atag : Tag in _audioTags) {
                tags.push(atag);
            }

            // report audio-only segment
            if (_videoTags.length == 0) {
                _hls.dispatchEvent(new HLSEvent(HLSEvent.AUDIO_ONLY));
            }


            var tag : Tag;
            // Audio PTS/DTS normalization + min/max computation
            for each (tag in audioTags) {
                _audio_tags_found = true;
                tag.pts = PTS.normalize(_prev_audio_pts, tag.pts);
                tag.dts = PTS.normalize(_prev_audio_dts, tag.dts);
                _min_audio_pts = Math.min(_min_audio_pts, tag.pts);
                _max_audio_pts = Math.max(_max_audio_pts, tag.pts);
                _prev_audio_pts = tag.pts;
                _prev_audio_dts = tag.dts;
                _tags.push(tag);
            }

            // Video PTS/DTS normalization + min/max computation
            for each (tag in videoTags) {
                _video_tags_found = true;
                tag.pts = PTS.normalize(_prev_video_pts, tag.pts);
                tag.dts = PTS.normalize(_prev_video_dts, tag.dts);
                _min_video_pts = Math.min(_min_video_pts, tag.pts);
                _max_video_pts = Math.max(_max_video_pts, tag.pts);
                _prev_video_pts = tag.pts;
                _prev_video_dts = tag.dts;
                _tags.push(tag);
            }
        }

