                         // retrieve first keyframe after first_pts
                         if (videoIdx == -1 && tag.pts > first_pts && tag.keyframe) {
                             lastIdx = videoIdx = i;
+                            video_dts = tag.dts;
                             CONFIG::LOGGING {
                                 Log.debug("found AVC_NALU_K after overlap @PTS:" + tag.pts);
                             }

                        // retrieve first frame after first_pts
                        if (audioIdx == -1 && tag.pts >  first_pts) {
                            lastIdx = audioIdx = i;
                        } else if (audioIdx >=0) {
                            lastIdx = i;
                        }

        private function filterOverlappingTags(tags : Vector.<FLVTag>, overlap : Number) : Vector.<FLVTag> {
            var aacIdx : int,avcIdx : int,disIdx : int,metIdx : int, videoIdx : int,audioIdx : int, lastIdx : int;
            var first_pts : Number = tags[0].pts + 1000*overlap;
            var audio_dts : Number, video_dts : Number;
            var flvData : FLVData = getNextTag(false);
            if(flvData) {
                first_pts = Math.max(first_pts,flvData.tag.pts);
