The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build VideoIO, reference 2.3.1 (22f7c0), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 14:14:43 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/MetalPetal/VideoIO.git
Reference: 2.3.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/MetalPetal/VideoIO
 * tag               2.3.1      -> FETCH_HEAD
HEAD is now at 22f7c00 Fix tvOS build issue
Cloned https://github.com/MetalPetal/VideoIO.git
Revision (git rev-parse @):
22f7c00083b7e16c7e15ace1adcdb90fb5ffe006
SUCCESS checkout https://github.com/MetalPetal/VideoIO.git at 2.3.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "videoio",
      "name": "VideoIO",
      "url": "https://github.com/MetalPetal/VideoIO.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/VideoIO",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/MetalPetal/VideoIO.git
[1/877] Fetching videoio
Fetched https://github.com/MetalPetal/VideoIO.git from cache (1.22s)
Creating working copy for https://github.com/MetalPetal/VideoIO.git
Working copy of https://github.com/MetalPetal/VideoIO.git resolved at 2.3.1 (22f7c00)
warning: '.resolve-product-dependencies': dependency 'videoio' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/MetalPetal/VideoIO.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "VideoIO",
  "name" : "VideoIO",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    }
  ],
  "products" : [
    {
      "name" : "VideoIO",
      "targets" : [
        "VideoIO"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "VideoIOTests",
      "module_type" : "SwiftTarget",
      "name" : "VideoIOTests",
      "path" : "Tests/VideoIOTests",
      "sources" : [
        "VideoIOTests.swift"
      ],
      "target_dependencies" : [
        "VideoIO"
      ],
      "type" : "test"
    },
    {
      "c99name" : "VideoIO",
      "module_type" : "SwiftTarget",
      "name" : "VideoIO",
      "path" : "Sources/VideoIO",
      "product_memberships" : [
        "VideoIO"
      ],
      "sources" : [
        "AVAsset.swift",
        "AssetExportSession.swift",
        "AudioQueueCaptureSession.swift",
        "AudioVideoSettings.swift",
        "Camera+AudioQueueCapture.swift",
        "Camera+FocusExposure.swift",
        "Camera+PhotoCapture.swift",
        "Camera.swift",
        "DeviceOrientationTracker.swift",
        "MovieFileType.swift",
        "MovieMerger.swift",
        "MultitrackMovieRecorder.swift",
        "PlayerVideoOutput.swift",
        "SampleBufferUtilities.swift",
        "UnfairLock.swift",
        "VideoComposition.swift",
        "VideoOrientationUtilities.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/19] Compiling VideoIO UnfairLock.swift
[4/19] Compiling VideoIO VideoComposition.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:15:14: warning: non-final class 'BlockBasedVideoCompositor' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | public class BlockBasedVideoCompositor: NSObject, VideoCompositorProtocol {
    |              `- warning: non-final class 'BlockBasedVideoCompositor' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 |
 17 |     public enum Error: Swift.Error {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:48:16: warning: stored property 'sourcePixelBufferAttributes' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
 46 |     }
 47 |
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
    |                `- warning: stored property 'sourcePixelBufferAttributes' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:50:16: warning: stored property 'requiredPixelBufferAttributesForRenderContext' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]'; this is an error in the Swift 6 language mode
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
    |                `- warning: stored property 'requiredPixelBufferAttributesForRenderContext' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]'; this is an error in the Swift 6 language mode
 51 |
 52 |     public func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext) {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:15:14: error: type 'BlockBasedVideoCompositor' does not conform to protocol 'AVVideoCompositing'
 13 | }
 14 |
 15 | public class BlockBasedVideoCompositor: NSObject, VideoCompositorProtocol {
    |              `- error: type 'BlockBasedVideoCompositor' does not conform to protocol 'AVVideoCompositing'
 16 |
 17 |     public enum Error: Swift.Error {
    :
 46 |     }
 47 |
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
    |                `- note: candidate has non-matching type '[String : Any]?'
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
    |                `- note: candidate has non-matching type '[String : Any]'
 51 |
 52 |     public func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext) {
AVFoundation.AVVideoCompositing:3:9: note: protocol requires property 'sourcePixelBufferAttributes' with type '[String : any Sendable]?'
 1 | @available(macOS 10.9, *)
 2 | public protocol AVVideoCompositing : NSObjectProtocol, Sendable {
 3 |     var sourcePixelBufferAttributes: [String : any Sendable]? { get }
   |         `- note: protocol requires property 'sourcePixelBufferAttributes' with type '[String : any Sendable]?'
 4 |     var requiredPixelBufferAttributesForRenderContext: [String : any Sendable] { get }
   |         `- note: protocol requires property 'requiredPixelBufferAttributesForRenderContext' with type '[String : any Sendable]'
 5 |     func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext)
 6 |     func startRequest(_ asyncVideoCompositionRequest: AVAsynchronousVideoCompositionRequest)
[5/20] Compiling VideoIO AVAsset.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:216:18: warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
214 |
215 |
216 |     public class ExportProgress: Progress {
    |                  `- warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
217 |         public let videoEncodingProgress: Progress?
218 |         public let audioEncodingProgress: Progress?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:304:37: warning: capture of 'sessionForVideoEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
302 |             var sessionForVideoEncoder: AssetExportSession? = self
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
    |                                     `- warning: capture of 'sessionForVideoEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:305:42: warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
    |                                          `- warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
AVFoundation.AVAssetReaderOutput:2:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetReaderOutput : NSObject {
  |            `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
3 |     open var mediaType: AVMediaType { get }
4 |     @available(macOS 10.8, *)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
  7 |
  8 | import Foundation
  9 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 10 |
 11 | public class AssetExportSession {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:305:59: warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
    |                                                           `- warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:309:59: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
309 |                         session.finish(completionHandler: completion)
    |                                                           |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
310 |                     }
311 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:304:37: warning: reference to captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
302 |             var sessionForVideoEncoder: AssetExportSession? = self
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
    |                                     `- warning: reference to captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:306:21: warning: mutation of captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
    |                     `- warning: mutation of captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:307:21: warning: mutation of captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
    |                     `- warning: mutation of captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
308 |                     if audioCompleted {
309 |                         session.finish(completionHandler: completion)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:308:24: warning: reference to captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
    |                        `- warning: reference to captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
309 |                         session.finish(completionHandler: completion)
310 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:320:37: warning: capture of 'sessionForAudioEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
318 |             var sessionForAudioEncoder: AssetExportSession? = self
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
    |                                     `- warning: capture of 'sessionForAudioEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:321:42: warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
    |                                          `- warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
AVFoundation.AVAssetReaderAudioMixOutput:2:12: note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetReaderAudioMixOutput : AVAssetReaderOutput {
   |            `- note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:321:59: warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
    |                                                           `- warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:325:59: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
325 |                         session.finish(completionHandler: completion)
    |                                                           |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
326 |                     }
327 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:320:37: warning: reference to captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
318 |             var sessionForAudioEncoder: AssetExportSession? = self
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
    |                                     `- warning: reference to captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:322:21: warning: mutation of captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
    |                     `- warning: mutation of captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:323:21: warning: mutation of captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
    |                     `- warning: mutation of captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
324 |                     if videoCompleted {
325 |                         session.finish(completionHandler: completion)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:324:24: warning: reference to captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
    |                        `- warning: reference to captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
325 |                         session.finish(completionHandler: completion)
326 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:380:17: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
378 |         } else {
379 |             self.writer.finishWriting {
380 |                 self.queue.async {
    |                 `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
381 |                     if self.writer.status == .failed {
382 |                         try? FileManager().removeItem(at: self.outputURL)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:387:68: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 |                         self.dispatchProgressCallback { $0.updateFinishWritingProgress(fractionCompleted: 1) }
386 |                     }
387 |                     self.dispatchCallback(with: self.writer.error, completionHandler)
    |                                                                    |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
388 |                 }
389 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:381:24: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
379 |             self.writer.finishWriting {
380 |                 self.queue.async {
381 |                     if self.writer.status == .failed {
    |                        `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
382 |                         try? FileManager().removeItem(at: self.outputURL)
383 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:387:68: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 |                         self.dispatchProgressCallback { $0.updateFinishWritingProgress(fractionCompleted: 1) }
386 |                     }
387 |                     self.dispatchCallback(with: self.writer.error, completionHandler)
    |                                                                    |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
388 |                 }
389 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:421:16: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
419 |         self.cancelled = true
420 |         self.queue.async {
421 |             if self.reader.status == .reading {
    |                `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 |                 self.reader.cancelReading()
423 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:336:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
334 |     private func dispatchProgressCallback(with updater: @escaping (ExportProgress) -> Void) {
335 |         DispatchQueue.main.async {
336 |             if let progress = self.progress {
    |                               |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
337 |                 updater(progress)
338 |                 self.progressHandler?(progress)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:337:17: warning: sending 'updater' risks causing data races; this is an error in the Swift 6 language mode
335 |         DispatchQueue.main.async {
336 |             if let progress = self.progress {
337 |                 updater(progress)
    |                 |- warning: sending 'updater' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'updater' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
338 |                 self.progressHandler?(progress)
339 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:265:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
263 |         if self.status != .idle || self.cancelled {
264 |             DispatchQueue.main.async {
265 |                 completion(Error.invalidStatus)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
266 |             }
267 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:287:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
285 |         } catch {
286 |             DispatchQueue.main.async {
287 |                 completion(error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
288 |             }
289 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |     private func dispatchCallback(with error: Swift.Error?, _ completionHandler: @escaping (Swift.Error?) -> Void) {
344 |         DispatchQueue.main.async {
345 |             self.progressHandler = nil
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |             self.status = .completed
347 |             completionHandler(error)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:347:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
345 |             self.progressHandler = nil
346 |             self.status = .completed
347 |             completionHandler(error)
    |             |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
348 |         }
349 |     }
[6/20] Compiling VideoIO AssetExportSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:216:18: warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
214 |
215 |
216 |     public class ExportProgress: Progress {
    |                  `- warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
217 |         public let videoEncodingProgress: Progress?
218 |         public let audioEncodingProgress: Progress?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:304:37: warning: capture of 'sessionForVideoEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
302 |             var sessionForVideoEncoder: AssetExportSession? = self
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
    |                                     `- warning: capture of 'sessionForVideoEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:305:42: warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
    |                                          `- warning: capture of 'videoOutput' with non-sendable type 'AVAssetReaderOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
AVFoundation.AVAssetReaderOutput:2:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetReaderOutput : NSObject {
  |            `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
3 |     open var mediaType: AVMediaType { get }
4 |     @available(macOS 10.8, *)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:9:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
  7 |
  8 | import Foundation
  9 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 10 |
 11 | public class AssetExportSession {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:305:59: warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
    |                                                           `- warning: capture of 'videoInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:309:59: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
309 |                         session.finish(completionHandler: completion)
    |                                                           |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
310 |                     }
311 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:304:37: warning: reference to captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
302 |             var sessionForVideoEncoder: AssetExportSession? = self
303 |             videoInput.requestMediaDataWhenReady(on: self.queue) { [unowned videoInput] in
304 |                 guard let session = sessionForVideoEncoder else { return }
    |                                     `- warning: reference to captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:306:21: warning: mutation of captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
304 |                 guard let session = sessionForVideoEncoder else { return }
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
    |                     `- warning: mutation of captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:307:21: warning: mutation of captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
305 |                 if !session.encode(from: videoOutput, to: videoInput) {
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
    |                     `- warning: mutation of captured var 'sessionForVideoEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
308 |                     if audioCompleted {
309 |                         session.finish(completionHandler: completion)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:308:24: warning: reference to captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
306 |                     videoCompleted = true
307 |                     sessionForVideoEncoder = nil
308 |                     if audioCompleted {
    |                        `- warning: reference to captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
309 |                         session.finish(completionHandler: completion)
310 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:320:37: warning: capture of 'sessionForAudioEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
318 |             var sessionForAudioEncoder: AssetExportSession? = self
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
    |                                     `- warning: capture of 'sessionForAudioEncoder' with non-sendable type 'AssetExportSession?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:321:42: warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
    |                                          `- warning: capture of 'audioOutput' with non-sendable type 'AVAssetReaderAudioMixOutput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
AVFoundation.AVAssetReaderAudioMixOutput:2:12: note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetReaderAudioMixOutput : AVAssetReaderOutput {
   |            `- note: class 'AVAssetReaderAudioMixOutput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:321:59: warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
    |                                                           `- warning: capture of 'audioInput' with non-sendable type 'AVAssetWriterInput' in a `@Sendable` closure; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
AVFoundation.AVAssetWriterInput:2:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetWriterInput : NSObject {
   |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:325:59: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
325 |                         session.finish(completionHandler: completion)
    |                                                           |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
326 |                     }
327 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:320:37: warning: reference to captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
318 |             var sessionForAudioEncoder: AssetExportSession? = self
319 |             audioInput.requestMediaDataWhenReady(on: self.queue) { [unowned audioInput] in
320 |                 guard let session = sessionForAudioEncoder else { return }
    |                                     `- warning: reference to captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:322:21: warning: mutation of captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
320 |                 guard let session = sessionForAudioEncoder else { return }
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
    |                     `- warning: mutation of captured var 'audioCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:323:21: warning: mutation of captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
321 |                 if !session.encode(from: audioOutput, to: audioInput) {
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
    |                     `- warning: mutation of captured var 'sessionForAudioEncoder' in concurrently-executing code; this is an error in the Swift 6 language mode
324 |                     if videoCompleted {
325 |                         session.finish(completionHandler: completion)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:324:24: warning: reference to captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
322 |                     audioCompleted = true
323 |                     sessionForAudioEncoder = nil
324 |                     if videoCompleted {
    |                        `- warning: reference to captured var 'videoCompleted' in concurrently-executing code; this is an error in the Swift 6 language mode
325 |                         session.finish(completionHandler: completion)
326 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:380:17: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
378 |         } else {
379 |             self.writer.finishWriting {
380 |                 self.queue.async {
    |                 `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
381 |                     if self.writer.status == .failed {
382 |                         try? FileManager().removeItem(at: self.outputURL)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:387:68: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 |                         self.dispatchProgressCallback { $0.updateFinishWritingProgress(fractionCompleted: 1) }
386 |                     }
387 |                     self.dispatchCallback(with: self.writer.error, completionHandler)
    |                                                                    |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
388 |                 }
389 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:381:24: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
379 |             self.writer.finishWriting {
380 |                 self.queue.async {
381 |                     if self.writer.status == .failed {
    |                        `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
382 |                         try? FileManager().removeItem(at: self.outputURL)
383 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:387:68: warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
385 |                         self.dispatchProgressCallback { $0.updateFinishWritingProgress(fractionCompleted: 1) }
386 |                     }
387 |                     self.dispatchCallback(with: self.writer.error, completionHandler)
    |                                                                    |- warning: capture of 'completionHandler' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
388 |                 }
389 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:421:16: warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  9 | import AVFoundation
 10 |
 11 | public class AssetExportSession {
    |              `- note: class 'AssetExportSession' does not conform to the 'Sendable' protocol
 12 |
 13 |     public struct Configuration {
    :
419 |         self.cancelled = true
420 |         self.queue.async {
421 |             if self.reader.status == .reading {
    |                `- warning: capture of 'self' with non-sendable type 'AssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
422 |                 self.reader.cancelReading()
423 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:336:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
334 |     private func dispatchProgressCallback(with updater: @escaping (ExportProgress) -> Void) {
335 |         DispatchQueue.main.async {
336 |             if let progress = self.progress {
    |                               |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
337 |                 updater(progress)
338 |                 self.progressHandler?(progress)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:337:17: warning: sending 'updater' risks causing data races; this is an error in the Swift 6 language mode
335 |         DispatchQueue.main.async {
336 |             if let progress = self.progress {
337 |                 updater(progress)
    |                 |- warning: sending 'updater' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'updater' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
338 |                 self.progressHandler?(progress)
339 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:265:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
263 |         if self.status != .idle || self.cancelled {
264 |             DispatchQueue.main.async {
265 |                 completion(Error.invalidStatus)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
266 |             }
267 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:287:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
285 |         } catch {
286 |             DispatchQueue.main.async {
287 |                 completion(error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
288 |             }
289 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:345:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
343 |     private func dispatchCallback(with error: Swift.Error?, _ completionHandler: @escaping (Swift.Error?) -> Void) {
344 |         DispatchQueue.main.async {
345 |             self.progressHandler = nil
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
346 |             self.status = .completed
347 |             completionHandler(error)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:347:13: warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
345 |             self.progressHandler = nil
346 |             self.status = .completed
347 |             completionHandler(error)
    |             |- warning: sending 'completionHandler' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'completionHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
348 |         }
349 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/20] Compiling VideoIO Camera+AudioQueueCapture.swift
[8/20] Compiling VideoIO Camera+FocusExposure.swift
[9/20] Compiling VideoIO AudioQueueCaptureSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:43:24: warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |         private struct Key {
 43 |             static var tracker = ""
    |                        |- warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'tracker' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'tracker' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:130:17: warning: capture of 'self' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |
 16 | @available(macOS, unavailable)
 17 | public class AudioQueueCaptureSession {
    |              `- note: class 'AudioQueueCaptureSession' does not conform to the 'Sendable' protocol
 18 |
 19 |     public enum Error: Swift.Error {
    :
128 |         self.queue.async {
129 |             do {
130 |                 self._stopAudioRecording()
    |                 `- warning: capture of 'self' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:133:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
133 |                     completion(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 |                 }
135 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:133:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
133 |                     completion(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 |                 }
135 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:138:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |                 self._stopAudioRecording()
137 |                 self.delegateQueue.async {
138 |                     completion(error)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 }
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:196:37: warning: capture of 'session' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |
 16 | @available(macOS, unavailable)
 17 | public class AudioQueueCaptureSession {
    |              `- note: class 'AudioQueueCaptureSession' does not conform to the 'Sendable' protocol
 18 |
 19 |     public enum Error: Swift.Error {
    :
194 |
195 |                                 session.delegateQueue.async {
196 |                                     session.delegate?.audioQueueCaptureSession(session, didOutputSampleBuffer: sampleBuffer)
    |                                     `- warning: capture of 'session' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                                 }
198 |                             } else {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:196:112: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 |
195 |                                 session.delegateQueue.async {
196 |                                     session.delegate?.audioQueueCaptureSession(session, didOutputSampleBuffer: sampleBuffer)
    |                                                                                                                `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                                 }
198 |                             } else {
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:26:27: warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 24 |             self.init(rawValue: value)
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
    |                           |- warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'fit' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:27:27: warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
    |                           |- warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resize' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:28:27: warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
    |                           |- warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspect' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:29:27: warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
    |                           |- warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspectFill' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     }
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:48:42: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 46 |         static func attach(to: AnyObject, callback: @escaping () -> Void) {
 47 |             let tracker = LifetimeTracker(callback: callback)
 48 |             objc_setAssociatedObject(to, &Key.tracker, tracker, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
    |                                          `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 49 |         }
 50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:206:16: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'Optional<AudioQueueCaptureSession.ClientInfo>'; this is likely incorrect because 'Optional<AudioQueueCaptureSession.ClientInfo>' may contain an object reference.
204 |                 }
205 |                 AudioQueueEnqueueBuffer(inAudioQueue, bufferRef, 0, nil)
206 |             }, &self.clientInfo, nil, nil, 0, &audioQueue)
    |                `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'Optional<AudioQueueCaptureSession.ClientInfo>'; this is likely incorrect because 'Optional<AudioQueueCaptureSession.ClientInfo>' may contain an object reference.
207 |
208 |             if status != 0 {
[10/20] Compiling VideoIO AudioVideoSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:43:24: warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |         private struct Key {
 43 |             static var tracker = ""
    |                        |- warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'tracker' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'tracker' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:130:17: warning: capture of 'self' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |
 16 | @available(macOS, unavailable)
 17 | public class AudioQueueCaptureSession {
    |              `- note: class 'AudioQueueCaptureSession' does not conform to the 'Sendable' protocol
 18 |
 19 |     public enum Error: Swift.Error {
    :
128 |         self.queue.async {
129 |             do {
130 |                 self._stopAudioRecording()
    |                 `- warning: capture of 'self' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:133:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
133 |                     completion(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 |                 }
135 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:133:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
131 |                 try self._beginAudioRecording()
132 |                 self.delegateQueue.async {
133 |                     completion(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
134 |                 }
135 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:138:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
136 |                 self._stopAudioRecording()
137 |                 self.delegateQueue.async {
138 |                     completion(error)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
139 |                 }
140 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:196:37: warning: capture of 'session' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 15 |
 16 | @available(macOS, unavailable)
 17 | public class AudioQueueCaptureSession {
    |              `- note: class 'AudioQueueCaptureSession' does not conform to the 'Sendable' protocol
 18 |
 19 |     public enum Error: Swift.Error {
    :
194 |
195 |                                 session.delegateQueue.async {
196 |                                     session.delegate?.audioQueueCaptureSession(session, didOutputSampleBuffer: sampleBuffer)
    |                                     `- warning: capture of 'session' with non-sendable type 'AudioQueueCaptureSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                                 }
198 |                             } else {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:196:112: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
194 |
195 |                                 session.delegateQueue.async {
196 |                                     session.delegate?.audioQueueCaptureSession(session, didOutputSampleBuffer: sampleBuffer)
    |                                                                                                                `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
197 |                                 }
198 |                             } else {
CoreMedia.CMSampleBuffer:2:14: note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | public class CMSampleBuffer : _CFObject {
  |              `- note: class 'CMSampleBuffer' does not conform to the 'Sendable' protocol
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:26:27: warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 24 |             self.init(rawValue: value)
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
    |                           |- warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'fit' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:27:27: warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
    |                           |- warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resize' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:28:27: warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
    |                           |- warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspect' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:29:27: warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
    |                           |- warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspectFill' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     }
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:48:42: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 46 |         static func attach(to: AnyObject, callback: @escaping () -> Void) {
 47 |             let tracker = LifetimeTracker(callback: callback)
 48 |             objc_setAssociatedObject(to, &Key.tracker, tracker, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
    |                                          `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
 49 |         }
 50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:206:16: warning: forming 'UnsafeMutableRawPointer' to a variable of type 'Optional<AudioQueueCaptureSession.ClientInfo>'; this is likely incorrect because 'Optional<AudioQueueCaptureSession.ClientInfo>' may contain an object reference.
204 |                 }
205 |                 AudioQueueEnqueueBuffer(inAudioQueue, bufferRef, 0, nil)
206 |             }, &self.clientInfo, nil, nil, 0, &audioQueue)
    |                `- warning: forming 'UnsafeMutableRawPointer' to a variable of type 'Optional<AudioQueueCaptureSession.ClientInfo>'; this is likely incorrect because 'Optional<AudioQueueCaptureSession.ClientInfo>' may contain an object reference.
207 |
208 |             if status != 0 {
[11/20] Emitting module VideoIO
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AssetExportSession.swift:216:18: warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
214 |
215 |
216 |     public class ExportProgress: Progress {
    |                  `- warning: class 'ExportProgress' must restate inherited '@unchecked Sendable' conformance
217 |         public let videoEncodingProgress: Progress?
218 |         public let audioEncodingProgress: Progress?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioQueueCaptureSession.swift:43:24: warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |         private struct Key {
 43 |             static var tracker = ""
    |                        |- warning: static property 'tracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'tracker' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'tracker' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |         }
 45 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:26:27: warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 24 |             self.init(rawValue: value)
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
    |                           |- warning: static property 'fit' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'fit' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:27:27: warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 25 |         }
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
    |                           |- warning: static property 'resize' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resize' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:28:27: warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 26 |         public static let fit = ScalingMode(AVVideoScalingModeFit)
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
    |                           |- warning: static property 'resizeAspect' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspect' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/AudioVideoSettings.swift:29:27: warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
 16 | public struct VideoSettings: Codable {
 17 |
 18 |     public struct ScalingMode: RawRepresentable {
    |                   `- note: consider making struct 'ScalingMode' conform to the 'Sendable' protocol
 19 |         public let rawValue: String
 20 |         public init(rawValue: String) {
    :
 27 |         public static let resize = ScalingMode(AVVideoScalingModeResize)
 28 |         public static let resizeAspect = ScalingMode(AVVideoScalingModeResizeAspect)
 29 |         public static let resizeAspectFill = ScalingMode(AVVideoScalingModeResizeAspectFill)
    |                           |- warning: static property 'resizeAspectFill' is not concurrency-safe because non-'Sendable' type 'VideoSettings.ScalingMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resizeAspectFill' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     }
 31 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:29:27: warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     }
 21 |
 22 |     public struct Configurator {
    |                   `- note: consider making struct 'Configurator' conform to the 'Sendable' protocol
 23 |         /// Called when video connection estiblished or video device changed. Called before `captureSession.commitConfiguration`.
 24 |         public var videoConnectionConfigurator: (Camera, AVCaptureConnection) -> Void
    :
 27 |         public var videoDeviceConfigurator: (Camera, AVCaptureDevice) -> Void
 28 |
 29 |         public static let portraitFrontMirroredVideoOutput: Configurator = {
    |                           |- warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'portraitFrontMirroredVideoOutput' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |             var configurator = Configurator()
 31 |             configurator.videoConnectionConfigurator = { camera, connection in
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:389:6: error: stored properties cannot be marked unavailable with '@available'
387 |     internal var photoCaptureDelegateHandlers: [AnyObject] = []
388 |
389 |     @available(macOS, unavailable)
    |      `- error: stored properties cannot be marked unavailable with '@available'
390 |     internal var audioQueueCaptureSession: AudioQueueCaptureSession?
391 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:17:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | public class PlayerVideoOutput: NSObject {
 13 |
 14 |     public struct Configuration {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 15 |         public var sourcePixelBufferAttributes: [String: Any]?
 16 |         public var preferredFramesPerSecond: Int = 30
 17 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |         public init() {
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:63:30: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 61 |     }
 62 |
 63 |     private var displayLink: CADisplayLink?
    |                              `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 64 |
 65 |     private var playerItemStatusObservation: NSKeyValueObservation?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:208:52: error: 'CADisplayLink' is only available in macOS 14.0 or newer
201 |     }
202 |
203 |     private class DisplayLinkTarget {
    |                   `- note: add @available attribute to enclosing class
204 |         private let handler: () -> Void
205 |         init(_ handler: @escaping () -> Void) {
206 |             self.handler = handler
207 |         }
208 |         @objc func handleDisplayLinkUpdate(sender: CADisplayLink) {
    |                    |                               `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                    `- note: add @available attribute to enclosing instance method
209 |             self.handler()
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:15:14: warning: non-final class 'BlockBasedVideoCompositor' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 | }
 14 |
 15 | public class BlockBasedVideoCompositor: NSObject, VideoCompositorProtocol {
    |              `- warning: non-final class 'BlockBasedVideoCompositor' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 |
 17 |     public enum Error: Swift.Error {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:48:16: warning: stored property 'sourcePixelBufferAttributes' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
 46 |     }
 47 |
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
    |                `- warning: stored property 'sourcePixelBufferAttributes' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]?'; this is an error in the Swift 6 language mode
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:50:16: warning: stored property 'requiredPixelBufferAttributesForRenderContext' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]'; this is an error in the Swift 6 language mode
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
    |                `- warning: stored property 'requiredPixelBufferAttributesForRenderContext' of 'Sendable'-conforming class 'BlockBasedVideoCompositor' has non-sendable type '[String : Any]'; this is an error in the Swift 6 language mode
 51 |
 52 |     public func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext) {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/VideoComposition.swift:15:14: error: type 'BlockBasedVideoCompositor' does not conform to protocol 'AVVideoCompositing'
 13 | }
 14 |
 15 | public class BlockBasedVideoCompositor: NSObject, VideoCompositorProtocol {
    |              `- error: type 'BlockBasedVideoCompositor' does not conform to protocol 'AVVideoCompositing'
 16 |
 17 |     public enum Error: Swift.Error {
    :
 46 |     }
 47 |
 48 |     public let sourcePixelBufferAttributes: [String : Any]? = [kCVPixelBufferPixelFormatTypeKey as String: [kCVPixelFormatType_420YpCbCr8BiPlanarFullRange, kCVPixelFormatType_32BGRA, kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange]]
    |                `- note: candidate has non-matching type '[String : Any]?'
 49 |
 50 |     public let requiredPixelBufferAttributesForRenderContext: [String : Any] = [kCVPixelBufferPixelFormatTypeKey as String: kCVPixelFormatType_32BGRA]
    |                `- note: candidate has non-matching type '[String : Any]'
 51 |
 52 |     public func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext) {
AVFoundation.AVVideoCompositing:3:9: note: protocol requires property 'sourcePixelBufferAttributes' with type '[String : any Sendable]?'
 1 | @available(macOS 10.9, *)
 2 | public protocol AVVideoCompositing : NSObjectProtocol, Sendable {
 3 |     var sourcePixelBufferAttributes: [String : any Sendable]? { get }
   |         `- note: protocol requires property 'sourcePixelBufferAttributes' with type '[String : any Sendable]?'
 4 |     var requiredPixelBufferAttributesForRenderContext: [String : any Sendable] { get }
   |         `- note: protocol requires property 'requiredPixelBufferAttributesForRenderContext' with type '[String : any Sendable]'
 5 |     func renderContextChanged(_ newRenderContext: AVVideoCompositionRenderContext)
 6 |     func startRequest(_ asyncVideoCompositionRequest: AVAsynchronousVideoCompositionRequest)
[12/20] Compiling VideoIO DeviceOrientationTracker.swift
[13/20] Compiling VideoIO MovieFileType.swift
[14/20] Compiling VideoIO MovieMerger.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MovieMerger.swift:73:20: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 |         exportSession.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
72 |         exportSession.exportAsynchronously {
73 |             switch exportSession.status {
   |                    `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |             case .failed:
75 |                 if let error = exportSession.error {
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetExportSession : NSObject {
   |            `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MovieMerger.swift:76:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |             case .failed:
75 |                 if let error = exportSession.error {
76 |                     completion(error)
   |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |                 } else {
78 |                     assertionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:167:19: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
165 |         self.queue.async {
166 |             //no `errorLock` is required here because the `error` can only be assigned on `self.queue`
167 |             guard self.stopped == false, self.error == nil else {
    |                   `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
168 |                 return
169 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:174:41: warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |                 do {
173 |                     var videoInputs: [AVAssetWriterInput] = []
174 |                     for sampleBuffer in sampleBuffers {
    |                                         `- warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 |                         guard let formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer) else {
176 |                             throw RecorderError.cannotSetupVideoInputs
Swift.Array:1:23: note: generic struct 'Array' does not conform to the 'Sendable' protocol
1 | @frozen public struct Array<Element> : _DestructorSafeContainer {
  |                       `- note: generic struct 'Array' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:207:87: warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
205 |             }
206 |
207 |             guard self.videoInputs.count == self.configuration.numberOfVideoTracks && self.audioInputs.count == self.configuration.numberOfAudioTracks else {
    |                                                                                       `- warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
208 |                 return
209 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:277:19: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
275 |         self.queue.async {
276 |             //no `errorLock` is required here because the `error` can only be assigned on `self.queue`
277 |             guard self.stopped == false, self.error == nil else {
    |                   `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
278 |                 return
279 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:284:41: warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
282 |                 do {
283 |                     var audioInputs: [AVAssetWriterInput] = []
284 |                     for sampleBuffer in sampleBuffers {
    |                                         `- warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
285 |                         guard let formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer) else {
286 |                             throw RecorderError.cannotSetupAudioInputs
Swift.Array:1:23: note: generic struct 'Array' does not conform to the 'Sendable' protocol
1 | @frozen public struct Array<Element> : _DestructorSafeContainer {
  |                       `- note: generic struct 'Array' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:328:87: warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
326 |             }
327 |
328 |             guard self.videoInputs.count == self.configuration.numberOfVideoTracks && self.audioInputs.count == self.configuration.numberOfAudioTracks else {
    |                                                                                       `- warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
329 |                 return
330 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:346:16: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
344 |     public func cancelRecording(completion: @escaping () -> Void) {
345 |         self.queue.async {
346 |             if self.stopped {
    |                `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 DispatchQueue.main.async {
348 |                     completion()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:348:21: warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
346 |             if self.stopped {
347 |                 DispatchQueue.main.async {
348 |                     completion()
    |                     |- warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
349 |                 }
350 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:371:16: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
369 |     public func stopRecording(completion: @escaping (Error?) -> Void) {
370 |         self.queue.async {
371 |             if self.stopped {
    |                `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 |                 DispatchQueue.main.async {
373 |                     completion(RecorderError.alreadyStopped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:373:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
371 |             if self.stopped {
372 |                 DispatchQueue.main.async {
373 |                     completion(RecorderError.alreadyStopped)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
374 |                 }
375 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:398:36: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
396 |             if self.assetWriter.status == .writing {
397 |                 self.assetWriter.finishWriting {
398 |                     if let error = self.assetWriter.error {
    |                                    `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 |                         DispatchQueue.main.async {
400 |                             completion(error)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:400:29: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
398 |                     if let error = self.assetWriter.error {
399 |                         DispatchQueue.main.async {
400 |                             completion(error)
    |                             |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
401 |                         }
402 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:223:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
221 |                 self.lastVideoSampleTime = presentationTime
222 |                 DispatchQueue.main.async {
223 |                     self.sampleWritingSessionStartedHandler?(presentationTime)
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
224 |                 }
225 |             }
226 |
227 |             if self.assetWriter.status == .writing {
    |                     `- note: access can happen concurrently
228 |                 if self.videoInputs.map(\.isReadyForMoreMediaData).reduce(true, { $0 && $1 }) {
229 |                     for (index, sampleBuffer) in sampleBuffers.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:236:33: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
233 |                             let duration = presentationTime - startTime
234 |                             self._duration = duration
235 |                             DispatchQueue.main.async {
    |                                                      `- note: access can happen concurrently
236 |                                 self.durationChangedHandler?(duration)
    |                                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
237 |                             }
238 |                         } else {
[15/20] Compiling VideoIO MultitrackMovieRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MovieMerger.swift:73:20: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 |         exportSession.timeRange = CMTimeRange(start: .zero, duration: composition.duration)
72 |         exportSession.exportAsynchronously {
73 |             switch exportSession.status {
   |                    `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |             case .failed:
75 |                 if let error = exportSession.error {
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.7, *)
 2 | open class AVAssetExportSession : NSObject {
   |            `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
 3 |     @available(*, unavailable)
 4 |     public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MovieMerger.swift:76:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
74 |             case .failed:
75 |                 if let error = exportSession.error {
76 |                     completion(error)
   |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 |                 } else {
78 |                     assertionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:167:19: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
165 |         self.queue.async {
166 |             //no `errorLock` is required here because the `error` can only be assigned on `self.queue`
167 |             guard self.stopped == false, self.error == nil else {
    |                   `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
168 |                 return
169 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:174:41: warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |                 do {
173 |                     var videoInputs: [AVAssetWriterInput] = []
174 |                     for sampleBuffer in sampleBuffers {
    |                                         `- warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 |                         guard let formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer) else {
176 |                             throw RecorderError.cannotSetupVideoInputs
Swift.Array:1:23: note: generic struct 'Array' does not conform to the 'Sendable' protocol
1 | @frozen public struct Array<Element> : _DestructorSafeContainer {
  |                       `- note: generic struct 'Array' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:207:87: warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
205 |             }
206 |
207 |             guard self.videoInputs.count == self.configuration.numberOfVideoTracks && self.audioInputs.count == self.configuration.numberOfAudioTracks else {
    |                                                                                       `- warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
208 |                 return
209 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:277:19: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
275 |         self.queue.async {
276 |             //no `errorLock` is required here because the `error` can only be assigned on `self.queue`
277 |             guard self.stopped == false, self.error == nil else {
    |                   `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
278 |                 return
279 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:284:41: warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
282 |                 do {
283 |                     var audioInputs: [AVAssetWriterInput] = []
284 |                     for sampleBuffer in sampleBuffers {
    |                                         `- warning: capture of 'sampleBuffers' with non-sendable type '[CMSampleBuffer]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
285 |                         guard let formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer) else {
286 |                             throw RecorderError.cannotSetupAudioInputs
Swift.Array:1:23: note: generic struct 'Array' does not conform to the 'Sendable' protocol
1 | @frozen public struct Array<Element> : _DestructorSafeContainer {
  |                       `- note: generic struct 'Array' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:328:87: warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
326 |             }
327 |
328 |             guard self.videoInputs.count == self.configuration.numberOfVideoTracks && self.audioInputs.count == self.configuration.numberOfAudioTracks else {
    |                                                                                       `- warning: implicit capture of 'self' requires that 'MultitrackMovieRecorder' conforms to `Sendable`; this is an error in the Swift 6 language mode
329 |                 return
330 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:346:16: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
344 |     public func cancelRecording(completion: @escaping () -> Void) {
345 |         self.queue.async {
346 |             if self.stopped {
    |                `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
347 |                 DispatchQueue.main.async {
348 |                     completion()
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:348:21: warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
346 |             if self.stopped {
347 |                 DispatchQueue.main.async {
348 |                     completion()
    |                     |- warning: capture of 'completion' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
349 |                 }
350 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:371:16: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
369 |     public func stopRecording(completion: @escaping (Error?) -> Void) {
370 |         self.queue.async {
371 |             if self.stopped {
    |                `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 |                 DispatchQueue.main.async {
373 |                     completion(RecorderError.alreadyStopped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:373:21: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
371 |             if self.stopped {
372 |                 DispatchQueue.main.async {
373 |                     completion(RecorderError.alreadyStopped)
    |                     |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
374 |                 }
375 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:398:36: warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import CoreImage
  3 |
  4 | public final class MultitrackMovieRecorder {
    |                    `- note: class 'MultitrackMovieRecorder' does not conform to the 'Sendable' protocol
  5 |
  6 |     public enum RecorderError: LocalizedError {
    :
396 |             if self.assetWriter.status == .writing {
397 |                 self.assetWriter.finishWriting {
398 |                     if let error = self.assetWriter.error {
    |                                    `- warning: capture of 'self' with non-sendable type 'MultitrackMovieRecorder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
399 |                         DispatchQueue.main.async {
400 |                             completion(error)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:400:29: warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
398 |                     if let error = self.assetWriter.error {
399 |                         DispatchQueue.main.async {
400 |                             completion(error)
    |                             |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
401 |                         }
402 |                     } else {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:223:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
221 |                 self.lastVideoSampleTime = presentationTime
222 |                 DispatchQueue.main.async {
223 |                     self.sampleWritingSessionStartedHandler?(presentationTime)
    |                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
224 |                 }
225 |             }
226 |
227 |             if self.assetWriter.status == .writing {
    |                     `- note: access can happen concurrently
228 |                 if self.videoInputs.map(\.isReadyForMoreMediaData).reduce(true, { $0 && $1 }) {
229 |                     for (index, sampleBuffer) in sampleBuffers.enumerated() {
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/MultitrackMovieRecorder.swift:236:33: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
233 |                             let duration = presentationTime - startTime
234 |                             self._duration = duration
235 |                             DispatchQueue.main.async {
    |                                                      `- note: access can happen concurrently
236 |                                 self.durationChangedHandler?(duration)
    |                                 |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
237 |                             }
238 |                         } else {
[16/20] Compiling VideoIO Camera+PhotoCapture.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:29:27: warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     }
 21 |
 22 |     public struct Configurator {
    |                   `- note: consider making struct 'Configurator' conform to the 'Sendable' protocol
 23 |         /// Called when video connection estiblished or video device changed. Called before `captureSession.commitConfiguration`.
 24 |         public var videoConnectionConfigurator: (Camera, AVCaptureConnection) -> Void
    :
 27 |         public var videoDeviceConfigurator: (Camera, AVCaptureDevice) -> Void
 28 |
 29 |         public static let portraitFrontMirroredVideoOutput: Configurator = {
    |                           |- warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'portraitFrontMirroredVideoOutput' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |             var configurator = Configurator()
 31 |             configurator.videoConnectionConfigurator = { camera, connection in
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:389:6: error: stored properties cannot be marked unavailable with '@available'
387 |     internal var photoCaptureDelegateHandlers: [AnyObject] = []
388 |
389 |     @available(macOS, unavailable)
    |      `- error: stored properties cannot be marked unavailable with '@available'
390 |     internal var audioQueueCaptureSession: AudioQueueCaptureSession?
391 | }
[17/20] Compiling VideoIO Camera.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:29:27: warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     }
 21 |
 22 |     public struct Configurator {
    |                   `- note: consider making struct 'Configurator' conform to the 'Sendable' protocol
 23 |         /// Called when video connection estiblished or video device changed. Called before `captureSession.commitConfiguration`.
 24 |         public var videoConnectionConfigurator: (Camera, AVCaptureConnection) -> Void
    :
 27 |         public var videoDeviceConfigurator: (Camera, AVCaptureDevice) -> Void
 28 |
 29 |         public static let portraitFrontMirroredVideoOutput: Configurator = {
    |                           |- warning: static property 'portraitFrontMirroredVideoOutput' is not concurrency-safe because non-'Sendable' type 'Camera.Configurator' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'portraitFrontMirroredVideoOutput' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |             var configurator = Configurator()
 31 |             configurator.videoConnectionConfigurator = { camera, connection in
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/Camera.swift:389:6: error: stored properties cannot be marked unavailable with '@available'
387 |     internal var photoCaptureDelegateHandlers: [AnyObject] = []
388 |
389 |     @available(macOS, unavailable)
    |      `- error: stored properties cannot be marked unavailable with '@available'
390 |     internal var audioQueueCaptureSession: AudioQueueCaptureSession?
391 | }
[18/20] Compiling VideoIO PlayerVideoOutput.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:17:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | public class PlayerVideoOutput: NSObject {
 13 |
 14 |     public struct Configuration {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 15 |         public var sourcePixelBufferAttributes: [String: Any]?
 16 |         public var preferredFramesPerSecond: Int = 30
 17 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |         public init() {
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:63:30: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 61 |     }
 62 |
 63 |     private var displayLink: CADisplayLink?
    |                              `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 64 |
 65 |     private var playerItemStatusObservation: NSKeyValueObservation?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:208:52: error: 'CADisplayLink' is only available in macOS 14.0 or newer
201 |     }
202 |
203 |     private class DisplayLinkTarget {
    |                   `- note: add @available attribute to enclosing class
204 |         private let handler: () -> Void
205 |         init(_ handler: @escaping () -> Void) {
206 |             self.handler = handler
207 |         }
208 |         @objc func handleDisplayLinkUpdate(sender: CADisplayLink) {
    |                    |                               `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                    `- note: add @available attribute to enclosing instance method
209 |             self.handler()
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:100:36: warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |     private func attachCurrentPlayer() {
 99 |         self.playerItemObservation = self.player?.observe(\.currentItem, options: [.initial, .new], changeHandler: { [weak self] (player, change) in
100 |             guard let strongSelf = self, strongSelf.player == player else {
    |                                    `- warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |                 return
102 |             }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:111:21: warning: main actor-isolated property 'outputs' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
105 |     }
106 |
107 |     private func updatePlayerItem(_ playerItem: AVPlayerItem?) {
    |                  `- note: add '@MainActor' to make instance method 'updatePlayerItem' part of global actor 'MainActor'
108 |         self.displayLink?.invalidate()
109 |         self.displayLink = nil
110 |         if let output = self.playerItemOutput, let item = self.playerItem {
111 |             if item.outputs.contains(output) {
    |                     `- warning: main actor-isolated property 'outputs' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 |                 item.remove(output)
113 |             }
AVFoundation.AVPlayerItem:13:25: note: property declared here
11 |     open func removeOutput(_ output: AVPlayerItemOutput)
12 |     @available(macOS 10.8, *)
13 |     @MainActor open var outputs: [AVPlayerItemOutput] { get }
   |                         `- note: property declared here
14 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:112:22: warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
105 |     }
106 |
107 |     private func updatePlayerItem(_ playerItem: AVPlayerItem?) {
    |                  `- note: add '@MainActor' to make instance method 'updatePlayerItem' part of global actor 'MainActor'
108 |         self.displayLink?.invalidate()
109 |         self.displayLink = nil
110 |         if let output = self.playerItemOutput, let item = self.playerItem {
111 |             if item.outputs.contains(output) {
112 |                 item.remove(output)
    |                      `- warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
113 |             }
114 |         }
AVFoundation.AVPlayerItem:8:26: note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 6 |     open func addOutput(_ output: AVPlayerItemOutput)
 7 |     @available(macOS 10.8, *)
 8 |     @MainActor open func remove(_ output: AVPlayerItemOutput)
   |                          `- note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 9 |     @available(macOS 10.8, *)
10 |     @available(swift, obsoleted: 3, renamed: "remove(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:121:36: warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |         self.playerItem = playerItem
120 |         self.playerItemStatusObservation = self.playerItem?.observe(\.status, options: [.initial,.new], changeHandler: { [weak self] item, change in
121 |             guard let strongSelf = self else {
    |                                    `- warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                 return
123 |             }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:136:33: warning: main actor-isolated property 'asset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
128 |     }
129 |
130 |     private func handleReadyToPlay() {
    |                  `- note: add '@MainActor' to make instance method 'handleReadyToPlay()' part of global actor 'MainActor'
131 |         guard let _ = self.player, let playerItem = self.playerItem else {
132 |             return
    :
134 |
135 |         var hasVideoTrack: Bool = false
136 |         for track in playerItem.asset.tracks {
    |                                 `- warning: main actor-isolated property 'asset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
137 |             if track.mediaType == .video {
138 |                 hasVideoTrack = true
AVFoundation.AVPlayerItem:2:25: note: property declared here
 1 | extension AVPlayerItem {
 2 |     @MainActor open var asset: AVAsset { get }
   |                         `- note: property declared here
 3 |     nonisolated open var tracks: [AVPlayerItemTrack] { get }
 4 |     @available(macOS 10.7, *)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:150:20: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |     }
129 |
130 |     private func handleReadyToPlay() {
    |                  `- note: add '@MainActor' to make instance method 'handleReadyToPlay()' part of global actor 'MainActor'
131 |         guard let _ = self.player, let playerItem = self.playerItem else {
132 |             return
    :
148 |         let output = AVPlayerItemVideoOutput(pixelBufferAttributes: self.configuration.sourcePixelBufferAttributes)
149 |         output.setDelegate(self, queue: .main)
150 |         playerItem.add(output)
    |                    `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
151 |         self.playerItemOutput = output
152 |
AVFoundation.AVPlayerItem:3:15: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 1 | extension AVPlayerItem {
 2 |     @available(macOS 10.8, *)
 3 |     open func add(_ output: AVPlayerItemOutput)
   |               `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 4 |     @available(macOS 10.8, *)
 5 |     @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:161:31: error: 'CADisplayLink' is only available in macOS 14.0 or newer
154 |     }
155 |
156 |     private func setupDisplayLink() {
    |                  `- note: add @available attribute to enclosing instance method
157 |         self.displayLink?.invalidate()
158 |         self.displayLink = nil
159 |
160 |         if self.playerItemOutput != nil {
161 |             let displayLink = CADisplayLink(target: DisplayLinkTarget({ [weak self] in
    |                               |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                               `- note: add 'if #available' version check
162 |                 self?.handleUpdate()
163 |             }), selector: #selector(DisplayLinkTarget.handleDisplayLinkUpdate(sender:)))
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:171:45: warning: main actor-isolated property 'rate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
168 |     }
169 |
170 |     private func handleUpdate() {
    |                  `- note: add '@MainActor' to make instance method 'handleUpdate()' part of global actor 'MainActor'
171 |         if let player = self.player, player.rate != 0 {
    |                                             `- warning: main actor-isolated property 'rate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
172 |             self.forceUpdate = true
173 |         }
AVFoundation.AVPlayer:2:25: note: property declared here
 1 | extension AVPlayer {
 2 |     @MainActor open var rate: Float { get set }
   |                         `- note: property declared here
 3 |     @available(macOS 13.0, *)
 4 |     nonisolated open var defaultRate: Float { get set }
[19/20] Compiling VideoIO SampleBufferUtilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:17:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 12 | public class PlayerVideoOutput: NSObject {
 13 |
 14 |     public struct Configuration {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 15 |         public var sourcePixelBufferAttributes: [String: Any]?
 16 |         public var preferredFramesPerSecond: Int = 30
 17 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PlayerVideoOutput.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |         public init() {
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:63:30: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 61 |     }
 62 |
 63 |     private var displayLink: CADisplayLink?
    |                              `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 64 |
 65 |     private var playerItemStatusObservation: NSKeyValueObservation?
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:208:52: error: 'CADisplayLink' is only available in macOS 14.0 or newer
201 |     }
202 |
203 |     private class DisplayLinkTarget {
    |                   `- note: add @available attribute to enclosing class
204 |         private let handler: () -> Void
205 |         init(_ handler: @escaping () -> Void) {
206 |             self.handler = handler
207 |         }
208 |         @objc func handleDisplayLinkUpdate(sender: CADisplayLink) {
    |                    |                               `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                    `- note: add @available attribute to enclosing instance method
209 |             self.handler()
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:100:36: warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |     private func attachCurrentPlayer() {
 99 |         self.playerItemObservation = self.player?.observe(\.currentItem, options: [.initial, .new], changeHandler: { [weak self] (player, change) in
100 |             guard let strongSelf = self, strongSelf.player == player else {
    |                                    `- warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
101 |                 return
102 |             }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:111:21: warning: main actor-isolated property 'outputs' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
105 |     }
106 |
107 |     private func updatePlayerItem(_ playerItem: AVPlayerItem?) {
    |                  `- note: add '@MainActor' to make instance method 'updatePlayerItem' part of global actor 'MainActor'
108 |         self.displayLink?.invalidate()
109 |         self.displayLink = nil
110 |         if let output = self.playerItemOutput, let item = self.playerItem {
111 |             if item.outputs.contains(output) {
    |                     `- warning: main actor-isolated property 'outputs' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
112 |                 item.remove(output)
113 |             }
AVFoundation.AVPlayerItem:13:25: note: property declared here
11 |     open func removeOutput(_ output: AVPlayerItemOutput)
12 |     @available(macOS 10.8, *)
13 |     @MainActor open var outputs: [AVPlayerItemOutput] { get }
   |                         `- note: property declared here
14 | }
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:112:22: warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
105 |     }
106 |
107 |     private func updatePlayerItem(_ playerItem: AVPlayerItem?) {
    |                  `- note: add '@MainActor' to make instance method 'updatePlayerItem' part of global actor 'MainActor'
108 |         self.displayLink?.invalidate()
109 |         self.displayLink = nil
110 |         if let output = self.playerItemOutput, let item = self.playerItem {
111 |             if item.outputs.contains(output) {
112 |                 item.remove(output)
    |                      `- warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
113 |             }
114 |         }
AVFoundation.AVPlayerItem:8:26: note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 6 |     open func addOutput(_ output: AVPlayerItemOutput)
 7 |     @available(macOS 10.8, *)
 8 |     @MainActor open func remove(_ output: AVPlayerItemOutput)
   |                          `- note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 9 |     @available(macOS 10.8, *)
10 |     @available(swift, obsoleted: 3, renamed: "remove(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:121:36: warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |         self.playerItem = playerItem
120 |         self.playerItemStatusObservation = self.playerItem?.observe(\.status, options: [.initial,.new], changeHandler: { [weak self] item, change in
121 |             guard let strongSelf = self else {
    |                                    `- warning: capture of 'self' with non-sendable type 'PlayerVideoOutput?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                 return
123 |             }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:136:33: warning: main actor-isolated property 'asset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
128 |     }
129 |
130 |     private func handleReadyToPlay() {
    |                  `- note: add '@MainActor' to make instance method 'handleReadyToPlay()' part of global actor 'MainActor'
131 |         guard let _ = self.player, let playerItem = self.playerItem else {
132 |             return
    :
134 |
135 |         var hasVideoTrack: Bool = false
136 |         for track in playerItem.asset.tracks {
    |                                 `- warning: main actor-isolated property 'asset' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
137 |             if track.mediaType == .video {
138 |                 hasVideoTrack = true
AVFoundation.AVPlayerItem:2:25: note: property declared here
 1 | extension AVPlayerItem {
 2 |     @MainActor open var asset: AVAsset { get }
   |                         `- note: property declared here
 3 |     nonisolated open var tracks: [AVPlayerItemTrack] { get }
 4 |     @available(macOS 10.7, *)
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:150:20: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |     }
129 |
130 |     private func handleReadyToPlay() {
    |                  `- note: add '@MainActor' to make instance method 'handleReadyToPlay()' part of global actor 'MainActor'
131 |         guard let _ = self.player, let playerItem = self.playerItem else {
132 |             return
    :
148 |         let output = AVPlayerItemVideoOutput(pixelBufferAttributes: self.configuration.sourcePixelBufferAttributes)
149 |         output.setDelegate(self, queue: .main)
150 |         playerItem.add(output)
    |                    `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
151 |         self.playerItemOutput = output
152 |
AVFoundation.AVPlayerItem:3:15: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 1 | extension AVPlayerItem {
 2 |     @available(macOS 10.8, *)
 3 |     open func add(_ output: AVPlayerItemOutput)
   |               `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 4 |     @available(macOS 10.8, *)
 5 |     @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:161:31: error: 'CADisplayLink' is only available in macOS 14.0 or newer
154 |     }
155 |
156 |     private func setupDisplayLink() {
    |                  `- note: add @available attribute to enclosing instance method
157 |         self.displayLink?.invalidate()
158 |         self.displayLink = nil
159 |
160 |         if self.playerItemOutput != nil {
161 |             let displayLink = CADisplayLink(target: DisplayLinkTarget({ [weak self] in
    |                               |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                               `- note: add 'if #available' version check
162 |                 self?.handleUpdate()
163 |             }), selector: #selector(DisplayLinkTarget.handleDisplayLinkUpdate(sender:)))
/Users/admin/builder/spi-builder-workspace/Sources/VideoIO/PlayerVideoOutput.swift:171:45: warning: main actor-isolated property 'rate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
168 |     }
169 |
170 |     private func handleUpdate() {
    |                  `- note: add '@MainActor' to make instance method 'handleUpdate()' part of global actor 'MainActor'
171 |         if let player = self.player, player.rate != 0 {
    |                                             `- warning: main actor-isolated property 'rate' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
172 |             self.forceUpdate = true
173 |         }
AVFoundation.AVPlayer:2:25: note: property declared here
 1 | extension AVPlayer {
 2 |     @MainActor open var rate: Float { get set }
   |                         `- note: property declared here
 3 |     @available(macOS 13.0, *)
 4 |     nonisolated open var defaultRate: Float { get set }
[20/20] Compiling VideoIO VideoOrientationUtilities.swift
BUILD FAILURE 6.0 macosSpm