Load versions of libraries.
This commit is contained in:
@@ -79,20 +79,24 @@
|
||||
|
||||
(define libavutil (get-lib (case (system-type 'os)
|
||||
[(windows) '("avutil-60")]
|
||||
[else '("avutil" "libavutil")]) '(#f)))
|
||||
[else '("avutil" "libavutil")])
|
||||
(ffmpeg-lib-versions 'avutil)))
|
||||
|
||||
|
||||
(define libswresample (get-lib (case (system-type 'os)
|
||||
[(windows) '("swresample-6")]
|
||||
[else '("swresample" "libswresample")]) '(#f)))
|
||||
[else '("swresample" "libswresample")])
|
||||
(ffmpeg-lib-versions 'swresample)))
|
||||
|
||||
(define libavcodec (get-lib (case (system-type 'os)
|
||||
[(windows) '("avcodec-62")]
|
||||
[else '("avcodec" "libavcodec")]) '(#f)))
|
||||
[else '("avcodec" "libavcodec")])
|
||||
(ffmpeg-lib-versions 'avcodec)))
|
||||
|
||||
(define libavformat (get-lib (case (system-type 'os)
|
||||
[(windows) '("avformat-62")]
|
||||
[else '("avformat" "libavformat")]) '(#f)))
|
||||
[else '("avformat" "libavformat")])
|
||||
(ffmpeg-lib-versions 'avformat)))
|
||||
|
||||
|
||||
(define-ffi-definer def-avutil libavutil #:default-make-fail make-not-available)
|
||||
|
||||
@@ -64,8 +64,9 @@
|
||||
|
||||
(define libao
|
||||
(get-lib (list (case (system-type 'os)
|
||||
[(windows) "libao-1.2.2"]
|
||||
[else "libao"])) '(#f)))
|
||||
[(windows) "libao-1.2.2"]
|
||||
[else "libao"]))
|
||||
(linux-lib-versions '("4" #f))))
|
||||
|
||||
(define-ffi-definer define-ao libao)
|
||||
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
)
|
||||
|
||||
|
||||
(define lib (get-lib '("libFLAC") '(#f)))
|
||||
(define lib (get-lib '("FLAC" "libFLAC") (linux-lib-versions '("14" "12" "8" #f))))
|
||||
(define-ffi-definer define-libflac lib
|
||||
#:default-make-fail make-not-available)
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
;(define lib (ffi-lib "/home/hans/tmp/lib/libmpg123.so")) ;(get-lib '("libmpg123") '("0" #f)))
|
||||
(define lib (get-lib '("libmpg123") '("0" #f)))
|
||||
(define lib (get-lib '("mpg123" "libmpg123") (linux-lib-versions '("0" #f) '("0" #f))))
|
||||
(define-ffi-definer define-libmpg123 lib
|
||||
#:default-make-fail make-not-available)
|
||||
|
||||
|
||||
+3
-3
@@ -24,19 +24,19 @@
|
||||
(get-lib (case (system-type 'os)
|
||||
[(windows) '("ogg")]
|
||||
[else '("ogg" "libogg")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define libopus
|
||||
(get-lib (case (system-type 'os)
|
||||
[(windows) '("opus")]
|
||||
[else '("opus" "libopus")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define libopusenc
|
||||
(get-lib (case (system-type 'os)
|
||||
[(windows) '("libopusenc")]
|
||||
[else '("opusenc" "libopusenc")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define _OggOpusComments (_cpointer/null 'ogg-opus-comments))
|
||||
(define _OggOpusEnc (_cpointer/null 'ogg-opus-enc))
|
||||
|
||||
@@ -28,17 +28,17 @@
|
||||
(define libogg (get-lib (case (system-type 'os)
|
||||
[(windows) '("ogg")]
|
||||
[else '("ogg" "libogg")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define libopus (get-lib (case (system-type 'os)
|
||||
[(windows) '("opus")]
|
||||
[else '("opus" "libopus")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define libopusfile (get-lib (case (system-type 'os)
|
||||
[(windows) '("opusfile")]
|
||||
[else '("opusfile" "libopusfile")])
|
||||
'(#f)))
|
||||
(linux-lib-versions '("0" #f))))
|
||||
|
||||
(define _OggOpusFile _pointer)
|
||||
|
||||
|
||||
+23
-5
@@ -14,6 +14,8 @@
|
||||
until
|
||||
build-lib-path
|
||||
get-lib
|
||||
linux-lib-versions
|
||||
ffmpeg-lib-versions
|
||||
do-for
|
||||
dbg-sound
|
||||
info-sound
|
||||
@@ -165,11 +167,27 @@
|
||||
|
||||
(define valid-ffmpeg-versions
|
||||
(make-hash (list (list 'avutil 58 60 "libavutil")
|
||||
(list 'avcodec 60 62 "libavcodec")
|
||||
(list 'avformat 60 62 "libavformat")
|
||||
(list 'swresample 4 6 "libswresample")
|
||||
))
|
||||
)
|
||||
(list 'avcodec 60 62 "libavcodec")
|
||||
(list 'avformat 60 62 "libavformat")
|
||||
(list 'swresample 4 6 "libswresample"))))
|
||||
|
||||
(define (versions-high-to-low from until)
|
||||
(let loop ((n from) (acc '(#f)))
|
||||
(if (> n until)
|
||||
acc
|
||||
(loop (+ n 1) (cons (number->string n) acc)))))
|
||||
|
||||
(define (ffmpeg-lib-versions kind)
|
||||
(case (system-type 'os)
|
||||
[(linux)
|
||||
(let ((v (hash-ref valid-ffmpeg-versions kind)))
|
||||
(versions-high-to-low (car v) (cadr v)))]
|
||||
[else '(#f)]))
|
||||
|
||||
(define (linux-lib-versions versions [default '(#f)])
|
||||
(case (system-type 'os)
|
||||
[(linux) versions]
|
||||
[else default]))
|
||||
|
||||
(define (version-str kind)
|
||||
(let ((v (hash-ref valid-ffmpeg-versions kind)))
|
||||
|
||||
+3
-3
@@ -58,9 +58,9 @@
|
||||
taglib-append-picture
|
||||
taglib-clear-picture)
|
||||
|
||||
(define zlib (get-lib '("zlib" "libz") '(#f)))
|
||||
(define libtag (get-lib '("tag" "libtag") '("2" #f)))
|
||||
(define libtag_c (get-lib '("tag_c" "libtag_c") '("#2" #f)))
|
||||
(define zlib (get-lib '("zlib" "libz") (linux-lib-versions '("1" #f))))
|
||||
(define libtag (get-lib '("tag" "libtag") (linux-lib-versions '("2" #f) '("2" #f))))
|
||||
(define libtag_c (get-lib '("tag_c" "libtag_c") (linux-lib-versions '("2" #f) '("#2" #f))))
|
||||
|
||||
(define-ffi-definer define-tag-c-lib libtag_c
|
||||
#:default-make-fail make-not-available)
|
||||
|
||||
Reference in New Issue
Block a user