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
DreamPiggy
bc3f09ccbd
Merge pull request #3436 from dreampiggy/bugfix/ios16_pdf_use_coregraphics
...
Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue
2022-11-11 14:17:17 +08:00
DreamPiggy
30f165abd5
Change from instance method to class method
2022-11-11 00:07:32 +08:00
DreamPiggy
f4706453d6
Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue
...
We no longer use ImageIO to decode PDF, seems they don't maintain that kSDCGImageSourceRasterizationDPI
Copy the code from SDWebImagePDFCoder, need to update
2022-11-10 23:54:14 +08:00
DreamPiggy
8a26bb3f3d
Merge pull request #3434 from dreampiggy/bugfix/underlying_queue_crash_ios12
...
Fix the iOS 12 crash because the underlyingQueue is nil
2022-11-10 22:41:26 +08:00
DreamPiggy
d96ea392d1
Fix the iOS 12 crash because the underlyingQueue is nil
...
Use NSOperation dependency to solve this issue
2022-11-10 22:03:12 +08:00
DreamPiggy
b6aa428b7d
Bumped version to 5.14.0
...
update CHANGELOG
2022-11-08 22:48:52 +08:00
DreamPiggy
35b28d4179
Merge pull request #3430 from dreampiggy/feat/add_is_thumbnail
...
Added the helper convenient API `sd_isThumbnail`
2022-11-08 22:42:00 +08:00
DreamPiggy
bfa91a291b
Added the helper convenient API `sd_isThumbnail`
...
Fix the metadata does not saved
2022-11-08 22:40:36 +08:00
DreamPiggy
03b46475eb
Revert #2792 , the autoreleasepool does not solve the issue
2022-11-08 21:49:26 +08:00
DreamPiggy
6ce59aa8c1
Merge pull request #3429 from dreampiggy/perf/remove_conforms_to_protocol
...
Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance
2022-11-08 21:44:07 +08:00
DreamPiggy
7ddf3214e6
Fix the test case again on below iOS 15
2022-11-08 21:18:20 +08:00
DreamPiggy
f8d353b50c
Update test case `test06ThatUsingACustomDownloaderOperationWorks`
2022-11-08 20:04:36 +08:00
DreamPiggy
9aa27b61e8
Replace conformsToProtocol call with appropriate respondsToSelector check
...
This effect API called with multiple times, for some one-time setup and important check, the conformsToProtocol is remained
2022-11-08 20:04:15 +08:00
DreamPiggy
359036eae9
Merge pull request #3428 from dreampiggy/opt/avoid_store_again_when_origin_disk_exits
...
Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size
2022-11-08 19:16:05 +08:00
DreamPiggy
6a9b578369
Added test case `test21ThatQueryOriginalDiskCacheFromThumbnailShouldNotWriteBackDiskCache`
2022-11-08 18:51:47 +08:00
riv1r
9599a78ff9
Fix del redundant autoreleasepool ( #3388 )
...
* fix:del redundant autoreleasepool, because frameProperties is not a __autoreleasing reference object, for-Loop does not cause untimely release
* fix:del redundant autoreleasepool, because frame is strongly referenced by frames, for-Loop does not cause untimely release
* fix:del redundant autoreleasepool, because sourceTileImageRef is released by CGImageRelease, for-Loop does not cause untimely release
Co-authored-by: chendongran06039 <chendongran06039@hellobike.com>
Co-authored-by: DreamPiggy <lizhuoli1126@126.com>
2022-11-08 17:29:49 +08:00
DreamPiggy
f93cf96832
Avoid store original disk cache again when using thumbnail or transformer from the full size data
...
This solve #3395
2022-11-08 16:44:40 +08:00
DreamPiggy
5a89f80816
Merge pull request #3427 from dreampiggy/bugfix/logic_nullable_check
...
Add the possible nullable logic check when the force-decode/copy failed
2022-11-08 16:41:40 +08:00
DreamPiggy
cdd77d5ebe
Merge pull request #3426 from dreampiggy/bugfix/UTI_hint_ignore_dynamic_log
...
Ignore the dynamic UTI type hint to avoid extra log
2022-11-08 16:20:33 +08:00
DreamPiggy
0d1c603d50
Add the possible nullable logic check when the force-decode/copy failed
2022-11-08 16:19:49 +08:00
DreamPiggy
c81aec4ccd
Ignore the dynamic UTI type hint to avoid extra log
2022-11-08 16:15:25 +08:00
DreamPiggy
f6769186b9
Merge pull request #3425 from dreampiggy/feature/imageio_force_decode_option_control
...
Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO. Introduce new workaround to strip CGImage retained CGImageSource on iOS 15
2022-11-08 14:36:55 +08:00
DreamPiggy
6c83696800
Update test case `test17ThatMinimumProgressIntervalWorks` to make it more stable
2022-11-07 18:39:33 +08:00
DreamPiggy
7c4649c7cc
Update the test case `test23ThatThumbnailEncodeCalculation`
2022-11-07 15:25:52 +08:00
DreamPiggy
136d05fce8
Add extra check when user provide SDImageCoderDecodeUseLazyDecoding
2022-11-07 12:44:46 +08:00
DreamPiggy
3000dd5098
Fix the `sd_isDecoded` did not set after we use SDCGImageCreateCopy
2022-11-07 12:20:04 +08:00
DreamPiggy
db25af9506
Recovery the assert check on only iPhone/TV simulator in debug mode
2022-11-07 12:10:22 +08:00
DreamPiggy
abc06f020a
Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO or not
...
Defaults to NO for animated image coder but YES for static image coder to match current behavior
This also use another way to solve iOS 15+'s CGImageGetImageSource issue
2022-11-07 12:10:22 +08:00
DreamPiggy
ddcf347c7d
Update README about GitHub action status
2022-11-01 14:20:44 +08:00