/// <summary> /// encoded cache multiplex -> encoded cache -> local resource fetch. /// </summary> private IProducer <CloseableReference <IPooledByteBuffer> > GetEncodedLocalResourceFetchSequence() { lock (_gate) { if (_encodedLocalResourceFetchSequence == null) { LocalResourceFetchProducer localResourceFetchProducer = _producerFactory.NewLocalResourceFetchProducer(); _encodedLocalResourceFetchSequence = new RemoveImageTransformMetaDataProducer( NewEncodedCacheMultiplexToTranscodeSequence(localResourceFetchProducer)); } return(_encodedLocalResourceFetchSequence); } }
/// <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) /// -> local resource fetch. /// </summary> private IProducer <CloseableReference <CloseableImage> > GetLocalResourceFetchSequence() { lock (_gate) { if (_localResourceFetchSequence == null) { LocalResourceFetchProducer localResourceFetchProducer = _producerFactory.NewLocalResourceFetchProducer(); _localResourceFetchSequence = NewBitmapCacheGetToLocalTransformSequence(localResourceFetchProducer); } return(_localResourceFetchSequence); } }