anchor.diff:  		   ;; pause synching protocol w/video stream
   		     (mezzano.supervisor:acquire-mutex (cl-video:pause-lock container))
   		   ;; send the audio frame
  -		     (mezzano.driver.intel-hda::play-sound src (first mezzano.driver.intel-hda::*cards*))
  +		     (cl-video:sink-frame aout src)
   		     (loop while (cl-video:pause container) do (sleep 0.2))
   		     (mezzano.supervisor:release-mutex (cl-video:pause-lock container))
   		   ;; advance the cursor lock
  
positive.code:       (cond ((char= ch #\Space)
               (signal 'pause-event))))))
  
  ;;; we speccialize own class & method to resample stream as necessary for Intel HDA
  ;;; but we still want to run decode in another thread
  (defclass hda-pcm-stream-record (cl-video:audio-stream-record)
    ())
  
  (defmethod shared-initialize :after ((rec hda-pcm-stream-record) slots &key &allow-other-keys)
  
negative.code: (defmethod find-hda-pcm-stream-record ((container cl-video:av-container))
    (find-if #'(lambda (x) (and (eql (type-of x) 'hda-pcm-stream-record)
  			      (eql (cl-video:compression-code x) cl-video:+pcmi-uncompressed+))) (cl-video:stream-records container)))
  |#
  
  (defmethod play-audio-stream ((container cl-video:av-container))
    (let ((aout (cl-video:audio-out container))
  	(audio-rec (cl-video:audio-rec container)))
      (when audio-rec
        (mezzano.supervisor:make-thread
         #'(lambda ()
  	   (when (not (and (eql compression 1) ; uncompressed
  			   (eql channels 2)
  			   (eql sample-rate 44100)
  			   (member sample-size '(8 16))))
  	     (format t "Unsupported wav file. ~S ~S ~S ~S ~S~%" fmt compression channels sample-rate sample-size)
  	     (return-from play-audio-stream))
  	   (cl-video:stream-playback-start audio-rec)
  	   (unwind-protect
  		(loop until (cl-video:finish container)
  