From b69f29075f0297640387f31e530cb04a8f85fc9b Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Thu, 7 May 2026 15:55:05 +0200 Subject: [PATCH] small buf-size bug --- ffmpeg-definitions.rkt | 7 +++++++ libao-async-ffi-racket.rkt | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 ffmpeg-definitions.rkt diff --git a/ffmpeg-definitions.rkt b/ffmpeg-definitions.rkt new file mode 100644 index 0000000..e76e0ba --- /dev/null +++ b/ffmpeg-definitions.rkt @@ -0,0 +1,7 @@ +#lang racket/base +(require ffi/unsafe + "private/utils.rkt" + ) + + + diff --git a/libao-async-ffi-racket.rkt b/libao-async-ffi-racket.rkt index 942b8fa..833ae98 100644 --- a/libao-async-ffi-racket.rkt +++ b/libao-async-ffi-racket.rkt @@ -166,9 +166,11 @@ (let ((el (if (<= ms-wait 0) (sync/timeout 0 (ao-handle-queue h)) (sync/timeout (/ ms-wait 1000.0) (ao-handle-queue h) )))) - (unless (eq? el #f) - (set-ao-handle-buf-size! h (- (ao-handle-buf-size h) (queue-elem-buflen el)))) - el)) + (if (eq? el #f) + (set-ao-handle-buf-size! h 0) ; no elements in queue => empty => no buffer with music samples + (set-ao-handle-buf-size! h (- (ao-handle-buf-size h) (queue-elem-buflen el)))) + el) + ) (define (needed-bytes h)