This commit is contained in:
2026-02-24 16:47:31 +01:00
parent 1a9c9b4616
commit faaaab687b
2 changed files with 9 additions and 2 deletions

View File

@@ -82,6 +82,7 @@
(let* ((ffi-handler (flac-handle-ffi-decoder-handler handle)) (let* ((ffi-handler (flac-handle-ffi-decoder-handler handle))
(state (ffi-handler 'state))) (state (ffi-handler 'state)))
(set-flac-handle-stop-reading! handle #f) (set-flac-handle-stop-reading! handle #f)
(set-flac-handle-reading! handle #t)
(letrec ((reader (lambda (frame-nr) (letrec ((reader (lambda (frame-nr)
(let* ((st (ffi-handler 'state))) (let* ((st (ffi-handler 'state)))
(ffi-handler 'process-single) (ffi-handler 'process-single)
@@ -107,7 +108,9 @@
(process-frame handle frame buffer))) (process-frame handle frame buffer)))
) )
(if (or (eq? st 'end-of-stream) (eq? st 'stopped-reading)) (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 (+ frame-nr 1)))))
)) ))
(reader 0)))) (reader 0))))
@@ -131,6 +134,9 @@
#f))) #f)))
(define (flac-stop handle) (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 ); end of module

View File

@@ -97,6 +97,7 @@
[cb-audio #:auto #:mutable] [cb-audio #:auto #:mutable]
[stream-info #:auto #:mutable] [stream-info #:auto #:mutable]
[stop-reading #:auto #:mutable] [stop-reading #:auto #:mutable]
[reading #:auto #:mutable]
) )
#:auto-value #f #:auto-value #f
;#:transparent ;#:transparent