fix jpeg writing
Closes PR 11701
Merge to 5.1
(cherry picked from commit 16eb172e5a
)
This commit is contained in:
parent
4e9b5bcaef
commit
cc249dcdc2
|
@ -562,11 +562,13 @@
|
|||
(define (init-destination m)
|
||||
(void))
|
||||
|
||||
(define (empty-output-buffer m)
|
||||
(define (do-empty-output-buffer m all?)
|
||||
(let* ([d (jpeg_compress_struct-dest m)]
|
||||
[b (jpeg_destination_mgr-buffer d)]
|
||||
[bstr (scheme_make_sized_byte_string b
|
||||
(- BUFFER-SIZE (jpeg_destination_mgr-free_in_buffer d))
|
||||
(if all?
|
||||
BUFFER-SIZE
|
||||
(- BUFFER-SIZE (jpeg_destination_mgr-free_in_buffer d)))
|
||||
0)]
|
||||
[out (ptr-ref (jpeg_compress_struct-client_data m) _scheme)])
|
||||
(write-bytes bstr out)
|
||||
|
@ -574,8 +576,11 @@
|
|||
(set-jpeg_destination_mgr-free_in_buffer! d BUFFER-SIZE)
|
||||
#t))
|
||||
|
||||
(define (empty-output-buffer m)
|
||||
(do-empty-output-buffer m #t))
|
||||
|
||||
(define (term-destination m)
|
||||
(empty-output-buffer m)
|
||||
(do-empty-output-buffer m #f)
|
||||
;; Maybe add support to optionally close port as early as possible?
|
||||
(when #f
|
||||
(let ([in (ptr-ref (jpeg_decompress_struct-client_data m) _scheme)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user