VideoBitmapDecoder.java revision bcf4a0dae04a4ad14287eeb34069a97c96fe9bb1
1bcf4a0dae04a4ad14287eeb34069a97c96fe9bb1Sam Juddpackage com.bumptech.glide.load.resource.bitmap; 2fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 3fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.graphics.Bitmap; 4fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.media.MediaMetadataRetriever; 5fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport android.os.ParcelFileDescriptor; 69fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; 79fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.load.DecodeFormat; 8fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 9fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddimport java.io.IOException; 10fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 11fcd787c911d5fbca2a34ff0963d4665543a03275Sam Juddpublic class VideoBitmapDecoder implements BitmapDecoder<ParcelFileDescriptor> { 12fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 1376fbad3dbce72240e9f5b82c826e3229c1176fb6Sam Judd public Bitmap decode(ParcelFileDescriptor resource, BitmapPool bitmapPool, int outWidth, int outHeight, 1476fbad3dbce72240e9f5b82c826e3229c1176fb6Sam Judd DecodeFormat decodeFormat) 15fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd throws IOException { 16fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); 17fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd mediaMetadataRetriever.setDataSource(resource.getFileDescriptor()); 18fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd Bitmap result = mediaMetadataRetriever.getFrameAtTime(); 19fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd mediaMetadataRetriever.release(); 20fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd resource.close(); 21fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd return result; 22fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 23fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd 24fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd @Override 25fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd public String getId() { 26423bc54484b4be962955b2c194cf72edf705a935Sam Judd return "VideoBitmapDecoder.com.bumptech.glide.load.data.bitmap"; 27fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd } 28fcd787c911d5fbca2a34ff0963d4665543a03275Sam Judd} 29