Build Information
Successful build of KSPlayer, reference 2.3.4 (bdfa2d
), with Swift 5.10 for macOS (SPM) on 20 Feb 2025 16:40:41 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.4.0.app xcrun swift build --arch arm64
Build Log
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/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/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:35: warning: capture of 'selector' with non-sendable type 'Selector' in a `@Sendable` closure
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.Selector:1:23: note: struct 'Selector' does not conform to the 'Sendable' protocol
@frozen public struct Selector : ExpressibleByStringLiteral {
^
/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: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: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/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: note: isolate 'enableSensor' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: note: isolate 'yadifMode' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: note: isolate 'deInterlaceAddIdet' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:494: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:485: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:505:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:507:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[77/91] 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/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/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; this is an error in Swift 6
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/Model.swift:86:16: warning: static property 'videoPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: isolate 'videoPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.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; this is an error in Swift 6
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; this is an error in Swift 6
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/Model.swift:84:16: warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: isolate 'isClearVideoWhereReplace' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var isClearVideoWhereReplace = true
^
/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; this is an error in Swift 6
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:94:24: warning: static property 'onceInitial' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: isolate 'onceInitial' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
private static var onceInitial: Void = {
^
/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:131:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
_ = 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/Model.swift:83:16: warning: static property 'stackSize' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: isolate 'stackSize' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:425:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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:441: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:507: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:618:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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/Subtitle/KSSubtitle.swift:290:23: warning: static property 'audioRecognizes' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: isolate 'audioRecognizes' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:852:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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; this is an error in Swift 6
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/AVPlayer/KSOptions.swift:479:16: warning: static property 'preferredFrame' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var preferredFrame = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: isolate 'preferredFrame' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var preferredFrame = true
^
/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; this is an error in Swift 6
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/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/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:35: warning: capture of 'selector' with non-sendable type 'Selector' in a `@Sendable` closure
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.Selector:1:23: note: struct 'Selector' does not conform to the 'Sendable' protocol
@frozen public struct Selector : ExpressibleByStringLiteral {
^
/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: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: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/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: note: isolate 'enableSensor' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: note: isolate 'yadifMode' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: note: isolate 'deInterlaceAddIdet' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:494: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:485: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:505:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:507:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[78/91] 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/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/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; this is an error in Swift 6
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/Model.swift:86:16: warning: static property 'videoPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: isolate 'videoPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.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; this is an error in Swift 6
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; this is an error in Swift 6
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/Model.swift:84:16: warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: isolate 'isClearVideoWhereReplace' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var isClearVideoWhereReplace = true
^
/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; this is an error in Swift 6
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:94:24: warning: static property 'onceInitial' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: isolate 'onceInitial' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
private static var onceInitial: Void = {
^
/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:131:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
_ = 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/Model.swift:83:16: warning: static property 'stackSize' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: isolate 'stackSize' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:425:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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:441: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:507: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:618:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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/Subtitle/KSSubtitle.swift:290:23: warning: static property 'audioRecognizes' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: isolate 'audioRecognizes' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:852:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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; this is an error in Swift 6
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/AVPlayer/KSOptions.swift:479:16: warning: static property 'preferredFrame' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var preferredFrame = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: isolate 'preferredFrame' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var preferredFrame = true
^
/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; this is an error in Swift 6
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/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/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:35: warning: capture of 'selector' with non-sendable type 'Selector' in a `@Sendable` closure
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.Selector:1:23: note: struct 'Selector' does not conform to the 'Sendable' protocol
@frozen public struct Selector : ExpressibleByStringLiteral {
^
/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: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: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/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: note: isolate 'enableSensor' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: note: isolate 'yadifMode' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: note: isolate 'deInterlaceAddIdet' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:494: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:485: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:505:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:507:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[79/91] 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/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/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; this is an error in Swift 6
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/Model.swift:86:16: warning: static property 'videoPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:86:16: note: isolate 'videoPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var videoPlayerType: (VideoOutput & UIView).Type = MetalPlayView.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; this is an error in Swift 6
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; this is an error in Swift 6
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/Model.swift:84:16: warning: static property 'isClearVideoWhereReplace' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var isClearVideoWhereReplace = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:84:16: note: isolate 'isClearVideoWhereReplace' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var isClearVideoWhereReplace = true
^
/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; this is an error in Swift 6
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:94:24: warning: static property 'onceInitial' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
private static var onceInitial: Void = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:94:24: note: isolate 'onceInitial' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
private static var onceInitial: Void = {
^
/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:131:26: warning: reference to static property 'onceInitial' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
_ = 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/Model.swift:83:16: warning: static property 'stackSize' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:83:16: note: isolate 'stackSize' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var stackSize = 65536
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:425:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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:441: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:507: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:618:50: warning: reference to static property 'stackSize' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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/Subtitle/KSSubtitle.swift:290:23: warning: static property 'audioRecognizes' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Subtitle/KSSubtitle.swift:290:23: note: isolate 'audioRecognizes' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
public static var audioRecognizes = [any AudioRecognize]()
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:852:27: warning: reference to static property 'audioRecognizes' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
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; this is an error in Swift 6
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/AVPlayer/KSOptions.swift:479:16: warning: static property 'preferredFrame' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var preferredFrame = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/AVPlayer/KSOptions.swift:479:16: note: isolate 'preferredFrame' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var preferredFrame = true
^
/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; this is an error in Swift 6
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/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/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:35: warning: capture of 'selector' with non-sendable type 'Selector' in a `@Sendable` closure
self.runloop?.perform(selector, target: target, argument: self, order: 0, modes: [self.mode])
^
ObjectiveC.Selector:1:23: note: struct 'Selector' does not conform to the 'Sendable' protocol
@frozen public struct Selector : ExpressibleByStringLiteral {
^
/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: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: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/Model.swift:82:16: warning: static property 'enableSensor' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:82:16: note: isolate 'enableSensor' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var enableSensor = true
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: warning: static property 'yadifMode' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:87:16: note: isolate 'yadifMode' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var yadifMode = 1
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: warning: static property 'deInterlaceAddIdet' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:88:16: note: isolate 'deInterlaceAddIdet' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var deInterlaceAddIdet = false
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:494: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:485: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:505:42: note: variable captured by sendable closure
DispatchQueue.main.async { [weak self] in
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/MEPlayerItem.swift:507:52: note: capturing use
self.seekingCompletionHandler?(result >= 0)
^
[80/91] Compiling KSPlayer Resample.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[81/91] Compiling KSPlayer SubtitleDecode.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[82/91] Compiling KSPlayer ThumbnailController.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[83/91] Compiling KSPlayer VideoToolboxDecode.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[84/91] Compiling KSPlayer DisplayModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[85/91] Compiling KSPlayer MetalRender.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:175:25: warning: variable 'source' was never mutated; consider changing to 'let' constant
var source = data[i]!
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AVFFmpegExtension.swift:409:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = AVChannelLayout(order: AV_CHANNEL_ORDER_NATIVE, nb_channels: 2, u: AVChannelLayout.__Unnamed_union_u(mask: swift_AV_CH_LAYOUT_STEREO), opaque: nil)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: warning: static property 'audioPlayerType' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in Swift 6
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:85:16: note: isolate 'audioPlayerType' to a global actor, or convert it to a 'let' constant and conform it to 'Sendable'
static var audioPlayerType: AudioOutput.Type = AudioEnginePlayer.self
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Resample.swift:368:33: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
interleaved = KSOptions.audioPlayerType == AudioRendererPlayer.self
^
/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/Resample.swift:369:24: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/Resample.swift:369:81: warning: reference to static property 'audioPlayerType' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
if !(KSOptions.audioPlayerType == AudioRendererPlayer.self || KSOptions.audioPlayerType == AudioUnitPlayer.self) {
^
/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/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:32:19: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
try await Task {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:34:11: warning: type 'FFThumbnail' does not conform to the 'Sendable' protocol
}.value
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:15:15: note: consider making struct 'FFThumbnail' conform to the 'Sendable' protocol
public struct FFThumbnail {
^
: Sendable
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:33:17: warning: capture of 'self' with non-sendable type 'ThumbnailController' in a `@Sendable` closure
try getPeeks(for: url, thumbWidth: thumbWidth)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:24:14: note: class 'ThumbnailController' does not conform to the 'Sendable' protocol
public class ThumbnailController {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/ThumbnailController.swift:72:13: warning: variable 'codecContext' was never mutated; consider changing to 'let' constant
var codecContext = try videoStream.pointee.codecpar.pointee.createContext(options: nil)
~~~ ^
let
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:51:27: warning: capture of 'self' with non-sendable type 'VideoToolboxDecode?' in a `@Sendable` closure
guard let self, !infoFlags.contains(.frameDropped) else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:13:7: note: class 'VideoToolboxDecode' does not conform to the 'Sendable' protocol
class VideoToolboxDecode: DecodeProtocol {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:56:28: warning: capture of 'packet' with non-sendable type 'Packet' in a `@Sendable` closure
if packet.isKeyFrame {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:195:13: note: class 'Packet' does not conform to the 'Sendable' protocol
final class Packet: ObjectQueueItem {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: warning: capture of 'completionHandler' with non-sendable type '(Result<any MEFrame, any Error>) -> Void' in a `@Sendable` closure
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/VideoToolboxDecode.swift:57:29: note: a function type must be marked '@Sendable' to conform to 'Sendable'
completionHandler(.failure(NSError(errorCode: .codecVideoReceiveFrame, avErrorCode: status)))
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:15:16: warning: static property 'device' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let device = MTLCreateSystemDefaultDevice()!
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:16:16: warning: static property 'library' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let library: MTLLibrary = {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/MetalRender.swift:34:77: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601VideoRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.videoRange.buffer
^
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:36:76: warning: reference to var 'kvImage_YpCbCrToARGBMatrix_ITU_R_601_4' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
private lazy var colorConversion601FullRangeMatrixBuffer: MTLBuffer? = kvImage_YpCbCrToARGBMatrix_ITU_R_601_4.pointee.buffer
^
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; this is an error in Swift 6
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; this is an error in Swift 6
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>!
^
[86/91] Compiling KSPlayer AudioRendererPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
[87/91] Compiling KSPlayer AudioUnitPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
[88/91] Compiling KSPlayer CircularBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
[89/91] Compiling KSPlayer EmbedDataSouce.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
[90/91] Compiling KSPlayer FFmpegAssetTrack.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
[91/91] Compiling KSPlayer FFmpegDecode.swift
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:88:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:94:23: warning: capture of 'self' with non-sendable type 'AudioRendererPlayer?' in a `@Sendable` closure
guard let self else {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/AudioRendererPlayer.swift:11:14: note: class 'AudioRendererPlayer' does not conform to the 'Sendable' protocol
public class AudioRendererPlayer: AudioOutput {
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/Model.swift:178:16: warning: static property 'defaultValue' is not concurrency-safe because it is not either conforming to 'Sendable' or isolated to a global actor; this is an error in Swift 6
static let defaultValue = Timebase(num: 1, den: 1)
^
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:95:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: [UInt8].self, capacity: 1) { $0 }
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:98:37: warning: initialization of immutable value 'header' was never used; consider replacing with assignment to '_' or removing it
let header = av_dovi_get_header(data)
~~~~^~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:99:37: warning: initialization of immutable value 'mapping' was never used; consider replacing with assignment to '_' or removing it
let mapping = av_dovi_get_mapping(data)
~~~~^~~~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:100:37: warning: initialization of immutable value 'color' was never used; consider replacing with assignment to '_' or removing it
let color = av_dovi_get_color(data)
~~~~^~~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:103:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRPlus.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/MEPlayer/FFmpegDecode.swift:105:37: warning: initialization of immutable value 'data' was never used; consider replacing with assignment to '_' or removing it
let data = sideData.data.withMemoryRebound(to: AVDynamicHDRVivid.self, capacity: 1) { $0 }.pointee
~~~~^~~~
_
Build complete! (54.82s)
Fetching https://github.com/kingslay/FFmpegKit.git
[1/8612] Fetching ffmpegkit
Fetched https://github.com/kingslay/FFmpegKit.git from cache (35.70s)
Computing version for https://github.com/kingslay/FFmpegKit.git
Computed https://github.com/kingslay/FFmpegKit.git at 6.1.3 (0.37s)
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.
{
"default_localization" : "en",
"dependencies" : [
{
"identity" : "ffmpegkit",
"requirement" : {
"range" : [
{
"lower_bound" : "6.1.3",
"upper_bound" : "7.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kingslay/FFmpegKit.git"
}
],
"manifest_display_name" : "KSPlayer",
"name" : "KSPlayer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "KSPlayer",
"targets" : [
"KSPlayer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "KSPlayerTests",
"module_type" : "SwiftTarget",
"name" : "KSPlayerTests",
"path" : "Tests/KSPlayerTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/KSPlayerTests/Resources/test.m3u",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AudioTest.swift",
"KSAVPlayerTest.swift",
"KSMEPlayerTest.swift",
"KSPlayerLayerTest.swift",
"M3UParseTest.swift",
"SubtitleTest.swift",
"VideoPlayerControllerTest.swift",
"VideoPlayerViewTest.swift"
],
"target_dependencies" : [
"KSPlayer"
],
"type" : "test"
},
{
"c99name" : "KSPlayer",
"module_type" : "SwiftTarget",
"name" : "KSPlayer",
"path" : "Sources/KSPlayer",
"product_dependencies" : [
"FFmpegKit"
],
"product_memberships" : [
"KSPlayer"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/KSPlayer/Metal/Shaders.metal",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AVPlayer/KSAVPlayer.swift",
"AVPlayer/KSOptions.swift",
"AVPlayer/KSPictureInPictureController.swift",
"AVPlayer/KSPlayerLayer.swift",
"AVPlayer/KSVideoPlayer.swift",
"AVPlayer/MediaPlayerProtocol.swift",
"AVPlayer/PlayerDefines.swift",
"Audio/AudioPlayerView.swift",
"Core/AppKitExtend.swift",
"Core/PlayerToolBar.swift",
"Core/PlayerView.swift",
"Core/UIKitExtend.swift",
"Core/UXKit.swift",
"Core/Utility.swift",
"MEPlayer/AVFFmpegExtension.swift",
"MEPlayer/AVFoundationExtension.swift",
"MEPlayer/AudioEnginePlayer.swift",
"MEPlayer/AudioGraphPlayer.swift",
"MEPlayer/AudioRendererPlayer.swift",
"MEPlayer/AudioUnitPlayer.swift",
"MEPlayer/CircularBuffer.swift",
"MEPlayer/EmbedDataSouce.swift",
"MEPlayer/FFmpegAssetTrack.swift",
"MEPlayer/FFmpegDecode.swift",
"MEPlayer/Filter.swift",
"MEPlayer/KSMEPlayer.swift",
"MEPlayer/MEPlayerItem.swift",
"MEPlayer/MEPlayerItemTrack.swift",
"MEPlayer/MetalPlayView.swift",
"MEPlayer/Model.swift",
"MEPlayer/Resample.swift",
"MEPlayer/SubtitleDecode.swift",
"MEPlayer/ThumbnailController.swift",
"MEPlayer/VideoToolboxDecode.swift",
"Metal/DisplayModel.swift",
"Metal/MetalRender.swift",
"Metal/MotionSensor.swift",
"Metal/PixelBufferProtocol.swift",
"Metal/Transforms.swift",
"Subtitle/AudioRecognize.swift",
"Subtitle/KSParseProtocol.swift",
"Subtitle/KSSubtitle.swift",
"Subtitle/SubtitleDataSouce.swift",
"SwiftUI/AirPlayView.swift",
"SwiftUI/KSVideoPlayerView.swift",
"SwiftUI/KSVideoPlayerViewBuilder.swift",
"SwiftUI/LiveTextImage.swift",
"SwiftUI/Slider.swift",
"Video/BrightnessVolume.swift",
"Video/IOSVideoPlayerView.swift",
"Video/KSMenu.swift",
"Video/KSPlayerItem.swift",
"Video/MacVideoPlayerView.swift",
"Video/PlayerFullScreenViewController.swift",
"Video/PlayerTransitionAnimator.swift",
"Video/SeekView.swift",
"Video/VideoPlayerView.swift"
],
"target_dependencies" : [
"DisplayCriteria"
],
"type" : "library"
},
{
"c99name" : "DisplayCriteria",
"module_type" : "ClangTarget",
"name" : "DisplayCriteria",
"path" : "Sources/DisplayCriteria",
"product_memberships" : [
"KSPlayer"
],
"sources" : [
"DisplayCriteria.m"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.