Only do mapping based rewrite for archive reading, prepare for cleanup mmaped decode usage
This commit is contained in:
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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user