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