/// <summary> /// bitmap cache get -> /// background thread hand-off -> multiplex -> bitmap cache -> /// decode -> branch on separate images /// -> exif resize and rotate -> exif thumbnail creation /// -> local image resize and rotate -> add meta data producer /// -> multiplex -> encoded cache -> (webp transcode) /// -> FutureAccessList fetch. /// </summary> private IProducer <CloseableReference <CloseableImage> > GetFutureAccessListFetchSequence() { lock (_gate) { if (_futureAccessListFetchSequence == null) { FutureAccessListFetchProducer futureAccessListFetchProducer = _producerFactory.NewFutureAccessListFetchProducer(); _futureAccessListFetchSequence = NewBitmapCacheGetToLocalTransformSequence(futureAccessListFetchProducer); } return(_futureAccessListFetchSequence); } }
/// <summary> /// encoded cache multiplex -> encoded cache -> FutureAccessList fetch. /// </summary> private IProducer <CloseableReference <IPooledByteBuffer> > GetEncodedFutureAccessListFetchSequence() { lock (_gate) { if (_encodedFutureAccessListFetchSequence == null) { FutureAccessListFetchProducer futureAccessListFetchProducer = _producerFactory.NewFutureAccessListFetchProducer(); _encodedFutureAccessListFetchSequence = new RemoveImageTransformMetaDataProducer( NewEncodedCacheMultiplexToTranscodeSequence(futureAccessListFetchProducer)); } return(_encodedFutureAccessListFetchSequence); } }