anchor.diff:              (loop
                 (setf pos (stream-seek in))
                 (setf hdr-u32 (stream-read-u32 in))
  -              (when (null hdr-u32) (return-from find-first-sync nil))
  +              (when (null hdr-u32)
  +                (return-from find-first-sync nil))
                 (incf count)
   
                 (when (= (logand hdr-u32 #xffe00000) #xffe00000)
  
positive.code:         while (and frame (< count max-frames)) do
            (log-mpeg-frame "map-frames: at pos ~:d, dispatching function" (pos frame))
            (funcall func frame)))))
  
  ;; (defun get-mpeg-bit-rate-exhaustive (in)
  ;;   (let ((n-frames 0)
  ;;         (total-len 0)
  ;;         (last-bit-rate nil)
  ;;         (bit-rate-total 0)
  ;;         (vbr nil))
  ;;     (map-frames in (lambda (f)
  ;;                      (incf n-frames)
  ;;                      (incf total-len (float (/ (samples f) (sample-rate f))))
  ;;                      (incf bit-rate-total (bit-rate f))
  ;;                      (if (null last-bit-rate)
  ;;                          (setf last-bit-rate (bit-rate f))
  ;;                          (progn
  ;;                            (when (not (= last-bit-rate (bit-rate f)))
  ;;                              (setf vbr t))
  ;;                            (setf last-bit-rate (bit-rate f)))))
  ;;                 :read-payload nil)
  ;;     (if (or (zerop n-frames) (zerop bit-rate-total))
  ;;         (values nil nil nil)
  ;;         (values vbr (float (/ bit-rate-total n-frames)) total-len))))
  
  ;; (defun get-mpeg-bit-rate-ff (in)
  ;;   (let ((ff (find-first-sync in)))
  ;;     (if (not ff)
  ;;         (return-from get-mpeg-bit-rate-ff (values nil nil)))
  ;;     (if (vbr ff)
  ;;         (let* ((len (float (* (frames (vbr ff)) (/ (samples ff) (sample-rate ff)))))
  ;;                (br (float (/ (* 8 (bytes (vbr ff)) ) len))))
  ;;           (values t br len))
  ;;         (values nil nil nil))))
  
  (defclass mpeg-audio-info ()
    ((is-vbr      :accessor is-vbr      :initarg :is-vbr      :initform nil)
  
negative.code: 
            (setf vbr (make-instance 'vbr-info))
            (let ((v (make-mem-stream (payload me))))
              (stream-seek v i :start)            ; seek to Xing/Info offset
              (setf (tag vbr) (stream-read-iso-string-with-len v 4))
              (setf (flags vbr) (stream-read-u32 v))
  
              (when (logand (flags vbr) +vbr-frames+)
                (setf (frames vbr) (stream-read-u32 v))
                (log-mpeg-frame "Xing frames set: read ~d" (frames vbr))
                (when (zerop (frames vbr))
                  (warn-user "warning file ~a Xing/Info header flags has FRAMES set, but field is zero." fn)))
  
              (when (logand (flags vbr) +vbr-bytes+)
                (setf (bytes vbr) (stream-read-u32 v))
                (log-mpeg-frame "Xing bytes set: read ~d" (bytes vbr)))
  
              (when (logand (flags vbr) +vbr-tocs+)
                (setf (tocs vbr) (stream-read-sequence v 100))
                (log-mpeg-frame "Xing tocs set: read ~a" (tocs vbr)))
  
              (when (logand (flags vbr) +vbr-scale+)
                (setf (scale vbr) (stream-read-u32 v))
                (log-mpeg-frame "Xing scale set: read ~d" (scale vbr)))
              (log-mpeg-frame "vbr-info = ~a" (vpprint vbr nil))))))))
  
  (defmethod vpprint ((me vbr-info) stream)
  