facebook/fresco

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

Open

#2,390 创建于 2019年8月12日

在 GitHub 查看
 (5 评论) (0 反应) (0 负责人)Java (3,750 fork)batch import
good first issuehelp wanted

仓库指标

Star
 (17,072 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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

贡献者指南