Only do mapping based rewrite for archive reading, prepare for cleanup mmaped decode usage

This commit is contained in:
tarsin committed 2023-02-13 18:07:08 +08:00
1 parent d610c9727d
commit 0e6156e51c
2 files changed
+2 -3

No files matched your search

@@ -44,6 +44,7 @@ class UriArchiveAccessor(ctx: Context, uri: Uri) {
val buffer = extractToByteBuffer(index)
buffer ?: return null
check(buffer.isDirect)
Image.rewriteGifSource(buffer)
return object : Image.ByteBufferSource {
override fun getByteBuffer(): ByteBuffer {
return buffer
+1 -3
View File
@@ -93,8 +93,6 @@ class Image private constructor(source: Source, private var src: ByteBufferSourc
@JvmStatic
fun decode(src: ByteBufferSource): Image? {
val directBuffer = src.getByteBuffer()
check(directBuffer.isDirect)
rewriteGifSource(directBuffer)
return runCatching {
Image(ImageDecoder.createSource(directBuffer), src)
}.onFailure {
@@ -104,7 +102,7 @@ class Image private constructor(source: Source, private var src: ByteBufferSourc
}
@JvmStatic
private external fun rewriteGifSource(buffer: ByteBuffer)
external fun rewriteGifSource(buffer: ByteBuffer)
}
interface ByteBufferSource : AutoCloseable {