Unsupported marker type 0x4f throwed when TranscodeJpeg
- Dominant language
- Kotlin
- Stars
- 17.2k
- Forks
- 3.7k
- PR merge metrics
- No merged PRs in 30d
Description
### Description
I catch an exception when decode a large jpeg image (taken with Samsung Galaxy S8+), here is the exception:
```
java.lang.RuntimeException: Unsupported marker type 0x4f
at com.facebook.imagepipeline.nativecode.JpegTranscoder.nativeTranscodeJpeg(Native Method)
at com.facebook.imagepipeline.nativecode.JpegTranscoder.transcodeJpeg(JpegTranscoder.java:66)
at com.facebook.imagepipeline.producers.ResizeAndRotateProducer$TransformingConsumer.doTransform(ResizeAndRotateProducer.java:198)
: at com.facebook.imagepipeline.producers.ResizeAndRotateProducer$TransformingConsumer.access$000(ResizeAndRotateProducer.java:85)
at com.facebook.imagepipeline.producers.ResizeAndRotateProducer$TransformingConsumer$1.run(ResizeAndRotateProducer.java:102)
at com.facebook.imagepipeline.producers.JobScheduler.doJob(JobScheduler.java:207)
at com.facebook.imagepipeline.producers.JobScheduler.access$000(JobScheduler.java:27)
at com.facebook.imagepipeline.producers.JobScheduler$1.run(JobScheduler.java:78)
```
### Reproduction
1. download the photo file: [click to download 67.2MB](http://voiddog.qiniudn.com/20170908_151646.jpg)
2. enable `setDownsampleEnabled(true)` (if not, works fine)
3. show image with `SimpleDrawee`
```java
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(imgUri))
.setResizeOptions(new ResizeOptions(200, 200))
.setRotationOptions(RotationOptions.autoRotate())
.build();
img.setController(Fresco.newDraweeControllerBuilder().setImageRequest(imageRequest)
.setOldController(img.getController()).build());
```
### Additional Information
* Fresco version: 1.4.0
* Platform version: android 7.0, Samsung Galaxy S8+
Contributor guide
Assessment
This issue has not been assessed yet.