This commit is contained in:
2026-02-24 16:56:55 +01:00
parent a99635e8f2
commit ace66827a0

View File

@@ -84,6 +84,10 @@
(set-flac-handle-stop-reading! handle #f)
(set-flac-handle-reading! handle #t)
(letrec ((reader (lambda (frame-nr)
(if (flac-handle-stop-reading handle)
(begin
(set-flac-handle-reading! handle #f)
'stopped-reading)
(let* ((st (ffi-handler 'state)))
(ffi-handler 'process-single)
(unless (eq? state st)
@@ -92,8 +96,6 @@
(format "Now in state ~a (frame-nr = ~a) (int-state = ~a)"
st frame-nr (ffi-handler 'int-state)))
)
(when (flac-handle-stop-reading handle)
(set! st 'stopped-reading))
(when (ffi-handler 'has-errno?)
(displayln
(format "Error in stream: ~a" (ffi-handler 'errno)))
@@ -107,11 +109,11 @@
(lambda (frame buffer)
(process-frame handle frame buffer)))
)
(if (or (eq? st 'end-of-stream) (eq? st 'stopped-reading))
(if (eq? st 'end-of-stream)
(begin
(set-flac-handle-reading! handle #f)
st)
(reader (+ frame-nr 1)))))
(reader (+ frame-nr 1))))))
))
(reader 0))))