ao buffer timing
This commit is contained in:
@@ -351,6 +351,14 @@
|
|||||||
(define (volume percentage)
|
(define (volume percentage)
|
||||||
(set! req-volume percentage))
|
(set! req-volume percentage))
|
||||||
|
|
||||||
|
(define (ao-buf-ms)
|
||||||
|
(ao-playback-buf-ms))
|
||||||
|
|
||||||
|
(define (ao-buf-ms! ms)
|
||||||
|
(let ((the-ms (if (< ms 50) 50 (if (> ms 1000) 1000 ms))))
|
||||||
|
(ao-set-playback-buf-ms! the-ms)
|
||||||
|
(ao-buf-ms)))
|
||||||
|
|
||||||
(define (state msg cb . force)
|
(define (state msg cb . force)
|
||||||
(let ((h (make-hash)))
|
(let ((h (make-hash)))
|
||||||
(with-mutex ao-mutex
|
(with-mutex ao-mutex
|
||||||
@@ -474,6 +482,12 @@
|
|||||||
(let ((st #f))
|
(let ((st #f))
|
||||||
(state "'state command" (λ (s) (set! st s)) 'force)
|
(state "'state command" (λ (s) (set! st s)) 'force)
|
||||||
st)))
|
st)))
|
||||||
|
((eq? cmd 'ao-buf-ms)
|
||||||
|
(do-rpc
|
||||||
|
(if (null? (cdr data))
|
||||||
|
(list (ao-buf-ms))
|
||||||
|
(list (ao-buf-ms! (cadr data))))
|
||||||
|
))
|
||||||
(else
|
(else
|
||||||
(do-rpc
|
(do-rpc
|
||||||
(list 'error (format "Unknown command ~a" cmd))))
|
(list 'error (format "Unknown command ~a" cmd))))
|
||||||
|
|||||||
@@ -30,6 +30,8 @@
|
|||||||
audio-file
|
audio-file
|
||||||
audio-play?
|
audio-play?
|
||||||
audio-buf-seconds!
|
audio-buf-seconds!
|
||||||
|
audio-ao-buf-ms!
|
||||||
|
audio-ao-buf-ms
|
||||||
audio-known-exts?
|
audio-known-exts?
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -269,6 +271,14 @@
|
|||||||
(let ((from (if (< min 1) 1 (if (> min 10) 10 min)))
|
(let ((from (if (< min 1) 1 (if (> min 10) 10 min)))
|
||||||
(until (if (< max min) (+ min 1) (if (> max 30) 30 max))))
|
(until (if (< max min) (+ min 1) (if (> max 30) 30 max))))
|
||||||
((audio-play-rpc handle) 'buf-seconds from until)))
|
((audio-play-rpc handle) 'buf-seconds from until)))
|
||||||
|
|
||||||
|
(define/contract (audio-ao-buf-ms! handle ms)
|
||||||
|
(-> audio-play? integer? (or/c integer? boolean?))
|
||||||
|
((audio-play-rpc handle) 'ao-buf-ms ms))
|
||||||
|
|
||||||
|
(define/contract (audio-ao-buf-ms handle)
|
||||||
|
(-> audio-play? (or/c integer? boolean?))
|
||||||
|
((audio-play-rpc handle) 'ao-buf-ms))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -197,7 +197,7 @@
|
|||||||
;; Playback buffer to send to libao in milliseconds
|
;; Playback buffer to send to libao in milliseconds
|
||||||
;; -------------------------------------------------------------------------
|
;; -------------------------------------------------------------------------
|
||||||
|
|
||||||
(define ao-buf-ms 150) ;; Playback buffer of 0.15s
|
(define ao-buf-ms 350) ;; Playback buffer of 0.35s
|
||||||
|
|
||||||
(define (ao-playback-buf-ms)
|
(define (ao-playback-buf-ms)
|
||||||
ao-buf-ms)
|
ao-buf-ms)
|
||||||
|
|||||||
Reference in New Issue
Block a user