DreamPiggy
6c6b951845
Bumped version to 5.15.0
...
update CHANGELOG
2023-01-17 17:10:01 +08:00
DreamPiggy
975502b4a6
Merge pull request #3469 from dreampiggy/feat/animated_image_encode
...
Added encodeWithFrames API for animation encoding in custom coder, better for usage
2023-01-17 16:50:50 +08:00
DreamPiggy
9dd8b6c08b
Update test case
2023-01-17 16:50:16 +08:00
DreamPiggy
a01715e196
Merge pull request #3468 from dreampiggy/feat/decode_solution_change
...
Update the decode solution to allows CoreGraphics avoid using any UIKit method
2023-01-17 16:20:07 +08:00
DreamPiggy
0bdb7865c7
Change the immutable frames array
2023-01-17 16:18:17 +08:00
DreamPiggy
985c84be75
Opt the macOS legacy animated encode, with the weak assigned frames to avoid re-decode again
...
It's still recommended to use the new API
2023-01-17 16:16:09 +08:00
DreamPiggy
8ec3bc83d7
Added encodeWithFrames API for animation encoding in custom coder, better for usage
...
The exist API need wrap the frames into a new image and extract, consume RAM and CPU
2023-01-17 15:28:26 +08:00
DreamPiggy
c0f7023472
Update the decode solution to allows CoreGraphics avoid using any UIKit method
...
This is back compatible to old version's RAM behavior
2023-01-17 15:27:36 +08:00
DreamPiggy
7c63bad41c
Merge pull request #3466 from dreampiggy/feat/encode_options
...
Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API. Seperate the SDImageCache encode queue and IO queue to match waitStoreCache behavior
2023-01-12 16:35:50 +08:00
DreamPiggy
911a9a86a0
Fix the wrong test because now ioQueue and encodeQueue is different thing, we should not assume calling storeImage and queryDiskCache get the data (they are not guarded by the same serial queue)
2023-01-12 15:56:08 +08:00
DreamPiggy
e083ab293f
Fix the wrong behavior after 5.15.0 cache changes
2023-01-12 14:49:02 +08:00
DreamPiggy
78fa0a9cb5
Update test case test08ThatImageTransformerWork with encode options
2023-01-11 16:38:00 +08:00
DreamPiggy
08ec6cf253
Adjustment for manager && cache call, add deprecation
2023-01-11 16:00:16 +08:00
DreamPiggy
246cfa935d
Change the cache's encoding in global queue to avoid block ioQueue for IO read/write, performance related
2023-01-11 15:32:04 +08:00
DreamPiggy
d93a08fc91
Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API
2023-01-11 15:08:31 +08:00
DreamPiggy
05f7fb9b0d
Merge pull request #3465 from dreampiggy/feat/callback_queue
...
Added context option `callbackQueue` and `SDCallbackQueue` wrapper for advanced user to control which queue to callback
2023-01-10 14:38:00 +08:00
DreamPiggy
720a0974d4
Fix SwiftPM issue
2023-01-10 12:49:20 +08:00
DreamPiggy
397f851240
Update test case
2023-01-09 22:14:53 +08:00
DreamPiggy
e21e9f19e6
Update Carthage project
2023-01-09 22:08:48 +08:00
DreamPiggy
e1e0841102
Rename the internal property to avoid misleading
2023-01-09 22:08:48 +08:00
DreamPiggy
007100d18f
Supports the old store cache API without context, which does not supports callback queue customization
2023-01-09 22:08:48 +08:00
DreamPiggy
1b086711ae
Fix the issue because of main queue label hack
2023-01-09 22:08:48 +08:00
DreamPiggy
43d74211c3
Added test case `testSDCallbackQueue`
2023-01-09 22:08:48 +08:00
DreamPiggy
90eeb4d830
Deprecate SDWebImagePrefetcher.delegateQueue, translate to use context[SDWebImageContextCallbackQueue] instead
2023-01-09 18:06:14 +08:00
DreamPiggy
5a4b4cf16d
Change the asyncSafe to the queue level configuration, introduce SDCallbackPolicy
2023-01-09 18:06:14 +08:00
DreamPiggy
67520b9f55
Fix the new added storeCache API which passing callbackQueue
2023-01-06 19:49:35 +08:00
DreamPiggy
fdd9a98210
Do not check nil block, useless in our use case
2023-01-06 19:36:03 +08:00
DreamPiggy
57403c9d3f
Rename to use `dispatch_block_t` alias
2023-01-06 19:09:39 +08:00
DreamPiggy
b5d712a378
Implements the Callback queue dispatch
...
Fix some missing components
2023-01-06 18:52:31 +08:00
DreamPiggy
43ec4726e1
Added context option `callbackQueue` for advanced user to control which queue to callback
...
This is used for user who call SDWebImage outside from main queue and need precise queue control, such as avoid chain queue blocking (like AVKit lazy load)
2023-01-04 18:47:50 +08:00
DreamPiggy
4178d12a44
Bumped version to 5.14.3
...
update CHANGELOG
2022-12-27 20:03:04 +08:00
DreamPiggy
8be9f2c3f9
Merge pull request #3461 from dreampiggy/bugfix/yuv420_jpeg_hevc
...
Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization
2022-12-27 19:57:48 +08:00
DreamPiggy
d2221403e1
Removed the unused options for CGImageSourceCopyPropertiesAtIndex
2022-12-27 19:55:12 +08:00
DreamPiggy
a53eb92988
Update the test case `test23ThatThumbnailEncodeCalculation`
...
This regression test should also been reverted
2022-12-27 19:23:58 +08:00
DreamPiggy
a99c0de68d
Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization
...
The lazyDecode logic effect the static image as well. Should roll back and only check for animated image
2022-12-27 18:58:21 +08:00
DreamPiggy
7bc087b081
Merge pull request #3460 from dreampiggy/feat/ioqueue_concurrent_config
...
Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue
2022-12-27 17:57:09 +08:00
DreamPiggy
ffc91663bf
Added test case `test48CacheUseConcurrentIOQueue`
2022-12-27 17:37:07 +08:00
DreamPiggy
c60e6714dd
Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue
2022-12-27 17:24:07 +08:00
DreamPiggy
0274aa85fe
Merge pull request #3452 from kinarobin/fetch-frame-early-for-animated-image-render
...
[Performance]when frame timestamp not reached, we should prefetch frame in advance for image render.
2022-12-27 16:51:54 +08:00
DreamPiggy
707db2e016
Merge pull request #3459 from dreampiggy/bugfix/player_cache_poster_image
...
The poster image should not trigger a frameChange callback
2022-12-27 15:47:17 +08:00
DreamPiggy
717461459f
Hack the first frame to ensure it always displayed in first screen refresh
2022-12-26 19:05:39 +08:00
DreamPiggy
b5db7fac68
The poster image should not trigger a frameChange callback
2022-12-26 18:53:55 +08:00
kinarobin
a15f594869
prefetch image in advance
2022-12-02 21:24:36 +08:00
DreamPiggy
3312bf5e67
Bumped version to 5.14.2
...
update CHANGELOG
2022-11-14 18:49:54 +08:00
DreamPiggy
430ef4d73c
Merge pull request #3443 from dreampiggy/project/move_assert_check_to_demo_tests
...
Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only
2022-11-14 18:47:05 +08:00
DreamPiggy
9c0c715d6a
Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only
...
This does not effects user who use this framework, only useful for ourselves to ensure Apple does not break our code
2022-11-14 17:07:29 +08:00
DreamPiggy
80683c20d8
Bumped version to 5.14.1
...
update CHANGELOG
2022-11-11 15:35:47 +08:00
DreamPiggy
a97d502304
Merge pull request #3439 from dreampiggy/bugfix/thread_safe_callback
...
Fix the missing lock for callbackTokens which may cause thread-safe issue
2022-11-11 15:30:36 +08:00
DreamPiggy
736f3f41f7
Move block before sending to the main queue
...
This can avoid some life cycle issue and increase performance
2022-11-11 14:29:20 +08:00
DreamPiggy
384b2d7c8b
Fix the missing lock for callbackTokens which may cause thread-safe issue
2022-11-11 14:22:49 +08:00