-
This commit is contained in:
@@ -82,6 +82,7 @@
|
||||
(let* ((ffi-handler (flac-handle-ffi-decoder-handler handle))
|
||||
(state (ffi-handler 'state)))
|
||||
(set-flac-handle-stop-reading! handle #f)
|
||||
(set-flac-handle-reading! handle #t)
|
||||
(letrec ((reader (lambda (frame-nr)
|
||||
(let* ((st (ffi-handler 'state)))
|
||||
(ffi-handler 'process-single)
|
||||
@@ -107,7 +108,9 @@
|
||||
(process-frame handle frame buffer)))
|
||||
)
|
||||
(if (or (eq? st 'end-of-stream) (eq? st 'stopped-reading))
|
||||
st
|
||||
(begin
|
||||
(set-flac-handle-reading! handle #f)
|
||||
st)
|
||||
(reader (+ frame-nr 1)))))
|
||||
))
|
||||
(reader 0))))
|
||||
@@ -131,6 +134,9 @@
|
||||
#f)))
|
||||
|
||||
(define (flac-stop handle)
|
||||
(set-flac-handle-stop-reading! handle #t))
|
||||
(set-flac-handle-stop-reading! handle #t)
|
||||
(while (flac-handle-reading handle)
|
||||
(sleep 0.01))
|
||||
)
|
||||
|
||||
); end of module
|
||||
|
||||
@@ -97,6 +97,7 @@
|
||||
[cb-audio #:auto #:mutable]
|
||||
[stream-info #:auto #:mutable]
|
||||
[stop-reading #:auto #:mutable]
|
||||
[reading #:auto #:mutable]
|
||||
)
|
||||
#:auto-value #f
|
||||
;#:transparent
|
||||
|
||||
Reference in New Issue
Block a user