events.action: opened
events.author: DearDaXiong
events.masked_author: username_0
events.text: 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!
events.title: 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"
events.type: issue
events.action: created
events.author: sjudd
events.masked_author: username_1
events.text: 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
events.type: comment
events.action: created
events.author: DearDaXiong
events.masked_author: username_0
events.text: - 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
  
  `
events.type: comment
events.action: created
events.author: sjudd
events.masked_author: username_1
events.text: 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.
events.type: comment
events.action: closed
events.author: sjudd
events.masked_author: username_1
events.type: issue
events.action: created
events.author: DearDaXiong
events.masked_author: username_0
events.text: dear:
       are you have a solution to this problem?
events.type: comment