blob: 632fb6fbadf800d4c24e6c68cb9b80ef2d636145 [file] [log] [blame]
package com.bumptech.glide.load.resource.bitmap;
import android.graphics.Bitmap;
import android.os.ParcelFileDescriptor;
import com.bumptech.glide.DataLoadProvider;
import com.bumptech.glide.load.Encoder;
import com.bumptech.glide.load.ResourceDecoder;
import com.bumptech.glide.load.ResourceEncoder;
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool;
import com.bumptech.glide.load.model.ImageVideoWrapper;
import com.bumptech.glide.load.model.ImageVideoWrapperEncoder;
import com.bumptech.glide.load.model.NullEncoder;
import com.bumptech.glide.load.model.StreamEncoder;
import java.io.InputStream;
public class ImageVideoDataLoadProvider implements DataLoadProvider<ImageVideoWrapper, Bitmap> {
private final ImageVideoBitmapDecoder sourceDecoder;
private final StreamBitmapDecoder cacheDecoder;
private final BitmapEncoder encoder;
private final ImageVideoWrapperEncoder sourceEncoder;
public ImageVideoDataLoadProvider(BitmapPool bitmapPool) {
encoder = new BitmapEncoder();
Encoder<ParcelFileDescriptor> fileDescriptorEncoder = NullEncoder.get();
sourceEncoder = new ImageVideoWrapperEncoder(new StreamEncoder(), fileDescriptorEncoder);
cacheDecoder = new StreamBitmapDecoder(bitmapPool);
sourceDecoder = new ImageVideoBitmapDecoder(cacheDecoder,
new FileDescriptorBitmapDecoder(bitmapPool));
}
@Override
public ResourceDecoder<InputStream, Bitmap> getCacheDecoder() {
return cacheDecoder;
}
@Override
public ResourceDecoder<ImageVideoWrapper, Bitmap> getSourceDecoder() {
return sourceDecoder;
}
@Override
public Encoder<ImageVideoWrapper> getSourceEncoder() {
return sourceEncoder;
}
@Override
public ResourceEncoder<Bitmap> getEncoder() {
return encoder;
}
}