-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Description
I noticed IINA's memory use increasing over time. Running the leaks
command line tool against IINA reported many leaked buffers. This issue is focused on a large leak of a collection of FileInfo
objects. The leaks
output shows these FileInfo
objects are related to IINA's scanning of the files in the same directory as the video being played. If there is a large number of files in that directory the amount of memory leaked can be large.
System and IINA version:
- macOS 11.4
- IINA 1.2.0
Expected behavior:
IINA does not leak memory.
Actual behavior:
IINA leaks a lot of FileInfo
objects.
Steps to reproduce:
I reproduced this issue using a development build under macOS 11.4 and Xcode 12.5. I added a log message to the init
method of the FileInfo
class in order to be able to see when a FileInfo
object is allocated. I also added a deinit
method to the class with a log message to see when a FileInfo
object is being deallocated:
deinit {
Logger.log("deinit FileInfo \(url)")
}
I started up IINA. I opened a MP4 file. I then closed the window. IINA remained running. I clicked on the IINA icon in the dock and opened the same MP4 file again. I then ran leaks
against the IINA process. The first leak reported is a collection of FileInfo
objects representing the files in the Movies
directory:
Output from leaks:
Process: IINA [14284]
Path: /Users/USER/Library/Developer/Xcode/DerivedData/iina-echacgeisxgbwucwumppkhklmnkd/Build/Products/Debug/IINA.app/Contents/MacOS/IINA
Load Address: 0x109850000
Identifier: com.colliderli.iina
Version: 1.2.0 (129)
Code Type: X86-64
Platform: macOS
Parent Process: debugserver [14286]
Date/Time: 2021-07-09 16:52:00.570 -0400
Launch Time: 2021-07-09 16:49:37.756 -0400
OS Version: macOS 11.4 (20F71)
Report Version: 7
Analysis Tool: /usr/bin/leaks
Physical footprint: 78.1M
Physical footprint (peak): 86.5M
----
leaks Report Version: 4.0
Process 14284: 103020 nodes malloced for 59738 KB
Process 14284: 117 leaks for 10288 total leaked bytes.
117 (10.0K) << TOTAL >>
52 (4.95K) ROOT CYCLE: <Swift closure context 0x6000038a0540> [32]
51 (4.92K) + 8 --> ROOT CYCLE: <Swift closure context 0x6000038a0880> [32]
__strong --> CYCLE BACK TO <Swift closure context 0x6000038a0540> [32]
50 (4.89K) __strong --> <Swift closure context 0x6000038a25a0> [32]
49 (4.86K) --> <Swift._DictionaryStorage<Swift.String, Swift.Array<IINA.FileInfo>> 0x600000f8ec00> [176]
22 (2.11K) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x600002d6b7c0> [64]
8 (832 bytes) countAndCapacity + 16 --> <FileInfo 0x600000f96050> [176]
3 (464 bytes) url --> <NSURL 0x600001ccd980> [96] "file:///Users/low-batt/Movies/x-1.mp4"
1 (304 bytes) <_FileCache 0x7fdb3b02cd40> [304]
1 (64 bytes) _clients --> <CFString 0x6000022b5b40> [64] length: 37 "file:///Users/low-batt/Movies/x-1.mp4"
1 (80 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001b10550> [80]
1 (48 bytes) path + 8 --> <CFString 0x6000037a8690> [48] length: 30 "/Users/low-batt/Movies/x-1.mp4"
1 (32 bytes) ext + 8 --> <NSPathStore2 0x600003820340> [32] length: 3 "mp4"
1 (32 bytes) filename + 8 --> <NSPathStore2 0x6000038203c0> [32] length: 3 "x-1"
7 (784 bytes) <FileInfo 0x600000f95ef0> [176]
3 (464 bytes) url --> <NSURL 0x600001ccd8c0> [96] "file:///Users/low-batt/Movies/x-3.mp4"
1 (304 bytes) <_FileCache 0x7fdb3b00c760> [304]
1 (64 bytes) _clients --> <CFString 0x6000022b5b80> [64] length: 37 "file:///Users/low-batt/Movies/x-3.mp4"
1 (80 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001b104b0> [80]
1 (32 bytes) ext + 8 --> <NSPathStore2 0x6000038201e0> [32] length: 3 "mp4"
1 (32 bytes) filename + 8 --> <NSPathStore2 0x600003820200> [32] length: 3 "x-3"
6 (480 bytes) <FileInfo 0x600000f95fa0> [176]
2 (160 bytes) url --> <NSURL 0x600001ccd920> [96] "file:///Users/low-batt/Movies/x-2.mp4"
1 (64 bytes) _clients --> <CFString 0x6000022b5c40> [64] length: 37 "file:///Users/low-batt/Movies/x-2.mp4"
1 (80 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001b10460> [80]
1 (32 bytes) ext + 8 --> <NSPathStore2 0x600003820240> [32] length: 3 "mp4"
1 (32 bytes) filename + 8 --> <NSPathStore2 0x600003820260> [32] length: 3 "x-2"
17 (1.69K) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x600002d6b6c0> [64]
8 (832 bytes) <FileInfo 0x600000f958c0> [176]
3 (464 bytes) url --> <NSURL 0x600001ccd440> [96] "file:///Users/low-batt/Movies/y-8.mp4"
1 (304 bytes) <_FileCache 0x7fdb3b045810> [304]
1 (64 bytes) _clients --> <CFString 0x6000022b5ac0> [64] length: 37 "file:///Users/low-batt/Movies/y-8.mp4"
1 (80 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001b10320> [80]
1 (48 bytes) path + 8 --> <CFString 0x6000037a8c60> [48] length: 30 "/Users/low-batt/Movies/y-8.mp4"
1 (32 bytes) ext + 8 --> <NSPathStore2 0x6000038200c0> [32] length: 3 "mp4"
1 (32 bytes) filename + 8 --> <NSPathStore2 0x600003820e40> [32] length: 3 "y-8"
8 (832 bytes) countAndCapacity + 16 --> <FileInfo 0x600000f96260> [176]
3 (464 bytes) url --> <NSURL 0x600001ccda40> [96] "file:///Users/low-batt/Movies/y-5.mp4"
1 (304 bytes) <_FileCache 0x7fdb3b030b70> [304]
1 (64 bytes) _clients --> <CFString 0x6000022b58c0> [64] length: 37 "file:///Users/low-batt/Movies/y-5.mp4"
1 (80 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001b10370> [80]
1 (48 bytes) path + 8 --> <CFString 0x6000037a87b0> [48] length: 30 "/Users/low-batt/Movies/y-5.mp4"
1 (32 bytes) ext + 8 --> <NSPathStore2 0x600003820540> [32] length: 3 "mp4"
1 (32 bytes) filename + 8 --> <NSPathStore2 0x600003820f20> [32] length: 3 "y-5"
9 (912 bytes) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x600003793990> [48]
8 (864 bytes) countAndCapacity + 16 --> <FileInfo 0x600000f9b4f0> [176]
3 (464 bytes) url --> <NSURL 0x600001ccd5c0> [96] "file:///Users/low-batt/Movies/test.mp4"
1 (304 bytes) <_FileCache 0x7fdb3b0108b0> [304]
1 (64 bytes) _clients --> <CFString 0x6000022b5b00> [64] length: 38 "file:///Users/low-batt/Movies/test.mp4"
1 (96 bytes) characters --> <Swift._ContiguousArrayStorage<Swift.Character> 0x600001ccdaa0> [96]
1 (64 bytes) path + 8 --> <CFString 0x6000022b5d00> [64] length: 31 "/Users/low-batt/Movies/test.mp4"
1 (32 bytes) ext + 8 --> <NSPathStore2 0x600003851640> [32] length: 3 "mp4"
1 (32 bytes) suffix + 8 --> <NSPathStore2 0x600003851620> [32] length: 4 "test"
5 (1.27K) ROOT LEAK: <MenuController 0x7fdb39e09390> [928]
4 (368 bytes) menuBindingList --> <Swift._DictionaryStorage<__C.NSMenu, (__C.NSMenuItem) -> Swift.Bool> 0x7fdb39e0d4f0> [272]
1 (32 bytes) <Swift closure context 0x6000038ae0a0> [32]
1 (32 bytes) <Swift closure context 0x6000038ae420> [32]
1 (32 bytes) <Swift closure context 0x6000038aeba0> [32]
7 (448 bytes) ROOT CYCLE: <Swift closure context 0x6000038a5620> [32]
6 (416 bytes) + 8 --> ROOT CYCLE: <Swift closure context 0x6000038a5a40> [32]
__strong --> CYCLE BACK TO <Swift closure context 0x6000038a5620> [32]
5 (384 bytes) __strong --> <Swift closure context 0x6000038a5980> [32]
4 (352 bytes) --> <Swift._DictionaryStorage<Swift.String, Swift.Array<IINA.FileInfo>> 0x600000f8d810> [176]
1 (64 bytes) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x600002dd0f00> [64]
1 (64 bytes) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x600002dd1840> [64]
1 (48 bytes) <Swift._ContiguousArrayStorage<IINA.FileInfo> 0x6000037a14d0> [48]
4 (224 bytes) ROOT CYCLE: <Swift closure context 0x600003823560> [32]
3 (192 bytes) + 8 --> ROOT CYCLE: <Swift closure context 0x6000038235c0> [32]
__strong --> CYCLE BACK TO <Swift closure context 0x600003823560> [32]
2 (160 bytes) __strong --> <Swift closure context 0x600003820de0> [32]
1 (128 bytes) --> <Swift._DictionaryStorage<Swift.String, Swift.Array<IINA.FileInfo>> 0x6000016fff00> [128]
4 (224 bytes) ROOT CYCLE: <Swift closure context 0x600003834b40> [32]
3 (192 bytes) + 8 --> ROOT CYCLE: <Swift closure context 0x6000038352e0> [32]
__strong --> CYCLE BACK TO <Swift closure context 0x600003834b40> [32]
2 (160 bytes) __strong --> <Swift closure context 0x600003835760> [32]
1 (128 bytes) --> <Swift._DictionaryStorage<Swift.String, Swift.Array<IINA.FileInfo>> 0x6000016f8a80> [128]
2 (144 bytes) ROOT CYCLE: 0x600001b12c60 [80]
CYCLE BACK TO 0x600001b12c60 [80]
1 (64 bytes) ROOT CYCLE: 0x600002280840 [64]
CYCLE BACK TO 0x600001b12c60 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b12d50 [80]
CYCLE BACK TO 0x600001b12d50 [80]
1 (64 bytes) ROOT CYCLE: 0x6000022803c0 [64]
CYCLE BACK TO 0x600001b12d50 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b13520 [80]
CYCLE BACK TO 0x600001b13520 [80]
1 (64 bytes) ROOT CYCLE: 0x600002280e40 [64]
CYCLE BACK TO 0x600001b13520 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b13660 [80]
CYCLE BACK TO 0x600001b13660 [80]
1 (64 bytes) ROOT CYCLE: 0x600002282000 [64]
CYCLE BACK TO 0x600001b13660 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b16e90 [80]
CYCLE BACK TO 0x600001b16e90 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d30c40 [64]
CYCLE BACK TO 0x600001b16e90 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b174d0 [80]
CYCLE BACK TO 0x600001b174d0 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d02000 [64]
CYCLE BACK TO 0x600001b174d0 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b17520 [80]
CYCLE BACK TO 0x600001b17520 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d1cac0 [64]
CYCLE BACK TO 0x600001b17520 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b175c0 [80]
CYCLE BACK TO 0x600001b175c0 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d161c0 [64]
CYCLE BACK TO 0x600001b175c0 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b17660 [80]
CYCLE BACK TO 0x600001b17660 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d10fc0 [64]
CYCLE BACK TO 0x600001b17660 [80]
2 (144 bytes) ROOT CYCLE: 0x600001b17e80 [80]
CYCLE BACK TO 0x600001b17e80 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d33b00 [64]
CYCLE BACK TO 0x600001b17e80 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bdabc0 [80]
CYCLE BACK TO 0x600001bdabc0 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d2b100 [64]
CYCLE BACK TO 0x600001bdabc0 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0140 [80]
CYCLE BACK TO 0x600001bf0140 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34340 [64]
CYCLE BACK TO 0x600001bf0140 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0190 [80]
CYCLE BACK TO 0x600001bf0190 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34c80 [64]
CYCLE BACK TO 0x600001bf0190 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf01e0 [80]
CYCLE BACK TO 0x600001bf01e0 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34480 [64]
CYCLE BACK TO 0x600001bf01e0 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0230 [80]
CYCLE BACK TO 0x600001bf0230 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34980 [64]
CYCLE BACK TO 0x600001bf0230 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0280 [80]
CYCLE BACK TO 0x600001bf0280 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34880 [64]
CYCLE BACK TO 0x600001bf0280 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0370 [80]
CYCLE BACK TO 0x600001bf0370 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34b00 [64]
CYCLE BACK TO 0x600001bf0370 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf03c0 [80]
CYCLE BACK TO 0x600001bf03c0 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34a00 [64]
CYCLE BACK TO 0x600001bf03c0 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf0550 [80]
CYCLE BACK TO 0x600001bf0550 [80]
1 (64 bytes) ROOT CYCLE: 0x600002d34b80 [64]
CYCLE BACK TO 0x600001bf0550 [80]
2 (144 bytes) ROOT CYCLE: 0x600001bf6b20 [80]
CYCLE BACK TO 0x600001bf6b20 [80]
1 (64 bytes) ROOT CYCLE: 0x600002dd0cc0 [64]
CYCLE BACK TO 0x600001bf6b20 [80]
4 (80 bytes) ROOT LEAK: 0x7fdb39f33480 [16]
3 (64 bytes) 0x600003a83320 [16]
1 (32 bytes) 0x60000383f460 [32] length: 17 "advanced_editlist"
1 (16 bytes) 0x600003a83340 [16] length: 1 "0"
1 (64 bytes) ROOT LEAK: 0x600002ddb9c0 [64]
The IINA log file shows FileInfo
objects being allocated, but only a couple being deallocated:
iina.log:
16:49:44.219 [iina][d] App will launch
16:49:44.224 [iina][d] Got arguments ["-NSDocumentRevisionsDebugMode", "YES"]
16:49:44.224 [iina][d] IINA arguments: []
16:49:44.224 [iina][d] Filenames from arguments: []
16:49:44.395 [iina][d] App launched
16:49:44.397 [iina][d] Loading key bindings
16:49:44.506 [iina][d] Set key bindings
16:49:44.916 [iina][d] Setting up MediaPlayer integration
16:49:44.925 [player0][d] Set path to /Users/low-batt/Library/Developer/Xcode/DerivedData/iina-echacgeisxgbwucwumppkhklmnkd/Build/Products/Debug/IINA.app/Contents/MacOS:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
16:49:44.963 [player0][d] Track list changed
16:49:44.974 [player0][d] Track list changed
16:49:45.740 [iina][d] Menu - Open file
16:49:52.373 [player0][d] Open URL: file:///Users/low-batt/Movies/test.mp4
16:49:52.374 [player0][d] Opening /Users/low-batt/Movies/test.mp4 in main window
16:49:52.571 [iina][d] Created OpenGL pixel format with [__C._CGLPixelFormatAttribute(rawValue: 5), __C._CGLPixelFormatAttribute(rawValue: 96), __C._CGLPixelFormatAttribute(rawValue: 99), __C._CGLPixelFormatAttribute(rawValue: 12800), __C._CGLPixelFormatAttribute(rawValue: 0)]
16:49:52.581 [iina][w] mpv log: [libmpv_render] warn: Suspected software renderer or indirect context.
16:49:52.587 [iina][d] Falling back to nominal display refresh rate: 60.0 from 0.0
16:49:52.588 [iina][w] mpv log: [cplayer] warn: Setting the display-fps property is deprecated; set the override-display-fps property instead.
16:49:52.643 [player0][d] File started
16:49:52.644 [player0][d] Track list changed
16:49:52.647 [player0][d] Started auto load
16:49:52.648 [fmatcher][d] **Start matching
16:49:52.650 [fmatcher][d] Getting all media files...
16:49:52.650 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-8.mp4
16:49:52.650 [iina][d] init FileInfo file:///Users/low-batt/Movies/test.mp4
16:49:52.650 [iina][d] init FileInfo file:///Users/low-batt/Movies/TV/
16:49:52.650 [iina][d] deinit FileInfo file:///Users/low-batt/Movies/TV/
16:49:52.650 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-4.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-3.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-2.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-1.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-6.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-7.mp4
16:49:52.651 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-5.mp4
16:49:52.651 [fmatcher][d] Got all media files, video=9, audio=0
16:49:52.678 [fmatcher][d] Getting all sub files...
16:49:52.685 [fmatcher][d] Searching subtitles from 1 directories...
16:49:52.686 [fmatcher][d] Got 0 subtitles
16:49:52.687 [fmatcher][d] Adding files to playlist
16:49:52.837 [player0][d] File loaded
16:49:52.838 [player0][d] Track list changed
16:49:52.851 [fmatcher][d] Grouping video files...
16:49:52.851 [fgroup][d] Start grouping 9 files
16:49:52.852 [fmatcher][d] Finished with 3 groups
16:49:52.852 [fmatcher][d] Grouping sub files...
16:49:52.852 [fgroup][d] Start grouping 0 files
16:49:52.852 [fmatcher][d] Finished with 1 groups
16:49:52.853 [fmatcher][d] Matching video and sub series...
16:49:52.853 [fmatcher][d] Calculated editing distance
16:49:52.853 [fmatcher][d] Finished matching.
16:49:52.854 [fmatcher][d] Matching subs with matched series, prefixes=0...
16:49:52.854 [fmatcher][d] Matching for test
16:49:52.858 [fmatcher][d] No matched sub for this file
16:49:52.858 [fmatcher][d] Matching for x-1
16:49:52.858 [fmatcher][d] No matched sub for this file
16:49:52.858 [fmatcher][d] Matching for x-2
16:49:52.858 [fmatcher][d] No matched sub for this file
16:49:52.858 [fmatcher][d] Matching for x-3
16:49:52.859 [fmatcher][d] No matched sub for this file
16:49:52.859 [fmatcher][d] Matching for x-4
16:49:52.859 [fmatcher][d] No matched sub for this file
16:49:52.859 [fmatcher][d] Matching for y-5
16:49:52.859 [fmatcher][d] No matched sub for this file
16:49:52.859 [fmatcher][d] Matching for y-6
16:49:52.865 [player0][d] Getting thumbnails
16:49:52.860 [fmatcher][d] No matched sub for this file
16:49:52.868 [fmatcher][d] Matching for y-7
16:49:52.869 [player0][d] Found thumbnail cache
16:49:52.869 [player0][d] Playback restarted
16:49:52.869 [fmatcher][d] No matched sub for this file
16:49:52.869 [fmatcher][d] Matching for y-8
16:49:52.872 [thumbcache][d] Reading thumbnail cache...
16:49:52.873 [thumbcache][d] Reading from /Users/low-batt/Library/Caches/com.colliderli.iina/thumb_cache/6d043a23e1507f425a983bfec54e6d25
16:49:52.869 [fmatcher][d] No matched sub for this file
16:49:52.979 [fmatcher][d] Force matching unmatched videos, video=9, sub=0...
16:49:52.979 [fmatcher][d] **Finished matching
16:49:52.984 [player0][d] Track list changed
16:49:52.984 [iina][w] mpv log: [ffmpeg/video] error: h264: Failed setup for format videotoolbox_vld: hwaccel initialisation returned error.
16:49:52.984 [iina][w] mpv log: [ao/coreaudio] error: could not get device preferred layout (size) (jbo[33]/560947818)
16:49:52.984 [iina][w] mpv log: [ao/coreaudio] error: could not get device preferred stereo layout (jbo[33]/560947818)
16:49:52.985 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
16:49:52.985 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
16:49:52.985 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
16:49:52.985 [iina][w] mpv log: [libmpv_render] warn: ICC profile detected contrast very high (>100000), falling back to contrast 1000 for sanity. Set the icc-contrast option to silence this warning.
16:49:52.991 [thumbcache][d] Finished reading thumbnail cache, 6 in total
16:49:57.357 [player0][d] Write watch later config
16:49:57.486 [player0][d] Track list changed
16:50:01.698 [iina][d] Handle reopen
16:50:01.698 [iina][d] Menu - Open file
16:50:07.646 [player0][d] Open URL: file:///Users/low-batt/Movies/test.mp4
16:50:07.646 [player0][d] Opening /Users/low-batt/Movies/test.mp4 in main window
16:50:07.720 [player0][d] File started
16:50:07.721 [player0][d] Track list changed
16:50:07.721 [player0][d] Started auto load
16:50:07.721 [fmatcher][d] **Start matching
16:50:07.725 [fmatcher][d] Getting all media files...
16:50:07.728 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-8.mp4
16:50:07.728 [iina][d] init FileInfo file:///Users/low-batt/Movies/test.mp4
16:50:07.728 [iina][d] init FileInfo file:///Users/low-batt/Movies/TV/
16:50:07.728 [iina][d] deinit FileInfo file:///Users/low-batt/Movies/TV/
16:50:07.728 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-4.mp4
16:50:07.728 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-3.mp4
16:50:07.729 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-2.mp4
16:50:07.729 [iina][d] init FileInfo file:///Users/low-batt/Movies/x-1.mp4
16:50:07.729 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-6.mp4
16:50:07.729 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-7.mp4
16:50:07.736 [iina][d] init FileInfo file:///Users/low-batt/Movies/y-5.mp4
16:50:07.738 [fmatcher][d] Got all media files, video=9, audio=0
16:50:07.739 [fmatcher][d] Getting all sub files...
16:50:07.740 [fmatcher][d] Searching subtitles from 1 directories...
16:50:07.741 [fmatcher][d] Got 0 subtitles
16:50:07.741 [fmatcher][d] Adding files to playlist
16:50:07.742 [fmatcher][d] Grouping video files...
16:50:07.743 [fgroup][d] Start grouping 9 files
16:50:07.743 [fmatcher][d] Finished with 3 groups
16:50:07.743 [fmatcher][d] Grouping sub files...
16:50:07.744 [fgroup][d] Start grouping 0 files
16:50:07.746 [fmatcher][d] Finished with 1 groups
16:50:07.746 [fmatcher][d] Matching video and sub series...
16:50:07.746 [fmatcher][d] Calculated editing distance
16:50:07.746 [fmatcher][d] Finished matching.
16:50:07.746 [fmatcher][d] Matching subs with matched series, prefixes=0...
16:50:07.747 [fmatcher][d] Matching for test
16:50:07.747 [fmatcher][d] No matched sub for this file
16:50:07.748 [fmatcher][d] Matching for x-1
16:50:07.748 [fmatcher][d] No matched sub for this file
16:50:07.749 [fmatcher][d] Matching for x-2
16:50:07.749 [fmatcher][d] No matched sub for this file
16:50:07.749 [fmatcher][d] Matching for x-3
16:50:07.749 [fmatcher][d] No matched sub for this file
16:50:07.750 [fmatcher][d] Matching for x-4
16:50:07.750 [fmatcher][d] No matched sub for this file
16:50:07.750 [fmatcher][d] Matching for y-5
16:50:07.750 [fmatcher][d] No matched sub for this file
16:50:07.751 [fmatcher][d] Matching for y-6
16:50:07.751 [fmatcher][d] No matched sub for this file
16:50:07.751 [fmatcher][d] Matching for y-7
16:50:07.751 [fmatcher][d] No matched sub for this file
16:50:07.751 [fmatcher][d] Matching for y-8
16:50:07.751 [fmatcher][d] No matched sub for this file
16:50:07.753 [fmatcher][d] Force matching unmatched videos, video=9, sub=0...
16:50:07.753 [fmatcher][d] **Finished matching
16:50:07.800 [player0][d] File loaded
16:50:07.800 [player0][d] Getting thumbnails
16:50:07.801 [player0][d] Found thumbnail cache
16:50:07.801 [player0][d] Track list changed
16:50:07.802 [thumbcache][d] Reading thumbnail cache...
16:50:07.802 [thumbcache][d] Reading from /Users/low-batt/Library/Caches/com.colliderli.iina/thumb_cache/6d043a23e1507f425a983bfec54e6d25
16:50:07.804 [thumbcache][d] Finished reading thumbnail cache, 6 in total
16:50:07.891 [player0][d] Playback restarted
16:50:07.903 [player0][d] Track list changed
16:50:07.904 [iina][w] mpv log: [ffmpeg/video] error: h264: Failed setup for format videotoolbox_vld: hwaccel initialisation returned error.
16:50:07.904 [iina][w] mpv log: [ao/coreaudio] error: could not get device preferred layout (size) (jbo[33]/560947818)
16:50:07.904 [iina][w] mpv log: [ao/coreaudio] error: could not get device preferred stereo layout (jbo[33]/560947818)
16:50:07.904 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
16:50:07.904 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
16:50:07.904 [iina][w] mpv log: [ao/coreaudio] warn: cannot get device latency (jbo[33]/560947818)
- [ x] MPV does not have this problem.
The output from leaks
also shows leaked buffers that may be from MPV, but this issue is focused just on the leaked FileInfo
objects which is an IINA issue.
How often does this happen?
Every time unless you change preferences to disable the features that scan other files in the directory.