anchor.diff:    (setf  (buffer rec) (make-array (suggested-buffer-size rec) :element-type '(unsigned-byte 8)))
     (initialize-ring rec 16 (suggested-buffer-size rec) 'float))
   
  -(defmethod find-portaudio-stream-record ((avi avi-mjpeg-stream))
  +(defmethod find-portaudio-stream-record ((container avi-mjpeg-stream))
     (find-if #'(lambda (x) (and (eql (type-of x) 'portaudio-pcm-stream-record)
  -			      (eql (compression-code x) +pcmi-uncompressed+))) (stream-records avi)))
  +			      (eql (compression-code x) +pcmi-uncompressed+))) (stream-records container)))
   
  -(defmethod play-audio-stream ((avi avi-mjpeg-stream))
  -  (let ((audio-rec (find-portaudio-stream-record avi))
  +(defmethod play-audio-stream ((container av-container))
  +  (let ((audio-rec (find-portaudio-stream-record container))
   	astream)
       (when audio-rec
         (bt:make-thread
  
positive.code: 
  (defun play (pathname)
    (decode-file pathname :player-callback
  	       #'(lambda (avi)
  		   ;;has to use our specific decode for audio
  		   (let ((a (find-pcm-stream-record avi)))
  		     (when a (change-class a 'portaudio-pcm-stream-record)))
  		   (prime-all-streams avi)
  		   (play-audio-stream avi) (play-video-stream avi))))
  
negative.code: 		       (xlib:put-image pixmap pixmap-gc image :width width :height height :x 0 :y 0)
  		       (xlib:copy-area pixmap gc 0 0 width height window 0 0)
  		       (xlib:display-force-output display)
  		       (unless (pause container)
  			 (bt:acquire-lock (vacancy-lock (car (rcursor rec))))
  			 (bt:release-lock (vacancy-lock cur)))
  		       (when (eql cur (final rec))
  