facebook/fresco

Local thumbnails not working for AVI, MPG/MPEG, or WMV: ThumbnailUtils: java.io.IOException: Failed to create thumbnail

Open

#2,390 opened on Aug 12, 2019

View on GitHub
 (5 comments) (0 reactions) (0 assignees)Java (17,072 stars) (3,750 forks)batch import
good first issuehelp wanted

Description

Description

I'm trying to load some thumbnails from video file but I notice that some video formats throws a runtime exception:

W/ThumbnailUtils: java.io.IOException: Failed to create thumbnail
        at android.media.ThumbnailUtils.createVideoThumbnail(ThumbnailUtils.java:331)
        at android.media.ThumbnailUtils.createVideoThumbnail(ThumbnailUtils.java:286)
        at com.facebook.imagepipeline.producers.LocalVideoThumbnailProducer$1.getResult(LocalVideoThumbnailProducer.java:81)
        at com.facebook.imagepipeline.producers.LocalVideoThumbnailProducer$1.getResult(LocalVideoThumbnailProducer.java:61)
        at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:43)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:51)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
        at android.media.MediaMetadataRetriever.setDataSource(Native Method)
        at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:75)
        at android.media.ThumbnailUtils.createVideoThumbnail(ThumbnailUtils.java:309)
        at android.media.ThumbnailUtils.createVideoThumbnail(ThumbnailUtils.java:286) 
        at com.facebook.imagepipeline.producers.LocalVideoThumbnailProducer$1.getResult(LocalVideoThumbnailProducer.java:81) 
        at com.facebook.imagepipeline.producers.LocalVideoThumbnailProducer$1.getResult(LocalVideoThumbnailProducer.java:61) 
        at com.facebook.common.executors.StatefulRunnable.run(StatefulRunnable.java:43) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at com.facebook.imagepipeline.core.PriorityThreadFactory$1.run(PriorityThreadFactory.java:51) 
        at java.lang.Thread.run(Thread.java:919) 

So I had to dig deeper to test with different video formats and for me, AVI, MPG/MPEG, and WMV throws this exception every time.

Reproduction

Load a thumbnail from the following video file formats: AVI, MPG/MPEG, or WMV.

Additional Information

  • Fresco version: 1.13.0
  • Platform version: API Q on Android Studio Emulator

Contributor guide