-
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
|
||||
(define (process-meta handle meta)
|
||||
(let ((type (FLAC__StreamMetadata-type meta)))
|
||||
(display (format " Got metadata type: ~a\n" type))
|
||||
(dbg-sound (format " Got metadata type: ~a\n" type))
|
||||
(cond
|
||||
([eq? type 'streaminfo]
|
||||
(let ((mh (flac-ffi-meta meta)))
|
||||
@@ -86,20 +86,18 @@
|
||||
(letrec ((reader (lambda (frame-nr)
|
||||
(if (flac-handle-stop-reading handle)
|
||||
(begin
|
||||
(displayln (format "handling stop at: ~a" (current-milliseconds)))
|
||||
(dbg-sound "handling stop at: ~a" (current-milliseconds))
|
||||
(set-flac-handle-reading! handle #f)
|
||||
'stopped-reading)
|
||||
(let* ((st (ffi-handler 'state)))
|
||||
(ffi-handler 'process-single)
|
||||
(unless (eq? state st)
|
||||
(set! state st)
|
||||
(displayln
|
||||
(format "Now in state ~a (frame-nr = ~a) (int-state = ~a)"
|
||||
st frame-nr (ffi-handler 'int-state)))
|
||||
(dbg-sound "Now in state ~a (frame-nr = ~a) (int-state = ~a)"
|
||||
st frame-nr (ffi-handler 'int-state))
|
||||
)
|
||||
(when (ffi-handler 'has-errno?)
|
||||
(displayln
|
||||
(format "Error in stream: ~a" (ffi-handler 'errno)))
|
||||
(err-sound "Error in stream: ~a" (ffi-handler 'errno))
|
||||
)
|
||||
(when (ffi-handler 'has-meta-data?)
|
||||
(ffi-handler 'process-meta-data
|
||||
@@ -138,13 +136,13 @@
|
||||
|
||||
(define (flac-stop handle)
|
||||
(let ((ct (current-milliseconds)))
|
||||
(displayln (format "requesting stop at: ~a" ct))
|
||||
(dbg-sound "requesting stop at: ~a" ct)
|
||||
(set-flac-handle-stop-reading! handle #t)
|
||||
(while (flac-handle-reading handle)
|
||||
(sleep 0.01))
|
||||
(let ((ct* (current-milliseconds)))
|
||||
(displayln (format "stop came back at: ~a" ct*))
|
||||
(displayln (format "flac-stop took: ~a ms" (- ct* ct))))
|
||||
(dbg-sound "stop came back at: ~a" ct*)
|
||||
(dbg-sound "flac-stop took: ~a ms" (- ct* ct)))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user