Build Information
Successful build of KSPlayer, reference main (4e3bf3
), with Swift 6.0 for macOS (SPM) on 5 Nov 2024 04:33:32 UTC.
Swift 6 data race errors: 140
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
8 | import CoreVideo
9 | import Foundation
10 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
11 | import QuartzCore
12 | import simd
13 |
14 | class MetalRender {
15 | static let device = MTLCreateSystemDefaultDevice()!
| |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | static let library: MTLLibrary = {
17 | var library: MTLLibrary!
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:415:23: warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
366 | import CoreVideo
367 |
368 | class CADisplayLink {
| `- note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
369 | private let displayLink: CVDisplayLink
370 | private var runloop: RunLoop?
:
413 | self.displayLink = displayLink!
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
| `- warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
417 | return kCVReturnSuccess
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:416:53: warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
| `- warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
417 | return kCVReturnSuccess
418 | }
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.0, *)
2 | open class NSObject : NSObjectProtocol {
| `- note: class 'NSObject' does not conform to the 'Sendable' protocol
3 | open class func load()
4 | open class func initialize()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
9 | import Combine
10 | import CoreMedia
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | self.displayLink = displayLink!
426 | CVDisplayLinkSetOutputHandler(self.displayLink) { _, _, _, _, _ in
427 | block()
| |- warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
428 | return kCVReturnSuccess
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
80 | public extension KSOptions {
81 | /// 开启VR模式的陀飞轮
82 | static var enableSensor = true
| |- warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableSensor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableSensor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
| |- warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yadifMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'yadifMode' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | static var deInterlaceAddIdet = false
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
88 | static var deInterlaceAddIdet = false
| |- warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'deInterlaceAddIdet' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'deInterlaceAddIdet' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
90 | switch ycbcrMatrix {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:179:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
176 | }
177 |
178 | public struct Timebase {
| `- note: consider making struct 'Timebase' conform to the 'Sendable' protocol
179 | static let defaultValue = Timebase(num: 1, den: 1)
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | public let num: Int32
181 | public let den: Int32
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
514 | self.play()
515 | }
516 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
517 | }
518 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
530 | self.pause()
531 | }
532 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
533 | }
534 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
555 | }
556 | guard self.loadState != .playable, let countDown = bufferingCommand.completionDueDate?.timeIntervalSinceNow else {
557 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
558 | return
559 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
503 | options.seekFlags &= ~AVSEEK_FLAG_BACKWARD
504 | seekFlags &= ~AVSEEK_FLAG_BACKWARD
505 | result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
| `- warning: 'result' mutated after capture by sendable closure
506 | }
507 | KSLog("seek to \(seekToTime) spend Time: \(CACurrentMediaTime() - seekStartTime)")
[55/61] Compiling KSPlayer MetalPlayView.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:26:27: warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
24 | oldValue?.invalidate()
25 | runOnMainThread {
26 | oldValue?.removeFromSuperview()
| `- warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
27 | }
28 | }
AppKit.NSView:44:26: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
42 | open func didAddSubview(_ subview: NSView)
43 | open func willRemoveSubview(_ subview: NSView)
44 | @MainActor open func removeFromSuperview()
| `- note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
45 | open func replaceSubview(_ oldView: NSView, with newView: NSView)
46 | open func removeFromSuperviewWithoutNeedingDisplay()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:110:35: warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
108 | runOnMainThread { [weak self] in
109 | guard let self else { return }
110 | delegate?.finish(player: self, error: nil)
| `- warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:114:10: note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
| `- note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
115 | }
116 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:429:16: warning: main actor-isolated property 'contentMode' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
289 | }
290 |
291 | extension KSMEPlayer: MediaPlayerProtocol {
| `- note: add '@preconcurrency' to the 'MediaPlayerProtocol' conformance to defer isolation checking to run time
292 | public var chapters: [Chapter] {
293 | playerItem.chapters
:
427 |
428 | @MainActor
429 | public var contentMode: UIViewContentMode {
| `- warning: main actor-isolated property 'contentMode' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
430 | get {
431 | view?.contentMode ?? .center
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
81 | var playbackRate: Float { get set }
82 | var playbackVolume: Float { get set }
83 | var contentMode: UIViewContentMode { get set }
| `- note: 'contentMode' declared here
84 | var subtitleDataSouce: SubtitleDataSouce? { get }
85 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:309:16: warning: main actor-isolated property 'naturalSize' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
307 |
308 | @MainActor
309 | public var naturalSize: CGSize {
| `- warning: main actor-isolated property 'naturalSize' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
310 | options.display == .plane ? playerItem.naturalSize : KSOptions.sceneSize
311 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
17 | var duration: TimeInterval { get }
18 | var fileSize: Double { get }
19 | var naturalSize: CGSize { get }
| `- note: 'naturalSize' declared here
20 | var chapters: [Chapter] { get }
21 | var currentPlaybackTime: TimeInterval { get }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: warning: non-final class 'KSMEPlayer' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | #endif
15 |
16 | public class KSMEPlayer: NSObject {
| `- warning: non-final class 'KSMEPlayer' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
17 | private var loopCount = 1
18 | private var playerItem: MEPlayerItem
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:17:17: warning: stored property 'loopCount' of 'Sendable'-conforming class 'KSMEPlayer' is mutable; this is an error in the Swift 6 language mode
15 |
16 | public class KSMEPlayer: NSObject {
17 | private var loopCount = 1
| `- warning: stored property 'loopCount' of 'Sendable'-conforming class 'KSMEPlayer' is mutable; this is an error in the Swift 6 language mode
18 | private var playerItem: MEPlayerItem
19 | public let audioOutput: AudioOutput
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:35:27: warning: call to main actor-isolated instance method 'changeBuffering(player:progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | runOnMainThread { [weak self] in
34 | guard let self else { return }
35 | delegate?.changeBuffering(player: self, progress: newValue)
| `- warning: call to main actor-isolated instance method 'changeBuffering(player:progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
36 | }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:112:10: note: calls to instance method 'changeBuffering(player:progress:)' from outside of its actor context are implicitly asynchronous
110 | func changeLoadState(player: some MediaPlayerProtocol)
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
| `- note: calls to instance method 'changeBuffering(player:progress:)' from outside of its actor context are implicitly asynchronous
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
| |- warning: static property 'audioPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'audioPlayerType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'audioPlayerType' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: warning: static property 'videoPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
| |- warning: static property 'videoPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoPlayerType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoPlayerType' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
87 | static var yadifMode = 1
88 | static var deInterlaceAddIdet = false
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:164:28: warning: call to main actor-isolated instance method 'changeLoadState(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
162 | self.videoOutput?.play()
163 | }
164 | self.delegate?.changeLoadState(player: self)
| `- warning: call to main actor-isolated instance method 'changeLoadState(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
165 | }
166 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:110:10: note: calls to instance method 'changeLoadState(player:)' from outside of its actor context are implicitly asynchronous
108 | public protocol MediaPlayerDelegate: AnyObject {
109 | func readyToPlay(player: some MediaPlayerProtocol)
110 | func changeLoadState(player: some MediaPlayerProtocol)
| `- note: calls to instance method 'changeLoadState(player:)' from outside of its actor context are implicitly asynchronous
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:213:23: warning: call to main actor-isolated instance method 'readyToPlay(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
211 | CMTimebaseSetTime(controlTimebase, time: CMTimeMake(value: Int64(options.startPlayTime), timescale: 1))
212 | }
213 | delegate?.readyToPlay(player: self)
| `- warning: call to main actor-isolated instance method 'readyToPlay(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
214 | }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:109:10: note: calls to instance method 'readyToPlay(player:)' from outside of its actor context are implicitly asynchronous
107 | @MainActor
108 | public protocol MediaPlayerDelegate: AnyObject {
109 | func readyToPlay(player: some MediaPlayerProtocol)
| `- note: calls to instance method 'readyToPlay(player:)' from outside of its actor context are implicitly asynchronous
110 | func changeLoadState(player: some MediaPlayerProtocol)
111 | // 缓冲加载进度,0-100
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:220:28: warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
218 | runOnMainThread { [weak self] in
219 | guard let self else { return }
220 | self.delegate?.finish(player: self, error: error)
| `- warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:114:10: note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
| `- note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
115 | }
116 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:229:32: warning: call to main actor-isolated instance method 'playBack(player:loopCount:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
227 | if self.options.isLoopPlay {
228 | self.loopCount += 1
229 | self.delegate?.playBack(player: self, loopCount: self.loopCount)
| `- warning: call to main actor-isolated instance method 'playBack(player:loopCount:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
230 | self.audioOutput.play()
231 | self.videoOutput?.play()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:113:10: note: calls to instance method 'playBack(player:loopCount:)' from outside of its actor context are implicitly asynchronous
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
| `- note: calls to instance method 'playBack(player:loopCount:)' from outside of its actor context are implicitly asynchronous
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 | static var enableSensor = true
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
| |- warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isClearVideoWhereReplace' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isClearVideoWhereReplace' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
514 | self.play()
515 | }
516 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
517 | }
518 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
530 | self.pause()
531 | }
532 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
533 | }
534 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
555 | }
556 | guard self.loadState != .playable, let countDown = bufferingCommand.completionDueDate?.timeIntervalSinceNow else {
557 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
558 | return
559 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
561 | self.bufferingCountDownTimer = nil
562 | self.bufferingCountDownTimer = Timer(timeInterval: countDown, repeats: false) { _ in
563 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
564 | }
565 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: warning: static property 'onceInitial' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
92 | }
93 |
94 | private static var onceInitial: Void = {
| |- warning: static property 'onceInitial' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'onceInitial' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'onceInitial' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
95 | var result = avformat_network_init()
96 | av_log_set_callback { ptr, level, format, args in
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:107:32: warning: reference to var 'ffurl_context_class' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 | if let ptr {
106 | let avclass = ptr.assumingMemoryBound(to: UnsafePointer<AVClass>.self).pointee
107 | if avclass == &ffurl_context_class {
| `- warning: reference to var 'ffurl_context_class' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
108 | let context = ptr.assumingMemoryBound(to: URLContext.self).pointee
109 | if let opaque = context.interrupt_callback.opaque {
FFmpegKit.ffurl_context_class:1:12: note: var declared here
1 | public var ffurl_context_class: AVClass
| `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:16:17: warning: stored property 'options' of 'Sendable'-conforming class 'MEPlayerItem' has non-sendable type 'KSOptions'; this is an error in the Swift 6 language mode
14 | public final class MEPlayerItem: Sendable {
15 | private let url: URL
16 | private let options: KSOptions
| `- warning: stored property 'options' of 'Sendable'-conforming class 'MEPlayerItem' has non-sendable type 'KSOptions'; this is an error in the Swift 6 language mode
17 | private let operationQueue = OperationQueue()
18 | private let condition = NSCondition()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
15 | import UIKit
16 | #endif
17 | open class KSOptions {
| `- note: class 'KSOptions' does not conform to the 'Sendable' protocol
18 | /// 最低缓存视频时间
19 | @Published
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable; this is an error in the Swift 6 language mode
17 | private let operationQueue = OperationQueue()
18 | private let condition = NSCondition()
19 | private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
| `- warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable; this is an error in the Swift 6 language mode
20 | private var outputFormatCtx: UnsafeMutablePointer<AVFormatContext>?
21 | private var outputPacket: UnsafeMutablePointer<AVPacket>?
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: warning: static property 'stackSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
81 | /// 开启VR模式的陀飞轮
82 | static var enableSensor = true
83 | static var stackSize = 65536
| |- warning: static property 'stackSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stackSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stackSize' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:452:21: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
450 | let flags = seekByBytes ? AVSEEK_FLAG_BYTE : 0
451 | let seekStartTime = CACurrentMediaTime()
452 | let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
| `- warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
453 | audioClock.time = timestamp
454 | videoClock.time = timestamp
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: warning: reference to captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
516 | DispatchQueue.main.async { [weak self] in
517 | guard let self else { return }
518 | self.seekingCompletionHandler?(result >= 0)
| `- warning: reference to captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
519 | self.seekingCompletionHandler = nil
520 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: warning: static property 'audioRecognizes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
288 | public static var textItalic = false
289 | public static var textPosition = TextPosition()
290 | public static var audioRecognizes = [any AudioRecognize]()
| |- warning: static property 'audioRecognizes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'audioRecognizes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'audioRecognizes' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | private var subtitleDataSouces: [SubtitleDataSouce] = KSOptions.subtitleDataSouces
292 | @Published
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:223:23: warning: capture of 'self' with non-sendable type 'AsyncPlayerItemTrack<Frame>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | }
178 |
179 | final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
| `- note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
180 | private let operationQueue = OperationQueue()
181 | private var decodeOperation: BlockOperation!
:
221 | guard operationQueue.operationCount == 0 else { return }
222 | decodeOperation = BlockOperation { [weak self] in
223 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'AsyncPlayerItemTrack<Frame>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
224 | Thread.current.name = self.operationQueue.name
225 | Thread.current.stackSize = KSOptions.stackSize
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: warning: static property 'preferredFrame' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
477 | static var isPipPopViewController = false
478 | static var canStartPictureInPictureAutomaticallyFromInline = true
479 | static var preferredFrame = true
| |- warning: static property 'preferredFrame' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'preferredFrame' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'preferredFrame' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
480 | static var useSystemHTTPProxy = true
481 | /// 日志级别
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:72:21: warning: main actor-isolated property 'displayLayerDelegate' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
17 |
18 | public protocol VideoOutput: FrameOutput {
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
| `- note: 'displayLayerDelegate' declared here
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
:
26 | }
27 |
28 | public final class MetalPlayView: UIView, VideoOutput {
| `- note: add '@preconcurrency' to the 'VideoOutput' conformance to defer isolation checking to run time
29 | public var displayLayer: AVSampleBufferDisplayLayer {
30 | displayView.displayLayer
:
70 |
71 | private let metalView = MetalView()
72 | public weak var displayLayerDelegate: DisplayLayerDelegate?
| `- warning: main actor-isolated property 'displayLayerDelegate' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
73 | public init(options: KSOptions) {
74 | self.options = options
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:62:16: warning: main actor-isolated property 'options' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
18 | public protocol VideoOutput: FrameOutput {
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
20 | var options: KSOptions { get set }
| `- note: 'options' declared here
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
:
60 | private var displayLink: CADisplayLink!
61 | // private let timer = DispatchSource.makeTimerSource(queue: DispatchQueue.main)
62 | public var options: KSOptions
| `- warning: main actor-isolated property 'options' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
63 | public weak var renderSource: OutputRenderSourceDelegate?
64 | // AVSampleBufferAudioRenderer AVSampleBufferRenderSynchronizer AVSampleBufferDisplayLayer
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:29:16: warning: main actor-isolated property 'displayLayer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
| `- note: 'displayLayer' declared here
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
:
27 |
28 | public final class MetalPlayView: UIView, VideoOutput {
29 | public var displayLayer: AVSampleBufferDisplayLayer {
| `- warning: main actor-isolated property 'displayLayer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
30 | displayView.displayLayer
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:56:29: warning: main actor-isolated property 'pixelBuffer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
| `- note: 'pixelBuffer' declared here
23 | init(options: KSOptions)
24 | func invalidate()
:
54 | }
55 |
56 | public private(set) var pixelBuffer: PixelBufferProtocol?
| `- warning: main actor-isolated property 'pixelBuffer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
57 | /// 用displayLink会导致锁屏无法draw,
58 | /// 用DispatchSourceTimer的话,在播放4k视频的时候repeat的时间会变长,
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: warning: main actor-isolated initializer 'init(options:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
| `- note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
24 | func invalidate()
25 | func readNextFrame()
:
71 | private let metalView = MetalView()
72 | public weak var displayLayerDelegate: DisplayLayerDelegate?
73 | public init(options: KSOptions) {
| |- warning: main actor-isolated initializer 'init(options:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
74 | self.options = options
75 | super.init(frame: .zero)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: warning: main actor-isolated instance method 'invalidate()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
24 | func invalidate()
| `- note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
25 | func readNextFrame()
26 | }
:
151 | }
152 |
153 | public func invalidate() {
| |- warning: main actor-isolated instance method 'invalidate()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
154 | displayLink.invalidate()
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: warning: main actor-isolated instance method 'readNextFrame()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
23 | init(options: KSOptions)
24 | func invalidate()
25 | func readNextFrame()
| `- note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
26 | }
27 |
:
155 | }
156 |
157 | public func readNextFrame() {
| |- warning: main actor-isolated instance method 'readNextFrame()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
158 | draw(force: true)
159 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:63:21: warning: main actor-isolated property 'renderSource' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
61 | // private let timer = DispatchSource.makeTimerSource(queue: DispatchQueue.main)
62 | public var options: KSOptions
63 | public weak var renderSource: OutputRenderSourceDelegate?
| `- warning: main actor-isolated property 'renderSource' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
64 | // AVSampleBufferAudioRenderer AVSampleBufferRenderSynchronizer AVSampleBufferDisplayLayer
65 | var displayView = AVSampleBufferDisplayView() {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
65 |
66 | public protocol FrameOutput: AnyObject {
67 | var renderSource: OutputRenderSourceDelegate? { get set }
| `- note: 'renderSource' declared here
68 | func pause()
69 | func flush()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: warning: main actor-isolated instance method 'pause()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
88 | }
89 |
90 | public func pause() {
| |- warning: main actor-isolated instance method 'pause()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
91 | displayLink.isPaused = true
92 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:68:10: note: mark the protocol requirement 'pause()' 'async' to allow actor-isolated conformances
66 | public protocol FrameOutput: AnyObject {
67 | var renderSource: OutputRenderSourceDelegate? { get set }
68 | func pause()
| `- note: mark the protocol requirement 'pause()' 'async' to allow actor-isolated conformances
69 | func flush()
70 | func play()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: warning: main actor-isolated instance method 'flush()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
142 | #endif
143 |
144 | public func flush() {
| |- warning: main actor-isolated instance method 'flush()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
145 | pixelBuffer = nil
146 | if displayView.isHidden {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:69:10: note: mark the protocol requirement 'flush()' 'async' to allow actor-isolated conformances
67 | var renderSource: OutputRenderSourceDelegate? { get set }
68 | func pause()
69 | func flush()
| `- note: mark the protocol requirement 'flush()' 'async' to allow actor-isolated conformances
70 | func play()
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: warning: main actor-isolated instance method 'play()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public func play() {
| |- warning: main actor-isolated instance method 'play()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
87 | displayLink.isPaused = false
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:70:10: note: mark the protocol requirement 'play()' 'async' to allow actor-isolated conformances
68 | func pause()
69 | func flush()
70 | func play()
| `- note: mark the protocol requirement 'play()' 'async' to allow actor-isolated conformances
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because non-'Sendable' type 'any MTLDevice' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | class MetalRender {
15 | static let device = MTLCreateSystemDefaultDevice()!
| `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type 'any MTLDevice' may have shared mutable state; this is an error in the Swift 6 language mode
16 | static let library: MTLLibrary = {
17 | var library: MTLLibrary!
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
8 | import CoreVideo
9 | import Foundation
10 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
11 | import QuartzCore
12 | import simd
13 |
14 | class MetalRender {
15 | static let device = MTLCreateSystemDefaultDevice()!
| |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | static let library: MTLLibrary = {
17 | var library: MTLLibrary!
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:415:23: warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
366 | import CoreVideo
367 |
368 | class CADisplayLink {
| `- note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
369 | private let displayLink: CVDisplayLink
370 | private var runloop: RunLoop?
:
413 | self.displayLink = displayLink!
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
| `- warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
417 | return kCVReturnSuccess
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:416:53: warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
| `- warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
417 | return kCVReturnSuccess
418 | }
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.0, *)
2 | open class NSObject : NSObjectProtocol {
| `- note: class 'NSObject' does not conform to the 'Sendable' protocol
3 | open class func load()
4 | open class func initialize()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
9 | import Combine
10 | import CoreMedia
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | self.displayLink = displayLink!
426 | CVDisplayLinkSetOutputHandler(self.displayLink) { _, _, _, _, _ in
427 | block()
| |- warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
428 | return kCVReturnSuccess
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
80 | public extension KSOptions {
81 | /// 开启VR模式的陀飞轮
82 | static var enableSensor = true
| |- warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableSensor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableSensor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
| |- warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yadifMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'yadifMode' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | static var deInterlaceAddIdet = false
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
88 | static var deInterlaceAddIdet = false
| |- warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'deInterlaceAddIdet' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'deInterlaceAddIdet' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
90 | switch ycbcrMatrix {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:179:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
176 | }
177 |
178 | public struct Timebase {
| `- note: consider making struct 'Timebase' conform to the 'Sendable' protocol
179 | static let defaultValue = Timebase(num: 1, den: 1)
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | public let num: Int32
181 | public let den: Int32
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
514 | self.play()
515 | }
516 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
517 | }
518 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
530 | self.pause()
531 | }
532 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
533 | }
534 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
555 | }
556 | guard self.loadState != .playable, let countDown = bufferingCommand.completionDueDate?.timeIntervalSinceNow else {
557 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
558 | return
559 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
503 | options.seekFlags &= ~AVSEEK_FLAG_BACKWARD
504 | seekFlags &= ~AVSEEK_FLAG_BACKWARD
505 | result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
| `- warning: 'result' mutated after capture by sendable closure
506 | }
507 | KSLog("seek to \(seekToTime) spend Time: \(CACurrentMediaTime() - seekStartTime)")
[56/61] Compiling KSPlayer Model.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:26:27: warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
24 | oldValue?.invalidate()
25 | runOnMainThread {
26 | oldValue?.removeFromSuperview()
| `- warning: call to main actor-isolated instance method 'removeFromSuperview()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
27 | }
28 | }
AppKit.NSView:44:26: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
42 | open func didAddSubview(_ subview: NSView)
43 | open func willRemoveSubview(_ subview: NSView)
44 | @MainActor open func removeFromSuperview()
| `- note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
45 | open func replaceSubview(_ oldView: NSView, with newView: NSView)
46 | open func removeFromSuperviewWithoutNeedingDisplay()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:110:35: warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
108 | runOnMainThread { [weak self] in
109 | guard let self else { return }
110 | delegate?.finish(player: self, error: nil)
| `- warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
111 | }
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:114:10: note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
| `- note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
115 | }
116 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:429:16: warning: main actor-isolated property 'contentMode' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
289 | }
290 |
291 | extension KSMEPlayer: MediaPlayerProtocol {
| `- note: add '@preconcurrency' to the 'MediaPlayerProtocol' conformance to defer isolation checking to run time
292 | public var chapters: [Chapter] {
293 | playerItem.chapters
:
427 |
428 | @MainActor
429 | public var contentMode: UIViewContentMode {
| `- warning: main actor-isolated property 'contentMode' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
430 | get {
431 | view?.contentMode ?? .center
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
81 | var playbackRate: Float { get set }
82 | var playbackVolume: Float { get set }
83 | var contentMode: UIViewContentMode { get set }
| `- note: 'contentMode' declared here
84 | var subtitleDataSouce: SubtitleDataSouce? { get }
85 | @available(macOS 12.0, iOS 15.0, tvOS 15.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:309:16: warning: main actor-isolated property 'naturalSize' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
307 |
308 | @MainActor
309 | public var naturalSize: CGSize {
| `- warning: main actor-isolated property 'naturalSize' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
310 | options.display == .plane ? playerItem.naturalSize : KSOptions.sceneSize
311 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
17 | var duration: TimeInterval { get }
18 | var fileSize: Double { get }
19 | var naturalSize: CGSize { get }
| `- note: 'naturalSize' declared here
20 | var chapters: [Chapter] { get }
21 | var currentPlaybackTime: TimeInterval { get }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: warning: non-final class 'KSMEPlayer' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | #endif
15 |
16 | public class KSMEPlayer: NSObject {
| `- warning: non-final class 'KSMEPlayer' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
17 | private var loopCount = 1
18 | private var playerItem: MEPlayerItem
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:17:17: warning: stored property 'loopCount' of 'Sendable'-conforming class 'KSMEPlayer' is mutable; this is an error in the Swift 6 language mode
15 |
16 | public class KSMEPlayer: NSObject {
17 | private var loopCount = 1
| `- warning: stored property 'loopCount' of 'Sendable'-conforming class 'KSMEPlayer' is mutable; this is an error in the Swift 6 language mode
18 | private var playerItem: MEPlayerItem
19 | public let audioOutput: AudioOutput
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:35:27: warning: call to main actor-isolated instance method 'changeBuffering(player:progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | runOnMainThread { [weak self] in
34 | guard let self else { return }
35 | delegate?.changeBuffering(player: self, progress: newValue)
| `- warning: call to main actor-isolated instance method 'changeBuffering(player:progress:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
36 | }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:112:10: note: calls to instance method 'changeBuffering(player:progress:)' from outside of its actor context are implicitly asynchronous
110 | func changeLoadState(player: some MediaPlayerProtocol)
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
| `- note: calls to instance method 'changeBuffering(player:progress:)' from outside of its actor context are implicitly asynchronous
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
| |- warning: static property 'audioPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'audioPlayerType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'audioPlayerType' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: warning: static property 'videoPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
| |- warning: static property 'videoPlayerType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoPlayerType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoPlayerType' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
87 | static var yadifMode = 1
88 | static var deInterlaceAddIdet = false
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:164:28: warning: call to main actor-isolated instance method 'changeLoadState(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
162 | self.videoOutput?.play()
163 | }
164 | self.delegate?.changeLoadState(player: self)
| `- warning: call to main actor-isolated instance method 'changeLoadState(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
165 | }
166 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:110:10: note: calls to instance method 'changeLoadState(player:)' from outside of its actor context are implicitly asynchronous
108 | public protocol MediaPlayerDelegate: AnyObject {
109 | func readyToPlay(player: some MediaPlayerProtocol)
110 | func changeLoadState(player: some MediaPlayerProtocol)
| `- note: calls to instance method 'changeLoadState(player:)' from outside of its actor context are implicitly asynchronous
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:213:23: warning: call to main actor-isolated instance method 'readyToPlay(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
211 | CMTimebaseSetTime(controlTimebase, time: CMTimeMake(value: Int64(options.startPlayTime), timescale: 1))
212 | }
213 | delegate?.readyToPlay(player: self)
| `- warning: call to main actor-isolated instance method 'readyToPlay(player:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
214 | }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:109:10: note: calls to instance method 'readyToPlay(player:)' from outside of its actor context are implicitly asynchronous
107 | @MainActor
108 | public protocol MediaPlayerDelegate: AnyObject {
109 | func readyToPlay(player: some MediaPlayerProtocol)
| `- note: calls to instance method 'readyToPlay(player:)' from outside of its actor context are implicitly asynchronous
110 | func changeLoadState(player: some MediaPlayerProtocol)
111 | // 缓冲加载进度,0-100
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:220:28: warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
218 | runOnMainThread { [weak self] in
219 | guard let self else { return }
220 | self.delegate?.finish(player: self, error: error)
| `- warning: call to main actor-isolated instance method 'finish(player:error:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
221 | }
222 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:114:10: note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
| `- note: calls to instance method 'finish(player:error:)' from outside of its actor context are implicitly asynchronous
115 | }
116 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:229:32: warning: call to main actor-isolated instance method 'playBack(player:loopCount:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
227 | if self.options.isLoopPlay {
228 | self.loopCount += 1
229 | self.delegate?.playBack(player: self, loopCount: self.loopCount)
| `- warning: call to main actor-isolated instance method 'playBack(player:loopCount:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
230 | self.audioOutput.play()
231 | self.videoOutput?.play()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:113:10: note: calls to instance method 'playBack(player:loopCount:)' from outside of its actor context are implicitly asynchronous
111 | // 缓冲加载进度,0-100
112 | func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
113 | func playBack(player: some MediaPlayerProtocol, loopCount: Int)
| `- note: calls to instance method 'playBack(player:loopCount:)' from outside of its actor context are implicitly asynchronous
114 | func finish(player: some MediaPlayerProtocol, error: Error?)
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 | static var enableSensor = true
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
| |- warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isClearVideoWhereReplace' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isClearVideoWhereReplace' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
514 | self.play()
515 | }
516 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
517 | }
518 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
530 | self.pause()
531 | }
532 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
533 | }
534 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
555 | }
556 | guard self.loadState != .playable, let countDown = bufferingCommand.completionDueDate?.timeIntervalSinceNow else {
557 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
558 | return
559 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
561 | self.bufferingCountDownTimer = nil
562 | self.bufferingCountDownTimer = Timer(timeInterval: countDown, repeats: false) { _ in
563 | completionHandler()
| |- warning: capture of 'completionHandler' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
564 | }
565 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: warning: static property 'onceInitial' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
92 | }
93 |
94 | private static var onceInitial: Void = {
| |- warning: static property 'onceInitial' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'onceInitial' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'onceInitial' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
95 | var result = avformat_network_init()
96 | av_log_set_callback { ptr, level, format, args in
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:107:32: warning: reference to var 'ffurl_context_class' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 | if let ptr {
106 | let avclass = ptr.assumingMemoryBound(to: UnsafePointer<AVClass>.self).pointee
107 | if avclass == &ffurl_context_class {
| `- warning: reference to var 'ffurl_context_class' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
108 | let context = ptr.assumingMemoryBound(to: URLContext.self).pointee
109 | if let opaque = context.interrupt_callback.opaque {
FFmpegKit.ffurl_context_class:1:12: note: var declared here
1 | public var ffurl_context_class: AVClass
| `- note: var declared here
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:16:17: warning: stored property 'options' of 'Sendable'-conforming class 'MEPlayerItem' has non-sendable type 'KSOptions'; this is an error in the Swift 6 language mode
14 | public final class MEPlayerItem: Sendable {
15 | private let url: URL
16 | private let options: KSOptions
| `- warning: stored property 'options' of 'Sendable'-conforming class 'MEPlayerItem' has non-sendable type 'KSOptions'; this is an error in the Swift 6 language mode
17 | private let operationQueue = OperationQueue()
18 | private let condition = NSCondition()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
15 | import UIKit
16 | #endif
17 | open class KSOptions {
| `- note: class 'KSOptions' does not conform to the 'Sendable' protocol
18 | /// 最低缓存视频时间
19 | @Published
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable; this is an error in the Swift 6 language mode
17 | private let operationQueue = OperationQueue()
18 | private let condition = NSCondition()
19 | private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
| `- warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable; this is an error in the Swift 6 language mode
20 | private var outputFormatCtx: UnsafeMutablePointer<AVFormatContext>?
21 | private var outputPacket: UnsafeMutablePointer<AVPacket>?
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: warning: static property 'stackSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
81 | /// 开启VR模式的陀飞轮
82 | static var enableSensor = true
83 | static var stackSize = 65536
| |- warning: static property 'stackSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'stackSize' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'stackSize' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 | static var isClearVideoWhereReplace = true
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:452:21: warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
450 | let flags = seekByBytes ? AVSEEK_FLAG_BYTE : 0
451 | let seekStartTime = CACurrentMediaTime()
452 | let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
| `- warning: initialization of immutable value 'result' was never used; consider replacing with assignment to '_' or removing it
453 | audioClock.time = timestamp
454 | videoClock.time = timestamp
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: warning: reference to captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
516 | DispatchQueue.main.async { [weak self] in
517 | guard let self else { return }
518 | self.seekingCompletionHandler?(result >= 0)
| `- warning: reference to captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
519 | self.seekingCompletionHandler = nil
520 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: warning: static property 'audioRecognizes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
288 | public static var textItalic = false
289 | public static var textPosition = TextPosition()
290 | public static var audioRecognizes = [any AudioRecognize]()
| |- warning: static property 'audioRecognizes' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'audioRecognizes' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'audioRecognizes' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 | private var subtitleDataSouces: [SubtitleDataSouce] = KSOptions.subtitleDataSouces
292 | @Published
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:223:23: warning: capture of 'self' with non-sendable type 'AsyncPlayerItemTrack<Frame>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | }
178 |
179 | final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
| `- note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
180 | private let operationQueue = OperationQueue()
181 | private var decodeOperation: BlockOperation!
:
221 | guard operationQueue.operationCount == 0 else { return }
222 | decodeOperation = BlockOperation { [weak self] in
223 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'AsyncPlayerItemTrack<Frame>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
224 | Thread.current.name = self.operationQueue.name
225 | Thread.current.stackSize = KSOptions.stackSize
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: warning: static property 'preferredFrame' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
477 | static var isPipPopViewController = false
478 | static var canStartPictureInPictureAutomaticallyFromInline = true
479 | static var preferredFrame = true
| |- warning: static property 'preferredFrame' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'preferredFrame' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'preferredFrame' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
480 | static var useSystemHTTPProxy = true
481 | /// 日志级别
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:72:21: warning: main actor-isolated property 'displayLayerDelegate' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
17 |
18 | public protocol VideoOutput: FrameOutput {
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
| `- note: 'displayLayerDelegate' declared here
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
:
26 | }
27 |
28 | public final class MetalPlayView: UIView, VideoOutput {
| `- note: add '@preconcurrency' to the 'VideoOutput' conformance to defer isolation checking to run time
29 | public var displayLayer: AVSampleBufferDisplayLayer {
30 | displayView.displayLayer
:
70 |
71 | private let metalView = MetalView()
72 | public weak var displayLayerDelegate: DisplayLayerDelegate?
| `- warning: main actor-isolated property 'displayLayerDelegate' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
73 | public init(options: KSOptions) {
74 | self.options = options
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:62:16: warning: main actor-isolated property 'options' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
18 | public protocol VideoOutput: FrameOutput {
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
20 | var options: KSOptions { get set }
| `- note: 'options' declared here
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
:
60 | private var displayLink: CADisplayLink!
61 | // private let timer = DispatchSource.makeTimerSource(queue: DispatchQueue.main)
62 | public var options: KSOptions
| `- warning: main actor-isolated property 'options' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
63 | public weak var renderSource: OutputRenderSourceDelegate?
64 | // AVSampleBufferAudioRenderer AVSampleBufferRenderSynchronizer AVSampleBufferDisplayLayer
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:29:16: warning: main actor-isolated property 'displayLayer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
19 | var displayLayerDelegate: DisplayLayerDelegate? { get set }
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
| `- note: 'displayLayer' declared here
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
:
27 |
28 | public final class MetalPlayView: UIView, VideoOutput {
29 | public var displayLayer: AVSampleBufferDisplayLayer {
| `- warning: main actor-isolated property 'displayLayer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
30 | displayView.displayLayer
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:56:29: warning: main actor-isolated property 'pixelBuffer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
20 | var options: KSOptions { get set }
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
| `- note: 'pixelBuffer' declared here
23 | init(options: KSOptions)
24 | func invalidate()
:
54 | }
55 |
56 | public private(set) var pixelBuffer: PixelBufferProtocol?
| `- warning: main actor-isolated property 'pixelBuffer' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
57 | /// 用displayLink会导致锁屏无法draw,
58 | /// 用DispatchSourceTimer的话,在播放4k视频的时候repeat的时间会变长,
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: warning: main actor-isolated initializer 'init(options:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
21 | var displayLayer: AVSampleBufferDisplayLayer { get }
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
| `- note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
24 | func invalidate()
25 | func readNextFrame()
:
71 | private let metalView = MetalView()
72 | public weak var displayLayerDelegate: DisplayLayerDelegate?
73 | public init(options: KSOptions) {
| |- warning: main actor-isolated initializer 'init(options:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
74 | self.options = options
75 | super.init(frame: .zero)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: warning: main actor-isolated instance method 'invalidate()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
22 | var pixelBuffer: PixelBufferProtocol? { get }
23 | init(options: KSOptions)
24 | func invalidate()
| `- note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
25 | func readNextFrame()
26 | }
:
151 | }
152 |
153 | public func invalidate() {
| |- warning: main actor-isolated instance method 'invalidate()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
154 | displayLink.invalidate()
155 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: warning: main actor-isolated instance method 'readNextFrame()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
23 | init(options: KSOptions)
24 | func invalidate()
25 | func readNextFrame()
| `- note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
26 | }
27 |
:
155 | }
156 |
157 | public func readNextFrame() {
| |- warning: main actor-isolated instance method 'readNextFrame()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
158 | draw(force: true)
159 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:63:21: warning: main actor-isolated property 'renderSource' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
61 | // private let timer = DispatchSource.makeTimerSource(queue: DispatchQueue.main)
62 | public var options: KSOptions
63 | public weak var renderSource: OutputRenderSourceDelegate?
| `- warning: main actor-isolated property 'renderSource' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
64 | // AVSampleBufferAudioRenderer AVSampleBufferRenderSynchronizer AVSampleBufferDisplayLayer
65 | var displayView = AVSampleBufferDisplayView() {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
65 |
66 | public protocol FrameOutput: AnyObject {
67 | var renderSource: OutputRenderSourceDelegate? { get set }
| `- note: 'renderSource' declared here
68 | func pause()
69 | func flush()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: warning: main actor-isolated instance method 'pause()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
88 | }
89 |
90 | public func pause() {
| |- warning: main actor-isolated instance method 'pause()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
91 | displayLink.isPaused = true
92 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:68:10: note: mark the protocol requirement 'pause()' 'async' to allow actor-isolated conformances
66 | public protocol FrameOutput: AnyObject {
67 | var renderSource: OutputRenderSourceDelegate? { get set }
68 | func pause()
| `- note: mark the protocol requirement 'pause()' 'async' to allow actor-isolated conformances
69 | func flush()
70 | func play()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: warning: main actor-isolated instance method 'flush()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
142 | #endif
143 |
144 | public func flush() {
| |- warning: main actor-isolated instance method 'flush()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
145 | pixelBuffer = nil
146 | if displayView.isHidden {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:69:10: note: mark the protocol requirement 'flush()' 'async' to allow actor-isolated conformances
67 | var renderSource: OutputRenderSourceDelegate? { get set }
68 | func pause()
69 | func flush()
| `- note: mark the protocol requirement 'flush()' 'async' to allow actor-isolated conformances
70 | func play()
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: warning: main actor-isolated instance method 'play()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
84 | }
85 |
86 | public func play() {
| |- warning: main actor-isolated instance method 'play()' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
87 | displayLink.isPaused = false
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:70:10: note: mark the protocol requirement 'play()' 'async' to allow actor-isolated conformances
68 | func pause()
69 | func flush()
70 | func play()
| `- note: mark the protocol requirement 'play()' 'async' to allow actor-isolated conformances
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because non-'Sendable' type 'any MTLDevice' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | class MetalRender {
15 | static let device = MTLCreateSystemDefaultDevice()!
| `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type 'any MTLDevice' may have shared mutable state; this is an error in the Swift 6 language mode
16 | static let library: MTLLibrary = {
17 | var library: MTLLibrary!
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.11, *)
2 | public protocol MTLDevice : NSObjectProtocol {
| `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
3 | var name: String { get }
4 | @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
8 | import CoreVideo
9 | import Foundation
10 | import Metal
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
11 | import QuartzCore
12 | import simd
13 |
14 | class MetalRender {
15 | static let device = MTLCreateSystemDefaultDevice()!
| |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | static let library: MTLLibrary = {
17 | var library: MTLLibrary!
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:415:23: warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
366 | import CoreVideo
367 |
368 | class CADisplayLink {
| `- note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
369 | private let displayLink: CVDisplayLink
370 | private var runloop: RunLoop?
:
413 | self.displayLink = displayLink!
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
| `- warning: capture of 'self' with non-sendable type 'CADisplayLink?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
417 | return kCVReturnSuccess
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:416:53: warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
414 | CVDisplayLinkSetOutputHandler(self.displayLink) { [weak self] _, _, _, _, _ in
415 | guard let self else { return kCVReturnSuccess }
416 | self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
| `- warning: capture of 'target' with non-sendable type 'NSObject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
417 | return kCVReturnSuccess
418 | }
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.0, *)
2 | open class NSObject : NSObjectProtocol {
| `- note: class 'NSObject' does not conform to the 'Sendable' protocol
3 | open class func load()
4 | open class func initialize()
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
9 | import Combine
10 | import CoreMedia
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
425 | self.displayLink = displayLink!
426 | CVDisplayLinkSetOutputHandler(self.displayLink) { _, _, _, _, _ in
427 | block()
| |- warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
428 | return kCVReturnSuccess
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
80 | public extension KSOptions {
81 | /// 开启VR模式的陀飞轮
82 | static var enableSensor = true
| |- warning: static property 'enableSensor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableSensor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableSensor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | static var stackSize = 65536
84 | static var isClearVideoWhereReplace = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
| |- warning: static property 'yadifMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yadifMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'yadifMode' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | static var deInterlaceAddIdet = false
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
86 | static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
87 | static var yadifMode = 1
88 | static var deInterlaceAddIdet = false
| |- warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'deInterlaceAddIdet' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'deInterlaceAddIdet' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 | static func colorSpace(ycbcrMatrix: CFString?, transferFunction: CFString?) -> CGColorSpace? {
90 | switch ycbcrMatrix {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:179:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
176 | }
177 |
178 | public struct Timebase {
| `- note: consider making struct 'Timebase' conform to the 'Sendable' protocol
179 | static let defaultValue = Timebase(num: 1, den: 1)
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Timebase' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultValue' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | public let num: Int32
181 | public let den: Int32
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
514 | self.play()
515 | }
516 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
517 | }
518 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
530 | self.pause()
531 | }
532 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
533 | }
534 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
555 | }
556 | guard self.loadState != .playable, let countDown = bufferingCommand.completionDueDate?.timeIntervalSinceNow else {
557 | completionHandler()
| |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
558 | return
559 | }
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
503 | options.seekFlags &= ~AVSEEK_FLAG_BACKWARD
504 | seekFlags &= ~AVSEEK_FLAG_BACKWARD
505 | result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
| `- warning: 'result' mutated after capture by sendable closure
506 | }
507 | KSLog("seek to \(seekToTime) spend Time: \(CACurrentMediaTime() - seekStartTime)")
[57/61] Compiling KSPlayer PlayerFullScreenViewController.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
11 | #endif
12 | public protocol SeekViewProtocol {
13 | func set(text: String, isAdd: Bool)
| `- note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
14 | }
15 |
:
49 | }
50 |
51 | extension SeekView: SeekViewProtocol {
| `- note: add '@preconcurrency' to the 'SeekViewProtocol' conformance to defer isolation checking to run time
52 | public func set(text: String, isAdd: Bool) {
| |- warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
53 | seekToLabel.text = text
54 | if !isAdd {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
341 | public var rawValue: UInt
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
| |- warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'normal' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'normal' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
883 | public extension KSOptions {
884 | /// 顶部返回、标题、AirPlay按钮 显示选项,默认.Always,可选.HorizantalOnly、.None
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
| |- warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'topBarShowInCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'topBarShowInCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
| |- warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'animateDelayTimeInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'animateDelayTimeInterval' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:889:16: warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
887 | static var animateDelayTimeInterval = TimeInterval(5)
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
| |- warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableBrightnessGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableBrightnessGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:891:16: warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
889 | static var enableBrightnessGestures = true
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
| |- warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableVolumeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableVolumeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
891 | static var enableVolumeGestures = true
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
| |- warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enablePlaytimeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enablePlaytimeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:896:16: warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
896 | static var canBackgroundPlay = false
| |- warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'canBackgroundPlay' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'canBackgroundPlay' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
897 | }
898 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
| |- warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'selected' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'selected' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 | public static var focused = State(rawValue: 1 << 4)
348 | public static var application = State(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
278 | }
279 |
280 | public static var textColor: Color = .white
| |- warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | public static var textBackgroundColor: Color = .clear
282 | public static var textFont: UIFont {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
279 |
280 | public static var textColor: Color = .white
281 | public static var textBackgroundColor: Color = .clear
| |- warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textBackgroundColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textBackgroundColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
282 | public static var textFont: UIFont {
283 | textBold ? .boldSystemFont(ofSize: textFontSize) : .systemFont(ofSize: textFontSize)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
344 | public static var highlighted = State(rawValue: 1 << 1)
| |- warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highlighted' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highlighted' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
[58/61] Compiling KSPlayer PlayerTransitionAnimator.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
11 | #endif
12 | public protocol SeekViewProtocol {
13 | func set(text: String, isAdd: Bool)
| `- note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
14 | }
15 |
:
49 | }
50 |
51 | extension SeekView: SeekViewProtocol {
| `- note: add '@preconcurrency' to the 'SeekViewProtocol' conformance to defer isolation checking to run time
52 | public func set(text: String, isAdd: Bool) {
| |- warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
53 | seekToLabel.text = text
54 | if !isAdd {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
341 | public var rawValue: UInt
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
| |- warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'normal' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'normal' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
883 | public extension KSOptions {
884 | /// 顶部返回、标题、AirPlay按钮 显示选项,默认.Always,可选.HorizantalOnly、.None
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
| |- warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'topBarShowInCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'topBarShowInCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
| |- warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'animateDelayTimeInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'animateDelayTimeInterval' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:889:16: warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
887 | static var animateDelayTimeInterval = TimeInterval(5)
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
| |- warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableBrightnessGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableBrightnessGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:891:16: warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
889 | static var enableBrightnessGestures = true
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
| |- warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableVolumeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableVolumeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
891 | static var enableVolumeGestures = true
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
| |- warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enablePlaytimeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enablePlaytimeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:896:16: warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
896 | static var canBackgroundPlay = false
| |- warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'canBackgroundPlay' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'canBackgroundPlay' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
897 | }
898 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
| |- warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'selected' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'selected' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 | public static var focused = State(rawValue: 1 << 4)
348 | public static var application = State(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
278 | }
279 |
280 | public static var textColor: Color = .white
| |- warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | public static var textBackgroundColor: Color = .clear
282 | public static var textFont: UIFont {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
279 |
280 | public static var textColor: Color = .white
281 | public static var textBackgroundColor: Color = .clear
| |- warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textBackgroundColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textBackgroundColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
282 | public static var textFont: UIFont {
283 | textBold ? .boldSystemFont(ofSize: textFontSize) : .systemFont(ofSize: textFontSize)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
344 | public static var highlighted = State(rawValue: 1 << 1)
| |- warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highlighted' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highlighted' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
[59/61] Compiling KSPlayer SeekView.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
11 | #endif
12 | public protocol SeekViewProtocol {
13 | func set(text: String, isAdd: Bool)
| `- note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
14 | }
15 |
:
49 | }
50 |
51 | extension SeekView: SeekViewProtocol {
| `- note: add '@preconcurrency' to the 'SeekViewProtocol' conformance to defer isolation checking to run time
52 | public func set(text: String, isAdd: Bool) {
| |- warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
53 | seekToLabel.text = text
54 | if !isAdd {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
341 | public var rawValue: UInt
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
| |- warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'normal' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'normal' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
883 | public extension KSOptions {
884 | /// 顶部返回、标题、AirPlay按钮 显示选项,默认.Always,可选.HorizantalOnly、.None
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
| |- warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'topBarShowInCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'topBarShowInCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
| |- warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'animateDelayTimeInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'animateDelayTimeInterval' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:889:16: warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
887 | static var animateDelayTimeInterval = TimeInterval(5)
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
| |- warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableBrightnessGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableBrightnessGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:891:16: warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
889 | static var enableBrightnessGestures = true
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
| |- warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableVolumeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableVolumeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
891 | static var enableVolumeGestures = true
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
| |- warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enablePlaytimeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enablePlaytimeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:896:16: warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
896 | static var canBackgroundPlay = false
| |- warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'canBackgroundPlay' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'canBackgroundPlay' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
897 | }
898 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
| |- warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'selected' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'selected' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 | public static var focused = State(rawValue: 1 << 4)
348 | public static var application = State(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
278 | }
279 |
280 | public static var textColor: Color = .white
| |- warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | public static var textBackgroundColor: Color = .clear
282 | public static var textFont: UIFont {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
279 |
280 | public static var textColor: Color = .white
281 | public static var textBackgroundColor: Color = .clear
| |- warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textBackgroundColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textBackgroundColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
282 | public static var textFont: UIFont {
283 | textBold ? .boldSystemFont(ofSize: textFontSize) : .systemFont(ofSize: textFontSize)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
344 | public static var highlighted = State(rawValue: 1 << 1)
| |- warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highlighted' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highlighted' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
[60/61] Compiling KSPlayer VideoPlayerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
11 | #endif
12 | public protocol SeekViewProtocol {
13 | func set(text: String, isAdd: Bool)
| `- note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
14 | }
15 |
:
49 | }
50 |
51 | extension SeekView: SeekViewProtocol {
| `- note: add '@preconcurrency' to the 'SeekViewProtocol' conformance to defer isolation checking to run time
52 | public func set(text: String, isAdd: Bool) {
| |- warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
53 | seekToLabel.text = text
54 | if !isAdd {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
341 | public var rawValue: UInt
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
| |- warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'normal' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'normal' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
883 | public extension KSOptions {
884 | /// 顶部返回、标题、AirPlay按钮 显示选项,默认.Always,可选.HorizantalOnly、.None
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
| |- warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'topBarShowInCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'topBarShowInCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
| |- warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'animateDelayTimeInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'animateDelayTimeInterval' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:889:16: warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
887 | static var animateDelayTimeInterval = TimeInterval(5)
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
| |- warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableBrightnessGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableBrightnessGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:891:16: warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
889 | static var enableBrightnessGestures = true
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
| |- warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableVolumeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableVolumeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
891 | static var enableVolumeGestures = true
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
| |- warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enablePlaytimeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enablePlaytimeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:896:16: warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
896 | static var canBackgroundPlay = false
| |- warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'canBackgroundPlay' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'canBackgroundPlay' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
897 | }
898 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
| |- warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'selected' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'selected' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 | public static var focused = State(rawValue: 1 << 4)
348 | public static var application = State(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
278 | }
279 |
280 | public static var textColor: Color = .white
| |- warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | public static var textBackgroundColor: Color = .clear
282 | public static var textFont: UIFont {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
279 |
280 | public static var textColor: Color = .white
281 | public static var textBackgroundColor: Color = .clear
| |- warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textBackgroundColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textBackgroundColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
282 | public static var textFont: UIFont {
283 | textBold ? .boldSystemFont(ofSize: textFontSize) : .systemFont(ofSize: textFontSize)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
344 | public static var highlighted = State(rawValue: 1 << 1)
| |- warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highlighted' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highlighted' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
[61/61] Compiling KSPlayer resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
11 | #endif
12 | public protocol SeekViewProtocol {
13 | func set(text: String, isAdd: Bool)
| `- note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
14 | }
15 |
:
49 | }
50 |
51 | extension SeekView: SeekViewProtocol {
| `- note: add '@preconcurrency' to the 'SeekViewProtocol' conformance to defer isolation checking to run time
52 | public func set(text: String, isAdd: Bool) {
| |- warning: main actor-isolated instance method 'set(text:isAdd:)' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
53 | seekToLabel.text = text
54 | if !isAdd {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
341 | public var rawValue: UInt
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
| |- warning: static property 'normal' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'normal' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'normal' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
883 | public extension KSOptions {
884 | /// 顶部返回、标题、AirPlay按钮 显示选项,默认.Always,可选.HorizantalOnly、.None
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
| |- warning: static property 'topBarShowInCase' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'topBarShowInCase' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'topBarShowInCase' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
885 | static var topBarShowInCase = KSPlayerTopBarShowCase.always
886 | /// 自动隐藏操作栏的时间间隔 默认5秒
887 | static var animateDelayTimeInterval = TimeInterval(5)
| |- warning: static property 'animateDelayTimeInterval' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'animateDelayTimeInterval' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'animateDelayTimeInterval' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:889:16: warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
887 | static var animateDelayTimeInterval = TimeInterval(5)
888 | /// 开启亮度手势 默认true
889 | static var enableBrightnessGestures = true
| |- warning: static property 'enableBrightnessGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableBrightnessGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableBrightnessGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:891:16: warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
889 | static var enableBrightnessGestures = true
890 | /// 开启音量手势 默认true
891 | static var enableVolumeGestures = true
| |- warning: static property 'enableVolumeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enableVolumeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enableVolumeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
891 | static var enableVolumeGestures = true
892 | /// 开启进度滑动手势 默认true
893 | static var enablePlaytimeGestures = true
| |- warning: static property 'enablePlaytimeGestures' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enablePlaytimeGestures' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enablePlaytimeGestures' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:896:16: warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
894 | /// 播放内核选择策略 先使用firstPlayer,失败了自动切换到secondPlayer,播放内核有KSAVPlayer、KSMEPlayer两个选项
895 | /// 是否能后台播放视频
896 | static var canBackgroundPlay = false
| |- warning: static property 'canBackgroundPlay' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'canBackgroundPlay' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'canBackgroundPlay' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
897 | }
898 |
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
344 | public static var highlighted = State(rawValue: 1 << 1)
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
| |- warning: static property 'selected' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'selected' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'selected' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
347 | public static var focused = State(rawValue: 1 << 4)
348 | public static var application = State(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
278 | }
279 |
280 | public static var textColor: Color = .white
| |- warning: static property 'textColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
281 | public static var textBackgroundColor: Color = .clear
282 | public static var textFont: UIFont {
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
279 |
280 | public static var textColor: Color = .white
281 | public static var textBackgroundColor: Color = .clear
| |- warning: static property 'textBackgroundColor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'textBackgroundColor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'textBackgroundColor' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
282 | public static var textFont: UIFont {
283 | textBold ? .boldSystemFont(ofSize: textFontSize) : .systemFont(ofSize: textFontSize)
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
342 | public init(rawValue: UInt) { self.rawValue = rawValue }
343 | public static var normal = State(rawValue: 1 << 0)
344 | public static var highlighted = State(rawValue: 1 << 1)
| |- warning: static property 'highlighted' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highlighted' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highlighted' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
345 | public static var disabled = State(rawValue: 1 << 2)
346 | public static var selected = State(rawValue: 1 << 3)
Build of target: 'KSPlayer' complete! (3.42s)
error: unspecified("terminated(1): /Applications/Xcode-16.1.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-symbolgraph-extract -sdk /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk -F /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -I /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -L /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -Xcc -fmodule-map-file=/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/FFmpegKit.build/module.modulemap -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswscale.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswscale.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswresample.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswresample.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavutil.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavutil.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavformat.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavformat.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavfilter.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavfilter.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavdevice.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavdevice.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavcodec.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavcodec.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsmbclient.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsmbclient.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gnutls.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gnutls.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/hogweed.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/hogweed.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/nettle.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/nettle.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gmp.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gmp.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libbluray.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libbluray.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfontconfig.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfontconfig.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libass.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libass.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libharfbuzz.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libharfbuzz.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfribidi.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfribidi.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfreetype.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfreetype.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsrt.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsrt.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libzvbi.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libzvbi.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libplacebo.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libplacebo.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libdav1d.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libdav1d.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/lcms2.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/lcms2.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libshaderc_combined.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libshaderc_combined.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/MoltenVK.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/MoltenVK.xcframework/macos-arm64_x86_64 -Xcc -fmodule-map-file=/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/DisplayCriteria.build/module.modulemap -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/Sources/DisplayCriteria/include -I /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Modules -module-name KSPlayer -target arm64-apple-macosx10.15 -module-cache-path /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/ModuleCache -minimum-access-level public -skip-inherited-docs -emit-extension-block-symbols -output-dir /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/extracted-symbols/spi-builder-workspace/KSPlayer output:\n <module-includes>:4:9: note: in file included from <module-includes>:4:\n #import \"/Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include/avformat_shim.h\"\n ^\n /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include/avformat_shim.h:4:9: error: \'Libavformat/avformat.h\' file not found\n #import <Libavformat/avformat.h>\n ^\n <unknown>:0: error: could not build Objective-C module \'FFmpegKit\'\n Error: Failed to load the module \'KSPlayer\'. Are you missing build dependencies or include/framework directories?\n See the previous error messages for details. Aborting.\n ")
Extracting symbol information for 'KSPlayer'...
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: you may be able to install sdl2 using your system-packager:
brew install sdl2
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.21s)
warning: you may be able to install sdl2 using your system-packager:
brew install sdl2
Building for debugging...
[0/2] Compiling FFmpegKit FFmpegKit.c
[1/2] Write swift-version--7754E27361AE5C74.txt
Build of target: 'KSPlayer' complete! (0.51s)
error: unspecified("terminated(1): /Applications/Xcode-16.1.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-symbolgraph-extract -sdk /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk -F /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -I /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -L /Applications/Xcode-16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -Xcc -fmodule-map-file=/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/FFmpegKit.build/module.modulemap -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswscale.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswscale.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswresample.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libswresample.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavutil.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavutil.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavformat.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavformat.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavfilter.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavfilter.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavdevice.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavdevice.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavcodec.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/Libavcodec.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsmbclient.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsmbclient.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gnutls.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gnutls.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/hogweed.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/hogweed.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/nettle.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/nettle.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gmp.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/gmp.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libbluray.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libbluray.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfontconfig.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfontconfig.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libass.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libass.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libharfbuzz.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libharfbuzz.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfribidi.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfribidi.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfreetype.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libfreetype.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsrt.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libsrt.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libzvbi.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libzvbi.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libplacebo.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libplacebo.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libdav1d.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libdav1d.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/lcms2.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/lcms2.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libshaderc_combined.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/libshaderc_combined.xcframework/macos-arm64_x86_64 -I /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/MoltenVK.xcframework/macos-arm64_x86_64 -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/MoltenVK.xcframework/macos-arm64_x86_64 -Xcc -fmodule-map-file=/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/DisplayCriteria.build/module.modulemap -Xcc -I -Xcc /Users/admin/builder/spi-builder-workspace/Sources/DisplayCriteria/include -I /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Modules -module-name KSPlayer -target arm64-apple-macosx10.15 -module-cache-path /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/ModuleCache -minimum-access-level public -skip-inherited-docs -emit-extension-block-symbols -output-dir /Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/extracted-symbols/spi-builder-workspace/KSPlayer output:\n <module-includes>:4:9: note: in file included from <module-includes>:4:\n #import \"/Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include/avformat_shim.h\"\n ^\n /Users/admin/builder/spi-builder-workspace/.build/checkouts/FFmpegKit/Sources/FFmpegKit/include/avformat_shim.h:4:9: error: \'Libavformat/avformat.h\' file not found\n #import <Libavformat/avformat.h>\n ^\n <unknown>:0: error: could not build Objective-C module \'FFmpegKit\'\n Error: Failed to load the module \'KSPlayer\'. Are you missing build dependencies or include/framework directories?\n See the previous error messages for details. Aborting.\n ")
Error while generating docs: retryLimitExceeded(lastError: Optional(Shell command failed:
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift package --allow-writing-to-directory .docs/kingslay/ksplayer/main generate-documentation --emit-digest --disable-indexing --output-path .docs/kingslay/ksplayer/main --hosting-base-path kingslay/ksplayer/main --source-service github --source-service-base-url https://github.com/kingslay/KSPlayer/blob/main --checkout-path $PWD --target KSPlayer))
✅ Doc result (failed) reported
Done.