Build Information
Successful build of kubrick with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 7
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krad/kubrick.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/krad/kubrick
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 41b1abc Not really happy with this compromise but it will do for pre-processing on macOS. Super frustrated with CMSampleBuffer behavior
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
41b1abcb79d58c9e70379bb314187c20ebabcf0f
SUCCESS checkout https://github.com/krad/kubrick.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/krad/kubrick.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/16] Compiling grip StreamType.swift
[5/16] Compiling grip VideoParamSetPacket.swift
[6/16] Compiling grip StreamTypePacket.swift
[7/16] Compiling grip VideoSamplePacket.swift
[8/16] Compiling grip VideoDimensionsPacket.swift
[9/16] Compiling grip Packets.swift
[10/17] Compiling grip NALU.swift
[11/17] Compiling grip AudioSamplePacket.swift
[12/17] Emitting module grip
[13/17] Compiling grip BinaryEncodable.swift
[14/17] Compiling grip BinaryEncodableExtensions.swift
[15/17] Compiling grip CompressedSample.swift
[16/17] Compiling grip ByteHelpers.swift
[17/17] Compiling grip Writeable.swift
[18/47] Emitting module kubrick
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20:9: warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
18 | import AVFoundation
19 |
20 | var makeInput: MakeMediaDeviceInput = { src, onCreate in
| |- warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeInput' 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
21 | let input = try AVCaptureInput.makeInput(device: src)
22 | onCreate(input)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
14 | import AVFoundation
15 |
16 | var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
| |- warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeOutput' 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
17 | switch src.type {
18 | case .video?:
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
37 |
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
| `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
| `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
| `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
| `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
43 | case inputMissingPorts(mediaType: MediaType)
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
| `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
5 | }
6 |
7 | public enum MediaType {
| `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
8 | case video
9 | case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[19/50] Compiling kubrick EndpointSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 |
5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
6 | public final class FileEndpoint: Writeable, Endable {
| `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
7 |
8 | public var onEnd: EndedCallback?
:
23 | public func write(_ data: Data) {
24 | self.writeQ.async {
25 | if self.continueWriting {
| `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | self.fileHandle.write(data)
27 | }
[20/50] Compiling kubrick FileEndpoint.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 |
5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
6 | public final class FileEndpoint: Writeable, Endable {
| `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
7 |
8 | public var onEnd: EndedCallback?
:
23 | public func write(_ data: Data) {
24 | self.writeQ.async {
25 | if self.continueWriting {
| `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | self.fileHandle.write(data)
27 | }
[21/50] Compiling kubrick H264EncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/FileEndpoint.swift:25:16: warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
4 |
5 | /// Endpoint that can be set on an AVStream object that will stream a/v sample data into a file
6 | public final class FileEndpoint: Writeable, Endable {
| `- note: class 'FileEndpoint' does not conform to the 'Sendable' protocol
7 |
8 | public var onEnd: EndedCallback?
:
23 | public func write(_ data: Data) {
24 | self.writeQ.async {
25 | if self.continueWriting {
| `- warning: capture of 'self' with non-sendable type 'FileEndpoint' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 | self.fileHandle.write(data)
27 | }
[22/50] Compiling kubrick VideoEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
24 |
25 | public func remove(at index: Int) {
26 | q.async(flags: .barrier) { self.array.remove(at: index) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
28 |
29 | public func removeFirst(n: Int) {
30 | q.async(flags: .barrier) { self.array.removeFirst(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
32 |
33 | public func removeLast() {
34 | q.async(flags: .barrier) { self.array.removeLast() }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
36 |
37 | public func removeLast(n: Int) {
38 | q.async(flags: .barrier) { self.array.removeLast(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
[23/50] Compiling kubrick Bytes.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
24 |
25 | public func remove(at index: Int) {
26 | q.async(flags: .barrier) { self.array.remove(at: index) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
28 |
29 | public func removeFirst(n: Int) {
30 | q.async(flags: .barrier) { self.array.removeFirst(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
32 |
33 | public func removeLast() {
34 | q.async(flags: .barrier) { self.array.removeLast() }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
36 |
37 | public func removeLast(n: Int) {
38 | q.async(flags: .barrier) { self.array.removeLast(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
[24/50] Compiling kubrick Rational.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
24 |
25 | public func remove(at index: Int) {
26 | q.async(flags: .barrier) { self.array.remove(at: index) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
28 |
29 | public func removeFirst(n: Int) {
30 | q.async(flags: .barrier) { self.array.removeFirst(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
32 |
33 | public func removeLast() {
34 | q.async(flags: .barrier) { self.array.removeLast() }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
36 |
37 | public func removeLast(n: Int) {
38 | q.async(flags: .barrier) { self.array.removeLast(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
[25/50] Compiling kubrick ThreadSafeArray.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
5 |
6 | extension Rational: Hashable {
7 | public var hashValue: Int {
| `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead
8 | return Int(self.numerator ^ Int64(self.denominator))
9 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:18:54: warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
16 |
17 | public func append(_ newElement: T) {
18 | q.async(flags: .barrier) { self.array.append(newElement) }
| `- warning: capture of 'newElement' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 | }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:22:66: warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
20 |
21 | public func append(contentsOf: [T]) {
22 | q.async(flags: .barrier) { self.array.append(contentsOf: contentsOf) }
| `- warning: capture of 'contentsOf' with non-sendable type '[T]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:26:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
24 |
25 | public func remove(at index: Int) {
26 | q.async(flags: .barrier) { self.array.remove(at: index) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | }
28 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:30:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
28 |
29 | public func removeFirst(n: Int) {
30 | q.async(flags: .barrier) { self.array.removeFirst(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 | }
32 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:34:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
32 |
33 | public func removeLast() {
34 | q.async(flags: .barrier) { self.array.removeLast() }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:38:36: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
36 |
37 | public func removeLast(n: Int) {
38 | q.async(flags: .barrier) { self.array.removeLast(n) }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:40: warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: generic class 'ThreadSafeArray' does not conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'self' with non-sendable type 'ThreadSafeArray<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift:75:60: warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public class ThreadSafeArray<T>: Collection {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | public var startIndex: Int = 0
:
73 | public subscript(index: Int) -> T {
74 | set {
75 | q.async(flags: .barrier) { self.array[index] = newValue }
| `- warning: capture of 'newValue' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
76 | }
77 |
[26/50] Compiling kubrick MediaDeviceReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class AudioReader: NSObject, MediaDeviceReader {
| `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
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 | }
[27/50] Compiling kubrick Microphone.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class AudioReader: NSObject, MediaDeviceReader {
| `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
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 | }
[28/50] Compiling kubrick AudioReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:64: warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class AudioReader: NSObject, MediaDeviceReader {
| `- note: class 'AudioReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'self' with non-sendable type 'AudioReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:26:90: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident, sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | self.push(input: sample)
28 | }
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 | }
[29/50] Compiling kubrick MuxerSink.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
[30/50] Compiling kubrick PrettyPortraitSink.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
[31/50] Compiling kubrick Sink.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
[32/50] Compiling kubrick MediaDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20:9: warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
18 | import AVFoundation
19 |
20 | var makeInput: MakeMediaDeviceInput = { src, onCreate in
| |- warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeInput' 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
21 | let input = try AVCaptureInput.makeInput(device: src)
22 | onCreate(input)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
14 | import AVFoundation
15 |
16 | var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
| |- warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeOutput' 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
17 | switch src.type {
18 | case .video?:
[33/50] Compiling kubrick MediaDeviceInput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20:9: warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
18 | import AVFoundation
19 |
20 | var makeInput: MakeMediaDeviceInput = { src, onCreate in
| |- warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeInput' 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
21 | let input = try AVCaptureInput.makeInput(device: src)
22 | onCreate(input)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
14 | import AVFoundation
15 |
16 | var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
| |- warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeOutput' 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
17 | switch src.type {
18 | case .video?:
[34/50] Compiling kubrick MediaDeviceOutput.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift:20:9: warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
18 | import AVFoundation
19 |
20 | var makeInput: MakeMediaDeviceInput = { src, onCreate in
| |- warning: var 'makeInput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeInput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeInput' 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
21 | let input = try AVCaptureInput.makeInput(device: src)
22 | onCreate(input)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift:16:9: warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
14 | import AVFoundation
15 |
16 | var makeOutput: MakeMediaDeviceOutput = { src, onCreate in
| |- warning: var 'makeOutput' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'makeOutput' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'makeOutput' 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
17 | switch src.type {
18 | case .video?:
[35/50] Compiling kubrick VideoReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class VideoReader: NSObject, MediaDeviceReader {
| `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
| `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | sampleBuffer: sampleBuffer)
28 | self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
27 | sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 | self.push(input: sample)
29 | }
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 | }
[36/50] Compiling kubrick MediaFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class VideoReader: NSObject, MediaDeviceReader {
| `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
| `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | sampleBuffer: sampleBuffer)
28 | self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
27 | sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 | self.push(input: sample)
29 | }
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 | }
[37/50] Compiling kubrick Sample.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:26:64: warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Dispatch
2 |
3 | public class VideoReader: NSObject, MediaDeviceReader {
| `- note: class 'VideoReader' does not conform to the 'Sendable' protocol
4 |
5 | public var ident: MediaSourceIdentifier
:
24 | {
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
| `- warning: capture of 'self' with non-sendable type 'VideoReader' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 | sampleBuffer: sampleBuffer)
28 | self.push(input: sample)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:27:60: warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 | self.q.async {
26 | let sample = SampleTransport(sourceIdentifier: self.ident,
27 | sampleBuffer: sampleBuffer)
| `- warning: capture of 'sampleBuffer' with non-sendable type 'CMSampleBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 | self.push(input: sample)
29 | }
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 | }
[38/50] Compiling kubrick Camera.swift
[39/50] Compiling kubrick Clock.swift
[40/50] Compiling kubrick Display.swift
[41/50] Compiling kubrick SampleTransport.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
37 |
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
| `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
| `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
| `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
| `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
43 | case inputMissingPorts(mediaType: MediaType)
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
| `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
5 | }
6 |
7 | public enum MediaType {
| `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
8 | case video
9 | case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[42/50] Compiling kubrick Session.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
37 |
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
| `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
| `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
| `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
| `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
43 | case inputMissingPorts(mediaType: MediaType)
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
| `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
5 | }
6 |
7 | public enum MediaType {
| `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
8 | case video
9 | case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[43/50] Compiling kubrick AACEncoderSink.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:39:10: warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
37 |
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
| `- warning: associated value 'couldNotMakeConnection(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:40:10: warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
38 | public enum CaptureSessionError: Error {
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
| `- warning: associated value 'missingInput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:41:10: warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
39 | case couldNotMakeConnection(device: MediaDevice)
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
| `- warning: associated value 'missingOutput(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:42:10: warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
40 | case missingInput(device: MediaDevice)
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
| `- warning: associated value 'missingMediaType(device:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'any MediaDevice'; this is an error in the Swift 6 language mode
43 | case inputMissingPorts(mediaType: MediaType)
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:4:17: note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
2 | public typealias MediaDeviceOutputClosure = (MediaDeviceOutput) -> Void
3 |
4 | public protocol MediaDevice {
| `- note: protocol 'MediaDevice' does not conform to the 'Sendable' protocol
5 | var source: Source { get }
6 | var input: MediaDeviceInput? { get set }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:43:10: warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
41 | case missingOutput(device: MediaDevice)
42 | case missingMediaType(device: MediaDevice)
43 | case inputMissingPorts(mediaType: MediaType)
| `- warning: associated value 'inputMissingPorts(mediaType:)' of 'Sendable'-conforming enum 'CaptureSessionError' has non-sendable type 'MediaType'; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/Source.swift:7:13: note: consider making enum 'MediaType' conform to the 'Sendable' protocol
5 | }
6 |
7 | public enum MediaType {
| `- note: consider making enum 'MediaType' conform to the 'Sendable' protocol
8 | case video
9 | case audio
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
[44/50] Compiling kubrick AACEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import CoreMedia
7 |
8 | internal class AACEncoder: AudioEncoder {
| `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
9 |
10 | public var configured: Bool = false
:
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
1 | public protocol Sample {
| `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
2 | var bytes: [UInt8] { get }
3 | var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | numberOfSamples: sample.numberOfSamples)
123 | {
124 | onComplete(newSample)
| |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') 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'
125 | }
126 | case -1:
[45/50] Compiling kubrick AudioEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import CoreMedia
7 |
8 | internal class AACEncoder: AudioEncoder {
| `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
9 |
10 | public var configured: Bool = false
:
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
1 | public protocol Sample {
| `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
2 | var bytes: [UInt8] { get }
3 | var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | numberOfSamples: sample.numberOfSamples)
123 | {
124 | onComplete(newSample)
| |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') 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'
125 | }
126 | case -1:
[46/50] Compiling kubrick H264Encoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import CoreMedia
7 |
8 | internal class AACEncoder: AudioEncoder {
| `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
9 |
10 | public var configured: Bool = false
:
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
1 | public protocol Sample {
| `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
2 | var bytes: [UInt8] { get }
3 | var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | numberOfSamples: sample.numberOfSamples)
123 | {
124 | onComplete(newSample)
| |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') 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'
125 | }
126 | case -1:
[47/50] Compiling kubrick H264Settings.swift
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:17: warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import CoreMedia
7 |
8 | internal class AACEncoder: AudioEncoder {
| `- note: class 'AACEncoder' does not conform to the 'Sendable' protocol
9 |
10 | public var configured: Bool = false
:
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'self' with non-sendable type 'AACEncoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:81:62: warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
79 | func encode(_ sample: Sample, onComplete: @escaping AudioEncodedCallback) {
80 | self.encoderQ.async {
81 | if !self.configured { do { try self.setup(using: sample) } catch { } }
| `- warning: capture of 'sample' with non-sendable type 'any Sample' in a `@Sendable` closure; this is an error in the Swift 6 language mode
82 | guard let encoder = self.audioConverter,
83 | sample.bytes.count > 0 else { return }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift:1:17: note: protocol 'Sample' does not conform to the 'Sendable' protocol
1 | public protocol Sample {
| `- note: protocol 'Sample' does not conform to the 'Sendable' protocol
2 | var bytes: [UInt8] { get }
3 | var pts: Rational { get }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift:124:21: warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | numberOfSamples: sample.numberOfSamples)
123 | {
124 | onComplete(newSample)
| |- warning: capture of 'onComplete' with non-sendable type 'AudioEncodedCallback' (aka '(any Sample) -> ()') 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'
125 | }
126 | case -1:
[48/50] Compiling kubrick AVStream.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public class AVStream: AVStreamProtocol {
| `- note: class 'AVStream' does not conform to the 'Sendable' protocol
26 |
27 | public var session: CaptureSession
:
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| `- warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| `- warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
163 | }
164 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/EndpointSink.swift:4:14: note: class 'EndpointSink' does not conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public class EndpointSink: Sink<BinaryEncodable> {
| `- note: class 'EndpointSink' does not conform to the 'Sendable' protocol
5 |
6 | var endpoint: Writeable
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| |- 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
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 | }
164 | }
[49/50] Compiling kubrick Source.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public class AVStream: AVStreamProtocol {
| `- note: class 'AVStream' does not conform to the 'Sendable' protocol
26 |
27 | public var session: CaptureSession
:
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| `- warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| `- warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
163 | }
164 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/EndpointSink.swift:4:14: note: class 'EndpointSink' does not conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public class EndpointSink: Sink<BinaryEncodable> {
| `- note: class 'EndpointSink' does not conform to the 'Sendable' protocol
5 |
6 | var endpoint: Writeable
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| |- 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
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 | }
164 | }
[50/50] Compiling kubrick SourceDiscoverer.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:21:23: warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
19 | }
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
| |- warning: static property 'video' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'video' 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
22 | public static let audio = StreamType(rawValue: 1 << 1)
23 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/grip/Sources/grip/StreamType.swift:22:23: warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | public struct StreamType: OptionSet {
| `- note: consider making struct 'StreamType' conform to the 'Sendable' protocol
4 | public var rawValue: UInt8
5 |
:
20 |
21 | public static let video = StreamType(rawValue: 1 << 0)
22 | public static let audio = StreamType(rawValue: 1 << 1)
| |- warning: static property 'audio' is not concurrency-safe because non-'Sendable' type 'StreamType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'audio' 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
23 |
24 | public func supported(_ sample: CompressedSample) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public class AVStream: AVStreamProtocol {
| `- note: class 'AVStream' does not conform to the 'Sendable' protocol
26 |
27 | public var session: CaptureSession
:
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| `- warning: capture of 'self' with non-sendable type 'AVStream' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| `- warning: capture of 'sink' with non-sendable type 'EndpointSink' in a `@Sendable` closure; this is an error in the Swift 6 language mode
163 | }
164 | }
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sinks/EndpointSink.swift:4:14: note: class 'EndpointSink' does not conform to the 'Sendable' protocol
2 | import Foundation
3 |
4 | public class EndpointSink: Sink<BinaryEncodable> {
| `- note: class 'EndpointSink' does not conform to the 'Sendable' protocol
5 |
6 | var endpoint: Writeable
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:47:14: warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
45 |
46 | public class CaptureSession: Session {
47 | open let base = Base()
| `- warning: 'let' properties are implicitly 'final'; use 'public' instead of 'open'
48 |
49 | public private(set) var inputs: [MediaDeviceInput] = []
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:147:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
145 | DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
146 | // If we have a video format, build the config packets and send them
147 | if let videoFormat = self.muxSink.videoFormat {
| |- 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
148 | do {
149 | let paramsPacket = try VideoParamSetPacket(params: videoFormat.params)
/Users/admin/builder/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:162:43: warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
160 | // Append the endpoint sink to the mux sink
161 | // Audio / Video data should start streaming over the network from here
162 | self.muxSink.nextSinks.append(sink)
| |- warning: sending 'sink' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'sink' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
163 | }
164 | }
Build complete! (34.39s)
Fetching https://github.com/krad/grip.git
[4/176] Fetching grip
Fetched https://github.com/krad/grip.git from cache (0.72s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.67s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
Build complete.
{
"dependencies" : [
{
"identity" : "grip",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.5",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/krad/grip.git"
}
],
"manifest_display_name" : "kubrick",
"name" : "kubrick",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "kubrick",
"targets" : [
"kubrick"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "kubrickTests",
"module_type" : "SwiftTarget",
"name" : "kubrickTests",
"path" : "Tests/kubrickTests",
"sources" : [
"AudioSinkTests.swift",
"BasicCaptureTests.swift",
"CameraTests.swift",
"DisplayStreamTests.swift",
"Mocks.swift",
"MuxerSinkTests.swift",
"SessionTests.swift",
"SinkTests.swift",
"SourceDiscovererTests.swift",
"SourceTests.swift",
"StreamTests.swift",
"TestHelpers.swift",
"VideoSinkTests.swift"
],
"target_dependencies" : [
"kubrick"
],
"type" : "test"
},
{
"c99name" : "kubrick",
"module_type" : "SwiftTarget",
"name" : "kubrick",
"path" : "Sources/kubrick",
"product_dependencies" : [
"grip"
],
"product_memberships" : [
"kubrick"
],
"sources" : [
"Encoders/AACEncoder.swift",
"Encoders/AudioEncoder.swift",
"Encoders/H264Encoder.swift",
"Encoders/H264Settings.swift",
"Encoders/VideoEncoder.swift",
"Helpers/Bytes.swift",
"Helpers/Rational.swift",
"Helpers/ThreadSafeArray.swift",
"MediaDevices/Camera.swift",
"MediaDevices/Clock.swift",
"MediaDevices/Display.swift",
"MediaDevices/MediaDevice.swift",
"MediaDevices/MediaDeviceInput.swift",
"MediaDevices/MediaDeviceOutput.swift",
"MediaDevices/MediaDeviceReader.swift",
"MediaDevices/Microphone.swift",
"MediaDevices/Readers/AudioReader.swift",
"MediaDevices/Readers/VideoReader.swift",
"Samples/MediaFormat.swift",
"Samples/Sample.swift",
"Samples/SampleTransport.swift",
"Samples/Session.swift",
"Sinks/AACEncoderSink.swift",
"Sinks/EndpointSink.swift",
"Sinks/FileEndpoint.swift",
"Sinks/H264EncoderSink.swift",
"Sinks/MuxerSink.swift",
"Sinks/PrettyPortraitSink.swift",
"Sinks/Sink.swift",
"Sources/AVStream.swift",
"Sources/Source.swift",
"Sources/SourceDiscoverer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.