generic audio decoder framework implemented
This commit is contained in:
+9
-2
@@ -48,6 +48,8 @@
|
||||
(channels (hash-ref h 'channels))
|
||||
(block-size (hash-ref h 'blocksize)))
|
||||
(hash-set! h 'duration (flac-duration handle))
|
||||
(let ((sample (hash-ref h 'number)))
|
||||
(hash-set! h 'sample sample))
|
||||
(set! last-buffer buffer)
|
||||
(set! last-buf-len block-size)
|
||||
(hash-set! kinds type #t)
|
||||
@@ -70,12 +72,17 @@
|
||||
(hash-ref mh 'channels)
|
||||
(hash-ref mh 'bits-per-sample)
|
||||
(hash-ref mh 'total-samples))))
|
||||
(let ((duration (exact->inexact
|
||||
(/ (hash-ref mh 'total-samples)
|
||||
(hash-ref mh 'sample-rate)))))
|
||||
(hash-set! mh 'duration duration))
|
||||
(set-flac-handle-stream-info! handle si)
|
||||
(let ((cb (flac-handle-cb-stream-info handle)))
|
||||
(when (procedure? cb)
|
||||
(cb si))))))
|
||||
(cb mh))))))
|
||||
)
|
||||
))
|
||||
)
|
||||
)
|
||||
|
||||
(define (flac-read handle)
|
||||
(let* ((ffi-handler (flac-handle-ffi-decoder-handler handle))
|
||||
|
||||
Reference in New Issue
Block a user