/// <summary> /// encoded cache multiplex -> encoded cache -> local asset fetch. /// </summary> private IProducer <CloseableReference <IPooledByteBuffer> > GetEncodedLocalAssetFetchSequence() { lock (_gate) { if (_encodedLocalAssetFetchSequence == null) { LocalAssetFetchProducer localAssetFetchProducer = _producerFactory.NewLocalAssetFetchProducer(); _encodedLocalAssetFetchSequence = new RemoveImageTransformMetaDataProducer( NewEncodedCacheMultiplexToTranscodeSequence(localAssetFetchProducer)); } return(_encodedLocalAssetFetchSequence); } }
/// <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 asset fetch. /// </summary> private IProducer <CloseableReference <CloseableImage> > GetLocalAssetFetchSequence() { lock (_gate) { if (_localAssetFetchSequence == null) { LocalAssetFetchProducer localAssetFetchProducer = _producerFactory.NewLocalAssetFetchProducer(); _localAssetFetchSequence = NewBitmapCacheGetToLocalTransformSequence(localAssetFetchProducer); } return(_localAssetFetchSequence); } }