anchor.diff:  
   (defmethod shared-initialize :after ((rec audio-stream-record) slots &key &allow-other-keys)
     (declare (ignorable slots))
  -  (setf  (buffer rec) (make-array (suggested-buffer-size rec) :element-type '(unsigned-byte 8))
  -	 (chunk-queue rec) (make-list 16))
  -  (loop for chunk on (chunk-queue rec) do
  -       (setf (car chunk) (make-instance 'chunk :frame 
  -					(make-array (suggested-buffer-size rec) :element-type 'float))))
  -  (setf (cdr (last (chunk-queue rec))) (chunk-queue rec)
  -	(rcursor rec) (chunk-queue rec)
  -	(wcursor rec) (cdr (chunk-queue rec))))
  +  (setf  (buffer rec) (make-array (suggested-buffer-size rec) :element-type '(unsigned-byte 8))))
   
   (defmethod read-audio-stream-header ((rec audio-stream-record) stream)
     (loop for chunk = (riff:read-riff-chunk stream)
  
positive.code:     (setf (jpeg::descriptor-byte-reader (jpeg-descriptor rec)) #'(lambda () (read-byte is)))
      (jpeg:read-dht (jpeg-descriptor rec)))
    (setf (buffer rec) (make-array (suggested-buffer-size rec) :element-type '(unsigned-byte 8))
  	(jpeg:descriptor-source-cache (jpeg-descriptor rec)) (buffer rec)
  	(chunk-queue rec) (make-list (max 5 (* 1 (floor (rate rec) (scale rec)))))) ;at least 5 chunks to prevent cursor deadlocks
    (loop for chunk on (chunk-queue rec) do
         (setf (car chunk) (make-instance 'chunk :frame (jpeg:allocate-buffer (height (avi rec)) (width (avi rec)) 3))))
    (setf (cdr (last (chunk-queue rec))) (chunk-queue rec)
  	(rcursor rec) (chunk-queue rec)
  	(wcursor rec) (cdr (chunk-queue rec))))
  
  (defclass audio-stream-record (stream-record)
    ((compression-code :accessor compression-code)
  
negative.code: 	(error 'unrecognized-file-format))
        (cond ((string-equal fourcc "avi ") (read-avi-header avi stream))
  	    (t (error 'unsupported-avi-file-format))))
      (when (player-callback avi)
        (funcall (player-callback avi) avi))
      (loop for chunk = (riff:read-riff-chunk stream :chunk-data-reader (chunk-decoder avi))
  