anchor.diff:  (defparameter *max-frames-to-read* most-positive-fixnum "when trying to determine bit-rate, etc, read at most this many frames")
   
   (defun map-frames (in func &key (start-pos nil) (read-payload nil) (max nil))
  +  "Loop through the MPEG audio frames in a file.  If *MAX-FRAMES-TO-READ* is set, return after reading that many frames."
     (fastest
       (log5:with-context "next-frame"
         (log-mpeg-frame "mapping frames, start pos ~:d" start-pos)
  
positive.code: 
  (define-condition mpeg-bad-header (mpeg-condition) ())
  
  (defconstant +sync-word+  #xffe0)
  
  (defconstant +mpeg-2.5+   0)
  (defconstant +v-reserved+ 1)
  (defconstant +mpeg-2+     2)
  
negative.code:                 (return-from find-first-sync nil))
                (incf count)
  
                (when (= (logand hdr-u32 #xffe00000) #xffe00000) ; magic number is potential sync frame header
                  (log-mpeg-frame "Potential sync bytes at ~:d: <~x>" pos hdr-u32)
                  (let ((hdr (make-instance 'frame :hdr-u32 hdr-u32 :pos pos)))
                    (if (load-frame hdr :instream in :read-payload t)
  