mirror of
https://github.com/gotson/komga.git
synced 2026-05-09 05:10:19 +02:00
fix: add configuration to unload native webp library
This commit is contained in:
parent
abb6439ba9
commit
64a805e019
2 changed files with 19 additions and 7 deletions
|
|
@ -18,6 +18,8 @@ class KomgaProperties {
|
||||||
|
|
||||||
var rememberMe = RememberMe()
|
var rememberMe = RememberMe()
|
||||||
|
|
||||||
|
var nativeWebp: Boolean = true
|
||||||
|
|
||||||
var database = Database()
|
var database = Database()
|
||||||
|
|
||||||
class RememberMe {
|
class RememberMe {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package org.gotson.komga.infrastructure.image
|
||||||
import com.luciad.imageio.webp.WebP
|
import com.luciad.imageio.webp.WebP
|
||||||
import mu.KotlinLogging
|
import mu.KotlinLogging
|
||||||
import net.coobird.thumbnailator.Thumbnails
|
import net.coobird.thumbnailator.Thumbnails
|
||||||
|
import org.gotson.komga.infrastructure.configuration.KomgaProperties
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import java.awt.image.BufferedImage
|
import java.awt.image.BufferedImage
|
||||||
|
|
@ -14,7 +15,9 @@ import javax.imageio.spi.ImageReaderSpi
|
||||||
private val logger = KotlinLogging.logger {}
|
private val logger = KotlinLogging.logger {}
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
class ImageConverter {
|
class ImageConverter(
|
||||||
|
private val komgaProperties: KomgaProperties,
|
||||||
|
) {
|
||||||
|
|
||||||
val supportedReadFormats by lazy { ImageIO.getReaderFormatNames().toList() }
|
val supportedReadFormats by lazy { ImageIO.getReaderFormatNames().toList() }
|
||||||
val supportedReadMediaTypes by lazy { ImageIO.getReaderMIMETypes().toList() }
|
val supportedReadMediaTypes by lazy { ImageIO.getReaderMIMETypes().toList() }
|
||||||
|
|
@ -35,12 +38,19 @@ class ImageConverter {
|
||||||
} as ImageReaderSpi?
|
} as ImageReaderSpi?
|
||||||
|
|
||||||
if (nativeWebp != null) {
|
if (nativeWebp != null) {
|
||||||
if (!WebP.loadNativeLibrary()) {
|
when {
|
||||||
logger.warn { "Could not load native WebP library" }
|
!komgaProperties.nativeWebp -> {
|
||||||
registry.deregisterServiceProvider(nativeWebp)
|
logger.warn { "Unloading native WebP library" }
|
||||||
} else if (javaWebp != null) {
|
registry.deregisterServiceProvider(nativeWebp)
|
||||||
logger.info { "Using native WebP library" }
|
}
|
||||||
registry.setOrdering(ImageReaderSpi::class.java, nativeWebp, javaWebp)
|
!WebP.loadNativeLibrary() -> {
|
||||||
|
logger.warn { "Could not load native WebP library" }
|
||||||
|
registry.deregisterServiceProvider(nativeWebp)
|
||||||
|
}
|
||||||
|
javaWebp != null -> {
|
||||||
|
logger.info { "Using native WebP library" }
|
||||||
|
registry.setOrdering(ImageReaderSpi::class.java, nativeWebp, javaWebp)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue