opened
DearDaXiong
username_0
in glide V3.6 , it can't find some thumbnail of local video ,but i can find thumbnails in other ways ,for excample use "MediaMetaDataRetriever".
     the following code is my key code using Glide v3.6 .
--------------------------------------------------------------------------------------
Glide.with(mContext)
                .load(videoPath)
                .listener(new RequestListener<String, GlideDrawable>() {
                    @Override
                    public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                        Log.d("daxiong", "onException: e=" + e + " model=" + model + " target=" + target + " isFirstResource=" + isFirstResource);

                        return false;
                    }

                    @Override
                    public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                        return false;
                    }
                })
                .fitCenter()
                .centerCrop().error(R.drawable.ic_video_default)
                .placeholder(R.drawable.ic_video_default)
                .into(holder.mIcon);
--------------------------------------------------------------------------------
   and  then ,it had an exception:
09-18 14:39:19.043 12717-12717/? D/daxiong: onException: e=java.lang.StringIndexOutOfBoundsException: length=65536; regionStart=3; regionLength=-74 model=/storage/emulated/0/视频资源/不同格式视频播放/MP4格式/02.mp4 target=Target for: android.widget.ImageView{5a1d7ae V.ED..... ........ 0,0-200,200 #7f0b002d app:id/item_icon} isFirstResource=true

so ,i want to know how to solve the exception.thanks!
in glide V3.6 , it can't find some thumbnail of local video ,but i can find thumbnails in other ways ,for excample use "MediaMetaDataRetriever"
issue
created
sjudd
username_1
You could try updating to 3.8. 

You'll need to print the full stack trace otherwise. For a copy/pastable ``RequestListener`` see https://github.com/bumptech/glide/wiki/Debugging-and-Error-Handling#requestlistener
comment
created
DearDaXiong
username_0
- i'm sorry. i updated the Glide to V4.1，then, it can't solve this exception.

- the following code is an exception log , i don't understand it , can you help me？

`09-19 14:38:44.529 25117-25143/? D/DecodeJob: DecodeJob threw unexpectedly, isCancelled: false, stage: SOURCE
                                              java.lang.StringIndexOutOfBoundsException: length=65536; regionStart=3; regionLength=-77
                                                  at java.lang.StringFactory.newStringFromBytes(StringFactory.java:69)
                                                  at java.lang.StringFactory.newStringFromBytes(StringFactory.java:53)
                                                  at com.mediatek.dcfdecoder.DcfDecoder.isDrmFile(DcfDecoder.java:569)
                                                  at com.mediatek.dcfdecoder.DcfDecoder.decodeDrmImageIfNeeded(DcfDecoder.java:365)
                                                  at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:685)
                                                  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:657)
                                                  at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Downsampler.java:485)
                                                  at com.bumptech.glide.load.resource.bitmap.Downsampler.getDimensions(Downsampler.java:460)
                                                  at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeFromWrappedStreams(Downsampler.java:220)
                                                  at com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Downsampler.java:204)
                                                  at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:60)
                                                  at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:17)
                                                  at com.bumptech.glide.load.engine.DecodePath.decodeResourceWithList(DecodePath.java:67)
                                                  at com.bumptech.glide.load.engine.DecodePath.decodeResource(DecodePath.java:52)
                                                  at com.bumptech.glide.load.engine.DecodePath.decode(DecodePath.java:43)
                                                  at com.bumptech.glide.load.engine.LoadPath.loadWithExceptionList(LoadPath.java:56)
                                                  at com.bumptech.glide.load.engine.LoadPath.load(LoadPath.java:42)
                                                  at com.bumptech.glide.load.engine.DecodeJob.runLoadPath(DecodeJob.java:482)
                                                  at com.bumptech.glide.load.engine.DecodeJob.decodeFromFetcher(DecodeJob.java:454)
                                                  at com.bumptech.glide.load.engine.DecodeJob.decodeFromData(DecodeJob.java:440)
                                                  at com.bumptech.glide.load.engine.DecodeJob.decodeFromRetrievedData(DecodeJob.java:394)
                                                  at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(DecodeJob.java:363)
                                                  at com.bumptech.glide.load.engine.SourceGenerator.onDataReady(SourceGenerator.java:111)
                                                  at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onDataReady(MultiModelLoader.java:132)
                                                  at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:49)
                                                  at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:96)
                                                  at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:61)
                                                  at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:286)
                                                  at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:256)
                                                  at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:226)
                                                  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                  at java.lang.Thread.run(Thread.java:761)
                                                  at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)
09-19 14:38:44.533 25117-25143/? E/GlideExecutor: Request threw uncaught throwable
                                                  java.lang.StringIndexOutOfBoundsException: length=65536; regionStart=3; regionLength=-77
                                                      at java.lang.StringFactory.newStringFromBytes(StringFactory.java:69)
                                                      at java.lang.StringFactory.newStringFromBytes(StringFactory.java:53)
                                                      at com.mediatek.dcfdecoder.DcfDecoder.isDrmFile(DcfDecoder.java:569)
                                                      at com.mediatek.dcfdecoder.DcfDecoder.decodeDrmImageIfNeeded(DcfDecoder.java:365)
                                                      at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:685)
                                                      at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:657)
                                                      at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Downsampler.java:485)
                                                      at com.bumptech.glide.load.resource.bitmap.Downsampler.getDimensions(Downsampler.java:460)
                                                      at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeFromWrappedStreams(Downsampler.java:220)
                                                      at com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Downsampler.java:204)
                                                      at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:60)
                                                      at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:17)
                                                      at com.bumptech.glide.load.engine.DecodePath.decodeResourceWithList(DecodePath.java:67)
                                                      at com.bumptech.glide.load.engine.DecodePath.decodeResource(DecodePath.java:52)
                                                      at com.bumptech.glide.load.engine.DecodePath.decode(DecodePath.java:43)
                                                      at com.bumptech.glide.load.engine.LoadPath.loadWithExceptionList(LoadPath.java:56)
                                                      at com.bumptech.glide.load.engine.LoadPath.load(LoadPath.java:42)
                                                      at com.bumptech.glide.load.engine.DecodeJob.runLoadPath(DecodeJob.java:482)
                                                      at com.bumptech.glide.load.engine.DecodeJob.decodeFromFetcher(DecodeJob.java:454)
                                                      at com.bumptech.glide.load.engine.DecodeJob.decodeFromData(DecodeJob.java:440)
                                                      at com.bumptech.glide.load.engine.DecodeJob.decodeFromRetrievedData(DecodeJob.java:394)
                                                      at com.bumptech.glide.load.engine.DecodeJob.onDataFetcherReady(DecodeJob.java:363)
                                                      at com.bumptech.glide.load.engine.SourceGenerator.onDataReady(SourceGenerator.java:111)
                                                      at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.onDataReady(MultiModelLoader.java:132)
                                                      at com.bumptech.glide.load.data.LocalUriFetcher.loadData(LocalUriFetcher.java:49)
                                                      at com.bumptech.glide.load.model.MultiModelLoader$MultiFetcher.loadData(MultiModelLoader.java:96)
                                                      at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:61)
                                                      at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:286)
                                                      at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:256)
                                                      at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:226)
                                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                      at java.lang.Thread.run(Thread.java:761)
                                                      at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)
09-19 14:38:44.555 25117-25117/? W/Glide: Load failed for /storage/emulated/0/视频资源/不同分辨率视频播放/480x320 1.3gp with size [200x200]
                                          class com.bumptech.glide.load.engine.GlideException: Failed to load resource
09-19 14:38:44.556 25117-25117/? D/GLIDE: onException(com.bumptech.glide.load.engine.GlideException: Failed to load resource, /storage/emulated/0/视频资源/不同分辨率视频播放/480x320 1.3gp, Target for: android.widget.ImageView{6cadd48 V.ED..... ........ 0,0-200,200 #7f0d00a6 app:id/item_icon}, true)
                                          class com.bumptech.glide.load.engine.GlideException: Failed to load resource

`
comment
created
sjudd
username_1
Ugh:

```
at com.mediatek.dcfdecoder.DcfDecoder.isDrmFile(DcfDecoder.java:569)
at com.mediatek.dcfdecoder.DcfDecoder.decodeDrmImageIfNeeded(DcfDecoder.java:365)
```

Mediatek has added some additional logic to the framework that crashes on whatever image file you're giving them. We might be able to handle the error more gracefully though, I'll take a look.
comment
closed
sjudd
username_1
issue
created
DearDaXiong
username_0
dear:
     are you have a solution to this problem?
comment