package com.bumptech.glide.load.resource.bitmap;
import android.graphics.Bitmap;
import android.media.MediaMetadataRetriever;
import android.os.ParcelFileDescriptor;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.DecodeFormat;
import java.io.IOException;
public class VideoBitmapDecoder implements BitmapDecoder<ParcelFileDescriptor> {
@Override
public Bitmap decode(ParcelFileDescriptor resource, BitmapPool bitmapPool, int outWidth, int outHeight,
DecodeFormat decodeFormat)
throws IOException {
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
mediaMetadataRetriever.setDataSource(resource.getFileDescriptor());
Bitmap result = mediaMetadataRetriever.getFrameAtTime();
mediaMetadataRetriever.release();
resource.close();
return result;
}
@Override
public String getId() {
return "VideoBitmapDecoder.com.bumptech.glide.load.data.bitmap";
}
}