Build Information
Successful build of KSPlayer, reference main (4e3bf3
), with Swift 5.9 for macOS (SPM) on 22 Oct 2024 19:48:55 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.2.0.app xcrun swift build --arch arm64
Build Log
^
Accelerate.kvImage_YpCbCrToARGBMatrix_ITU_R_601_4:2:12: note: var declared here
public var kvImage_YpCbCrToARGBMatrix_ITU_R_601_4: UnsafePointer<vImage_YpCbCrToARGBMatrix>!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:38:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_709_2' is not concurrency-safe because it involves shared mutable state
private lazy var colorConversion709VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_709_2.pointee.videoRange.buffer
^
Accelerate.kvImage_YpCbCrToARGBMatrix_ITU_R_709_2:2:12: note: var declared here
public var kvImage_YpCbCrToARGBMatrix_ITU_R_709_2: UnsafePointer<vImage_YpCbCrToARGBMatrix>!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:40:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_709_2' is not concurrency-safe because it involves shared mutable state
private lazy var colorConversion709FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_709_2.pointee.buffer
^
Accelerate.kvImage_YpCbCrToARGBMatrix_ITU_R_709_2:2:12: note: var declared here
public var kvImage_YpCbCrToARGBMatrix_ITU_R_709_2: UnsafePointer<vImage_YpCbCrToARGBMatrix>!
^
[79/89] Compiling KSPlayer Filter.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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[80/89] Compiling KSPlayer KSMEPlayer.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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[81/89] Compiling KSPlayer MEPlayerItem.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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[82/89] Compiling KSPlayer MEPlayerItemTrack.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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[83/89] 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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[84/89] 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 Swift 6
oldValue?.removeFromSuperview()
^
AppKit.NSView:44:15: note: calls to instance method 'removeFromSuperview()' from outside of its actor context are implicitly asynchronous
open func removeFromSuperview()
^
/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 Swift 6
delegate?.finish(player: self, error: nil)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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
public var contentMode: UIViewContentMode {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:83:9: note: 'contentMode' declared here
var contentMode: UIViewContentMode { get set }
^
/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
public var naturalSize: CGSize {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/MediaPlayerProtocol.swift:19:9: note: 'naturalSize' declared here
var naturalSize: CGSize { get }
^
/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 Swift 6
delegate?.changeBuffering(player: self, progress: newValue)
^
/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
func changeBuffering(player: some MediaPlayerProtocol, progress: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:119:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state
audioOutput = KSOptions.audioPlayerType.init()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: static property declared here
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:124:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/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 Swift 6
self.delegate?.changeLoadState(player: self)
^
/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
func changeLoadState(player: some MediaPlayerProtocol)
^
/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 Swift 6
delegate?.readyToPlay(player: self)
^
/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
func readyToPlay(player: some MediaPlayerProtocol)
^
/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 Swift 6
self.delegate?.finish(player: self, error: error)
^
/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
func finish(player: some MediaPlayerProtocol, error: Error?)
^
/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 Swift 6
self.delegate?.playBack(player: self, loopCount: self.loopCount)
^
/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
func playBack(player: some MediaPlayerProtocol, loopCount: Int)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:325:37: warning: reference to static property 'videoPlayerType' is not concurrency-safe because it involves shared mutable state
videoOutput = KSOptions.videoPlayerType.init(options: options)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: static property declared here
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:423:22: warning: reference to static property 'isClearVideoWhereReplace' is not concurrency-safe because it involves shared mutable state
if KSOptions.isClearVideoWhereReplace {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: static property declared here
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:510:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:516:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:526:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:532:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:553:23: warning: capture of 'self' with non-sendable type 'KSMEPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:16:14: note: class 'KSMEPlayer' does not conform to the 'Sendable' protocol
public class KSMEPlayer: NSObject {
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:557:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
completionHandler()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/KSMEPlayer.swift:563:17: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler()
^
/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
if avclass == &ffurl_context_class {
^
FFmpegKit.ffurl_context_class:1:12: note: var declared here
public var ffurl_context_class: AVClass
^
/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'
private let options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:17:12: note: class 'KSOptions' does not conform to the 'Sendable' protocol
open class KSOptions {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:19:17: warning: stored property 'formatCtx' of 'Sendable'-conforming class 'MEPlayerItem' is mutable
private var formatCtx: UnsafeMutablePointer<AVFormatContext>?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:142:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state
_ = MEPlayerItem.onceInitial
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: static property declared here
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:436:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/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
let result = avformat_seek_file(formatCtx, -1, Int64.min, timestamp.value, Int64.max, flags)
~~~~^~~~~~
_
/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 Swift 6
self.seekingCompletionHandler?(result >= 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:629:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:863:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state
SubtitleModel.audioRecognizes.first {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: static property declared here
public static var audioRecognizes = [any AudioRecognize]()
^
/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
guard let self else { return }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:179:13: note: generic class 'AsyncPlayerItemTrack' does not conform to the 'Sendable' protocol
final class AsyncPlayerItemTrack<Frame: MEFrame>: SyncPlayerItemTrack<Frame> {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItemTrack.swift:225:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state
Thread.current.stackSize = KSOptions.stackSize
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: static property declared here
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:43:30: warning: reference to static property 'preferredFrame' is not concurrency-safe because it involves shared mutable state
if KSOptions.preferredFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: static property declared here
static var preferredFrame = true
^
/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
public weak var displayLayerDelegate: DisplayLayerDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:19:9: note: 'displayLayerDelegate' declared here
var displayLayerDelegate: DisplayLayerDelegate? { get set }
^
/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
public var options: KSOptions
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:20:9: note: 'options' declared here
var options: KSOptions { get set }
^
/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
public var displayLayer: AVSampleBufferDisplayLayer {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:21:9: note: 'displayLayer' declared here
var displayLayer: AVSampleBufferDisplayLayer { get }
^
/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
public private(set) var pixelBuffer: PixelBufferProtocol?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:22:9: note: 'pixelBuffer' declared here
var pixelBuffer: PixelBufferProtocol? { get }
^
/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
public init(options: KSOptions) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:73:12: note: add 'nonisolated' to 'init(options:)' to make this initializer not isolated to the actor
public init(options: KSOptions) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:23:5: note: mark the protocol requirement 'init(options:)' 'async' to allow actor-isolated conformances
init(options: KSOptions)
^
async
/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
public func invalidate() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:153:17: note: add 'nonisolated' to 'invalidate()' to make this instance method not isolated to the actor
public func invalidate() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:24:10: note: mark the protocol requirement 'invalidate()' 'async' to allow actor-isolated conformances
func invalidate()
^
async
/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
public func readNextFrame() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:157:17: note: add 'nonisolated' to 'readNextFrame()' to make this instance method not isolated to the actor
public func readNextFrame() {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:25:10: note: mark the protocol requirement 'readNextFrame()' 'async' to allow actor-isolated conformances
func readNextFrame()
^
async
/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
public weak var renderSource: OutputRenderSourceDelegate?
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:67:9: note: 'renderSource' declared here
var renderSource: OutputRenderSourceDelegate? { get set }
^
/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
public func pause() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:90:17: note: add 'nonisolated' to 'pause()' to make this instance method not isolated to the actor
public func pause() {
^
nonisolated
/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
func pause()
^
async
/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
public func flush() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:144:17: note: add 'nonisolated' to 'flush()' to make this instance method not isolated to the actor
public func flush() {
^
nonisolated
/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
func flush()
^
async
/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
public func play() {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:86:17: note: add 'nonisolated' to 'play()' to make this instance method not isolated to the actor
public func play() {
^
nonisolated
/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
func play()
^
async
/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
guard let self else { return kCVReturnSuccess }
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:368:7: note: class 'CADisplayLink' does not conform to the 'Sendable' protocol
class CADisplayLink {
^
/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
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.NSObject:2:12: note: class 'NSObject' does not conform to the 'Sendable' protocol
open class NSObject : NSObjectProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:8:1: remark: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
import AVFoundation
^
@preconcurrency
/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
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MetalPlayView.swift:427:13: note: a function type must be marked '@Sendable' to conform to 'Sendable'
block()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:505:28: warning: 'result' mutated after capture by sendable closure
result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:496:21: note: variable defined here
var result = avformat_seek_file(formatCtx, -1, seekMin, timeStamp, seekMax, seekFlags)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:516:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:518:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[85/89] 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
public func set(text: String, isAdd: Bool) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
public func set(text: String, isAdd: Bool) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:13:10: note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
func set(text: String, isAdd: Bool)
^
async
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:52:109: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.definitionButton.setTitle(resource.definitions[currentDefinition].definition, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:173:42: warning: reference to static property 'topBarShowInCase' is not concurrency-safe because it involves shared mutable state
topMaskView.isHidden = KSOptions.topBarShowInCase != .always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: note: static property declared here
static var topBarShowInCase = KSPlayerTopBarShowCase.always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:202:75: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "play.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:203:88: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "arrow.counterclockwise"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:204:73: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock.open"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:205:68: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:376:27: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if !KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:400:54: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if scrollDirection == .horizontal, KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:552:46: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
button.setTitle(title, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:618:61: warning: reference to static property 'textColor' is not concurrency-safe because it involves shared mutable state
subtitleLabel.textColor = UIColor(SubtitleModel.textColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: note: static property declared here
public static var textColor: Color = .white
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:619:70: warning: reference to static property 'textBackgroundColor' is not concurrency-safe because it involves shared mutable state
subtitleBackView.backgroundColor = UIColor(SubtitleModel.textBackgroundColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: note: static property declared here
public static var textBackgroundColor: Color = .clear
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:660:80: warning: reference to static property 'animateDelayTimeInterval' is not concurrency-safe because it involves shared mutable state
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + KSOptions.animateDelayTimeInterval,
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: note: static property declared here
static var animateDelayTimeInterval = TimeInterval(5)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:677:88: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:679:88: warning: reference to static property 'highlighted' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .highlighted)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: note: static property declared here
public static var highlighted = State(rawValue: 1 << 1)
^
[86/89] 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
public func set(text: String, isAdd: Bool) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
public func set(text: String, isAdd: Bool) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:13:10: note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
func set(text: String, isAdd: Bool)
^
async
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:52:109: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.definitionButton.setTitle(resource.definitions[currentDefinition].definition, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:173:42: warning: reference to static property 'topBarShowInCase' is not concurrency-safe because it involves shared mutable state
topMaskView.isHidden = KSOptions.topBarShowInCase != .always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: note: static property declared here
static var topBarShowInCase = KSPlayerTopBarShowCase.always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:202:75: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "play.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:203:88: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "arrow.counterclockwise"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:204:73: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock.open"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:205:68: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:376:27: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if !KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:400:54: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if scrollDirection == .horizontal, KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:552:46: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
button.setTitle(title, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:618:61: warning: reference to static property 'textColor' is not concurrency-safe because it involves shared mutable state
subtitleLabel.textColor = UIColor(SubtitleModel.textColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: note: static property declared here
public static var textColor: Color = .white
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:619:70: warning: reference to static property 'textBackgroundColor' is not concurrency-safe because it involves shared mutable state
subtitleBackView.backgroundColor = UIColor(SubtitleModel.textBackgroundColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: note: static property declared here
public static var textBackgroundColor: Color = .clear
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:660:80: warning: reference to static property 'animateDelayTimeInterval' is not concurrency-safe because it involves shared mutable state
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + KSOptions.animateDelayTimeInterval,
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: note: static property declared here
static var animateDelayTimeInterval = TimeInterval(5)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:677:88: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:679:88: warning: reference to static property 'highlighted' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .highlighted)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: note: static property declared here
public static var highlighted = State(rawValue: 1 << 1)
^
[87/89] 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
public func set(text: String, isAdd: Bool) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
public func set(text: String, isAdd: Bool) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:13:10: note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
func set(text: String, isAdd: Bool)
^
async
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:52:109: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.definitionButton.setTitle(resource.definitions[currentDefinition].definition, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:173:42: warning: reference to static property 'topBarShowInCase' is not concurrency-safe because it involves shared mutable state
topMaskView.isHidden = KSOptions.topBarShowInCase != .always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: note: static property declared here
static var topBarShowInCase = KSPlayerTopBarShowCase.always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:202:75: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "play.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:203:88: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "arrow.counterclockwise"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:204:73: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock.open"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:205:68: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:376:27: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if !KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:400:54: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if scrollDirection == .horizontal, KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:552:46: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
button.setTitle(title, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:618:61: warning: reference to static property 'textColor' is not concurrency-safe because it involves shared mutable state
subtitleLabel.textColor = UIColor(SubtitleModel.textColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: note: static property declared here
public static var textColor: Color = .white
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:619:70: warning: reference to static property 'textBackgroundColor' is not concurrency-safe because it involves shared mutable state
subtitleBackView.backgroundColor = UIColor(SubtitleModel.textBackgroundColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: note: static property declared here
public static var textBackgroundColor: Color = .clear
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:660:80: warning: reference to static property 'animateDelayTimeInterval' is not concurrency-safe because it involves shared mutable state
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + KSOptions.animateDelayTimeInterval,
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: note: static property declared here
static var animateDelayTimeInterval = TimeInterval(5)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:677:88: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:679:88: warning: reference to static property 'highlighted' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .highlighted)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: note: static property declared here
public static var highlighted = State(rawValue: 1 << 1)
^
[88/89] 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
public func set(text: String, isAdd: Bool) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
public func set(text: String, isAdd: Bool) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:13:10: note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
func set(text: String, isAdd: Bool)
^
async
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:52:109: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.definitionButton.setTitle(resource.definitions[currentDefinition].definition, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:173:42: warning: reference to static property 'topBarShowInCase' is not concurrency-safe because it involves shared mutable state
topMaskView.isHidden = KSOptions.topBarShowInCase != .always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: note: static property declared here
static var topBarShowInCase = KSPlayerTopBarShowCase.always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:202:75: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "play.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:203:88: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "arrow.counterclockwise"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:204:73: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock.open"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:205:68: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:376:27: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if !KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:400:54: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if scrollDirection == .horizontal, KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:552:46: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
button.setTitle(title, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:618:61: warning: reference to static property 'textColor' is not concurrency-safe because it involves shared mutable state
subtitleLabel.textColor = UIColor(SubtitleModel.textColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: note: static property declared here
public static var textColor: Color = .white
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:619:70: warning: reference to static property 'textBackgroundColor' is not concurrency-safe because it involves shared mutable state
subtitleBackView.backgroundColor = UIColor(SubtitleModel.textBackgroundColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: note: static property declared here
public static var textBackgroundColor: Color = .clear
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:660:80: warning: reference to static property 'animateDelayTimeInterval' is not concurrency-safe because it involves shared mutable state
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + KSOptions.animateDelayTimeInterval,
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: note: static property declared here
static var animateDelayTimeInterval = TimeInterval(5)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:677:88: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:679:88: warning: reference to static property 'highlighted' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .highlighted)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: note: static property declared here
public static var highlighted = State(rawValue: 1 << 1)
^
[89/89] 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
public func set(text: String, isAdd: Bool) {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:52:17: note: add 'nonisolated' to 'set(text:isAdd:)' to make this instance method not isolated to the actor
public func set(text: String, isAdd: Bool) {
^
nonisolated
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/SeekView.swift:13:10: note: mark the protocol requirement 'set(text:isAdd:)' 'async' to allow actor-isolated conformances
func set(text: String, isAdd: Bool)
^
async
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:52:109: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.definitionButton.setTitle(resource.definitions[currentDefinition].definition, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:173:42: warning: reference to static property 'topBarShowInCase' is not concurrency-safe because it involves shared mutable state
topMaskView.isHidden = KSOptions.topBarShowInCase != .always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:885:16: note: static property declared here
static var topBarShowInCase = KSPlayerTopBarShowCase.always
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:202:75: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "play.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:203:88: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
replayButton.setImage(UIImage(systemName: "arrow.counterclockwise"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:204:73: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock.open"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:205:68: warning: reference to static property 'selected' is not concurrency-safe because it involves shared mutable state
lockButton.setImage(UIImage(systemName: "lock"), for: .selected)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:346:27: note: static property declared here
public static var selected = State(rawValue: 1 << 3)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:376:27: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if !KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:400:54: warning: reference to static property 'enablePlaytimeGestures' is not concurrency-safe because it involves shared mutable state
if scrollDirection == .horizontal, KSOptions.enablePlaytimeGestures {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:893:16: note: static property declared here
static var enablePlaytimeGestures = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:552:46: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
button.setTitle(title, for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:618:61: warning: reference to static property 'textColor' is not concurrency-safe because it involves shared mutable state
subtitleLabel.textColor = UIColor(SubtitleModel.textColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:280:23: note: static property declared here
public static var textColor: Color = .white
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:619:70: warning: reference to static property 'textBackgroundColor' is not concurrency-safe because it involves shared mutable state
subtitleBackView.backgroundColor = UIColor(SubtitleModel.textBackgroundColor)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:281:23: note: static property declared here
public static var textBackgroundColor: Color = .clear
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:660:80: warning: reference to static property 'animateDelayTimeInterval' is not concurrency-safe because it involves shared mutable state
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + KSOptions.animateDelayTimeInterval,
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:887:16: note: static property declared here
static var animateDelayTimeInterval = TimeInterval(5)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:677:88: warning: reference to static property 'normal' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .normal)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:343:27: note: static property declared here
public static var normal = State(rawValue: 1 << 0)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Video/VideoPlayerView.swift:679:88: warning: reference to static property 'highlighted' is not concurrency-safe because it involves shared mutable state
toolBar.timeSlider.setThumbImage(UIImage(systemName: "circle.fill"), for: .highlighted)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Core/AppKitExtend.swift:344:27: note: static property declared here
public static var highlighted = State(rawValue: 1 << 1)
^
Build complete! (158.46s)
Fetching https://github.com/kingslay/FFmpegKit.git
[1/8609] Fetching ffmpegkit
Fetched https://github.com/kingslay/FFmpegKit.git (133.69s)
Computing version for https://github.com/kingslay/FFmpegKit.git
Computed https://github.com/kingslay/FFmpegKit.git at 6.1.3 (0.76s)
Creating working copy for https://github.com/kingslay/FFmpegKit.git
Working copy of https://github.com/kingslay/FFmpegKit.git resolved at 6.1.3
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
Build complete.
Done.