facebook/fresco

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

开放

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

 (5 条评论) (0 个反应) (0 位负责人)Java (3,750 个派生)batch import
good first issuehelp wanted

仓库指标

星标
 (17,072 个星标)
PR 合并指标
 (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

贡献者指南