The Swift Package Index logo.Swift Package Index

Build Information

Failed to build kubrick, reference 1.1.5 (018556), with Swift 6.3 for Linux on 10 Apr 2026 21:24:02 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krad/kubrick.git
Reference: 1.1.5
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/krad/kubrick
 * tag               1.1.5      -> FETCH_HEAD
HEAD is now at 018556f Ok done with that.  I think this is better math
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
018556f5e196ccfde895d27006a56aea3f7f5ed0
SUCCESS checkout https://github.com/krad/kubrick.git at 1.1.5
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/krad/kubrick.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git from cache (0.52s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.94s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/16] Compiling grip Packets.swift
[5/16] Compiling grip StreamTypePacket.swift
[6/17] Compiling grip StreamType.swift
[7/17] Compiling grip VideoDimensionsPacket.swift
[8/17] Compiling grip VideoParamSetPacket.swift
[9/17] Compiling grip VideoSamplePacket.swift
[10/17] Compiling grip NALU.swift
[11/17] Compiling grip AudioSamplePacket.swift
[12/17] Compiling grip Writeable.swift
[13/17] Emitting module grip
[14/17] Compiling grip CompressedSample.swift
[15/17] Compiling grip ByteHelpers.swift
[16/17] Compiling grip BinaryEncodable.swift
[17/17] Compiling grip BinaryEncodableExtensions.swift
[19/45] Compiling kubrick VideoReader.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:30: error: 'super' cannot be used in class 'VideoReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'VideoReader' because it has no superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: error: type 'CaptureSession' does not conform to protocol 'Session'
  4 |
  5 | public protocol Session {
  6 |     associatedtype Base: BaseSession
    |                    `- note: protocol requires nested type 'Base'
  7 |     func startRunning()
  8 |     func stopRunning()
    :
 23 | }
 24 |
 25 | public class CaptureSession: Session {
    |              |- error: type 'CaptureSession' does not conform to protocol 'Session'
    |              `- note: add stubs for conformance
 26 |     public let base = Base()
 27 |
[20/45] Compiling kubrick MediaFormat.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:30: error: 'super' cannot be used in class 'VideoReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'VideoReader' because it has no superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: error: type 'CaptureSession' does not conform to protocol 'Session'
  4 |
  5 | public protocol Session {
  6 |     associatedtype Base: BaseSession
    |                    `- note: protocol requires nested type 'Base'
  7 |     func startRunning()
  8 |     func stopRunning()
    :
 23 | }
 24 |
 25 | public class CaptureSession: Session {
    |              |- error: type 'CaptureSession' does not conform to protocol 'Session'
    |              `- note: add stubs for conformance
 26 |     public let base = Base()
 27 |
[21/45] Compiling kubrick Sample.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:30: error: 'super' cannot be used in class 'VideoReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'VideoReader' because it has no superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: error: type 'CaptureSession' does not conform to protocol 'Session'
  4 |
  5 | public protocol Session {
  6 |     associatedtype Base: BaseSession
    |                    `- note: protocol requires nested type 'Base'
  7 |     func startRunning()
  8 |     func stopRunning()
    :
 23 | }
 24 |
 25 | public class CaptureSession: Session {
    |              |- error: type 'CaptureSession' does not conform to protocol 'Session'
    |              `- note: add stubs for conformance
 26 |     public let base = Base()
 27 |
[22/45] Compiling kubrick Session.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:30: error: 'super' cannot be used in class 'VideoReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'VideoReader' because it has no superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: error: type 'CaptureSession' does not conform to protocol 'Session'
  4 |
  5 | public protocol Session {
  6 |     associatedtype Base: BaseSession
    |                    `- note: protocol requires nested type 'Base'
  7 |     func startRunning()
  8 |     func stopRunning()
    :
 23 | }
 24 |
 25 | public class CaptureSession: Session {
    |              |- error: type 'CaptureSession' does not conform to protocol 'Session'
    |              `- note: add stubs for conformance
 26 |     public let base = Base()
 27 |
[23/45] Compiling kubrick MediaDeviceOutput.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: error: type 'Microphone' does not conform to protocol 'MediaDevice'
 1 | public class Microphone: MediaDevice {
   |              |- error: type 'Microphone' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |
 3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:30: error: 'super' cannot be used in class 'AudioReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'AudioReader' because it has no superclass
10 |
11 | }
[24/45] Compiling kubrick MediaDeviceReader.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: error: type 'Microphone' does not conform to protocol 'MediaDevice'
 1 | public class Microphone: MediaDevice {
   |              |- error: type 'Microphone' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |
 3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:30: error: 'super' cannot be used in class 'AudioReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'AudioReader' because it has no superclass
10 |
11 | }
[25/45] Compiling kubrick Microphone.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: error: type 'Microphone' does not conform to protocol 'MediaDevice'
 1 | public class Microphone: MediaDevice {
   |              |- error: type 'Microphone' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |
 3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:30: error: 'super' cannot be used in class 'AudioReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'AudioReader' because it has no superclass
10 |
11 | }
[26/45] Compiling kubrick AudioReader.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: error: type 'Microphone' does not conform to protocol 'MediaDevice'
 1 | public class Microphone: MediaDevice {
   |              |- error: type 'Microphone' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |
 3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:30: error: 'super' cannot be used in class 'AudioReader' because it has no superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                              `- error: 'super' cannot be used in class 'AudioReader' because it has no superclass
10 |
11 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/48] Emitting module kubrick
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: error: cannot find type 'Data' in scope
102 | }
103 |
104 | extension Data {
    |           `- error: cannot find type 'Data' in scope
105 |
106 |     var bytes: [UInt8] {
/host/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 [#DeprecatedDeclaration]
 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 [#DeprecatedDeclaration]
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: error: value of type 'Camera' has no member 'update'
  7 |
  8 |     public var frameRate: Float64 {
  9 |         didSet { self.update(frameRate: self.frameRate) }
    |                       `- error: value of type 'Camera' has no member 'update'
 10 |     }
 11 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: error: value of type 'Camera' has no member 'update'
 11 |
 12 |     public var orientation: CameraOrientation = .unknown {
 13 |         didSet { self.update(orientation: self.orientation) }
    |                       `- error: value of type 'Camera' has no member 'update'
 14 |     }
 15 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: error: type 'Camera' does not conform to protocol 'MediaDevice'
  1 | public class Camera: MediaDevice {
    |              |- error: type 'Camera' does not conform to protocol 'MediaDevice'
    |              `- note: add stubs for conformance
  2 |
  3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: error: type 'Display' does not conform to protocol 'MediaDevice'
 1 | public class Display: MediaDevice {
   |              |- error: type 'Display' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |     public var source: Source
 3 |     public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: error: type 'Microphone' does not conform to protocol 'MediaDevice'
 1 | public class Microphone: MediaDevice {
   |              |- error: type 'Microphone' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |
 3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class AudioReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: error: cannot find type 'NSObject' in scope
 1 | import Dispatch
 2 |
 3 | public class VideoReader: NSObject, MediaDeviceReader {
   |                           `- error: cannot find type 'NSObject' in scope
 4 |
 5 |     public var q                     = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: error: initializer does not override a designated initializer from its superclass
 7 |     public var sinks: [Sink<Sample>] = []
 8 |
 9 |     public override init() { super.init() }
   |                     `- error: initializer does not override a designated initializer from its superclass
10 |
11 | }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: error: type 'CaptureSession' does not conform to protocol 'Session'
  4 |
  5 | public protocol Session {
  6 |     associatedtype Base: BaseSession
    |                    `- note: protocol requires nested type 'Base'
  7 |     func startRunning()
  8 |     func stopRunning()
    :
 23 | }
 24 |
 25 | public class CaptureSession: Session {
    |              |- error: type 'CaptureSession' does not conform to protocol 'Session'
    |              `- note: add stubs for conformance
 26 |     public let base = Base()
 27 |
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:28:46: error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 26 |     public private(set) var mediaSource: MediaSource
 27 |
 28 |     public init(_ mediaSource: MediaSource = SystemMediaSource()) {
    |                                              `- error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 29 |         self.mediaSource = mediaSource
 30 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[28/48] Compiling kubrick Camera.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: error: value of type 'Camera' has no member 'update'
  7 |
  8 |     public var frameRate: Float64 {
  9 |         didSet { self.update(frameRate: self.frameRate) }
    |                       `- error: value of type 'Camera' has no member 'update'
 10 |     }
 11 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: error: value of type 'Camera' has no member 'update'
 11 |
 12 |     public var orientation: CameraOrientation = .unknown {
 13 |         didSet { self.update(orientation: self.orientation) }
    |                       `- error: value of type 'Camera' has no member 'update'
 14 |     }
 15 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: error: type 'Camera' does not conform to protocol 'MediaDevice'
  1 | public class Camera: MediaDevice {
    |              |- error: type 'Camera' does not conform to protocol 'MediaDevice'
    |              `- note: add stubs for conformance
  2 |
  3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:19:14: error: value of type 'Camera' has no member 'update'
 17 |         self.source     = source
 18 |         self.frameRate  = 30
 19 |         self.update(frameRate: self.frameRate)
    |              `- error: value of type 'Camera' has no member 'update'
 20 |     }
 21 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: error: type 'Display' does not conform to protocol 'MediaDevice'
 1 | public class Display: MediaDevice {
   |              |- error: type 'Display' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |     public var source: Source
 3 |     public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
[29/48] Compiling kubrick Display.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: error: value of type 'Camera' has no member 'update'
  7 |
  8 |     public var frameRate: Float64 {
  9 |         didSet { self.update(frameRate: self.frameRate) }
    |                       `- error: value of type 'Camera' has no member 'update'
 10 |     }
 11 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: error: value of type 'Camera' has no member 'update'
 11 |
 12 |     public var orientation: CameraOrientation = .unknown {
 13 |         didSet { self.update(orientation: self.orientation) }
    |                       `- error: value of type 'Camera' has no member 'update'
 14 |     }
 15 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: error: type 'Camera' does not conform to protocol 'MediaDevice'
  1 | public class Camera: MediaDevice {
    |              |- error: type 'Camera' does not conform to protocol 'MediaDevice'
    |              `- note: add stubs for conformance
  2 |
  3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:19:14: error: value of type 'Camera' has no member 'update'
 17 |         self.source     = source
 18 |         self.frameRate  = 30
 19 |         self.update(frameRate: self.frameRate)
    |              `- error: value of type 'Camera' has no member 'update'
 20 |     }
 21 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: error: type 'Display' does not conform to protocol 'MediaDevice'
 1 | public class Display: MediaDevice {
   |              |- error: type 'Display' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |     public var source: Source
 3 |     public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
[30/48] Compiling kubrick MediaDevice.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: error: value of type 'Camera' has no member 'update'
  7 |
  8 |     public var frameRate: Float64 {
  9 |         didSet { self.update(frameRate: self.frameRate) }
    |                       `- error: value of type 'Camera' has no member 'update'
 10 |     }
 11 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: error: value of type 'Camera' has no member 'update'
 11 |
 12 |     public var orientation: CameraOrientation = .unknown {
 13 |         didSet { self.update(orientation: self.orientation) }
    |                       `- error: value of type 'Camera' has no member 'update'
 14 |     }
 15 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: error: type 'Camera' does not conform to protocol 'MediaDevice'
  1 | public class Camera: MediaDevice {
    |              |- error: type 'Camera' does not conform to protocol 'MediaDevice'
    |              `- note: add stubs for conformance
  2 |
  3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:19:14: error: value of type 'Camera' has no member 'update'
 17 |         self.source     = source
 18 |         self.frameRate  = 30
 19 |         self.update(frameRate: self.frameRate)
    |              `- error: value of type 'Camera' has no member 'update'
 20 |     }
 21 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: error: type 'Display' does not conform to protocol 'MediaDevice'
 1 | public class Display: MediaDevice {
   |              |- error: type 'Display' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |     public var source: Source
 3 |     public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
[31/48] Compiling kubrick MediaDeviceInput.swift
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: error: value of type 'Camera' has no member 'update'
  7 |
  8 |     public var frameRate: Float64 {
  9 |         didSet { self.update(frameRate: self.frameRate) }
    |                       `- error: value of type 'Camera' has no member 'update'
 10 |     }
 11 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: error: value of type 'Camera' has no member 'update'
 11 |
 12 |     public var orientation: CameraOrientation = .unknown {
 13 |         didSet { self.update(orientation: self.orientation) }
    |                       `- error: value of type 'Camera' has no member 'update'
 14 |     }
 15 |
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: error: type 'Camera' does not conform to protocol 'MediaDevice'
  1 | public class Camera: MediaDevice {
    |              |- error: type 'Camera' does not conform to protocol 'MediaDevice'
    |              `- note: add stubs for conformance
  2 |
  3 |     public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:19:14: error: value of type 'Camera' has no member 'update'
 17 |         self.source     = source
 18 |         self.frameRate  = 30
 19 |         self.update(frameRate: self.frameRate)
    |              `- error: value of type 'Camera' has no member 'update'
 20 |     }
 21 | }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: error: type 'Display' does not conform to protocol 'MediaDevice'
 1 | public class Display: MediaDevice {
   |              |- error: type 'Display' does not conform to protocol 'MediaDevice'
   |              `- note: add stubs for conformance
 2 |     public var source: Source
 3 |     public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
 8 |     var reader: MediaDeviceReader? { get set }
 9 |
10 |     mutating func createInput(onCreate: MediaDeviceInputClosure)
   |                   `- note: protocol requires function 'createInput(onCreate:)' with type '((any MediaDeviceInput) -> Void) -> ()'
11 |     mutating func createOutput(onCreate: MediaDeviceOutputClosure)
   |                   `- note: protocol requires function 'createOutput(onCreate:)' with type '((any MediaDeviceOutput) -> Void) -> ()'
12 |     mutating func set(reader: MediaDeviceReader) throws
13 | }
[32/48] Compiling kubrick AACEncoder.swift
/host/spi-builder-workspace/Sources/kubrick/Encoders/H264Encoder.swift:11:9: warning: no calls to throwing functions occur within 'try' expression
 9 |     init(_ settings: H264Settings) throws {
10 |         self.settings = settings
11 |         try self.configure()
   |         `- warning: no calls to throwing functions occur within 'try' expression
12 |     }
13 |
[33/48] Compiling kubrick AudioEncoder.swift
/host/spi-builder-workspace/Sources/kubrick/Encoders/H264Encoder.swift:11:9: warning: no calls to throwing functions occur within 'try' expression
 9 |     init(_ settings: H264Settings) throws {
10 |         self.settings = settings
11 |         try self.configure()
   |         `- warning: no calls to throwing functions occur within 'try' expression
12 |     }
13 |
[34/48] Compiling kubrick H264Encoder.swift
/host/spi-builder-workspace/Sources/kubrick/Encoders/H264Encoder.swift:11:9: warning: no calls to throwing functions occur within 'try' expression
 9 |     init(_ settings: H264Settings) throws {
10 |         self.settings = settings
11 |         try self.configure()
   |         `- warning: no calls to throwing functions occur within 'try' expression
12 |     }
13 |
[35/48] Compiling kubrick H264Settings.swift
/host/spi-builder-workspace/Sources/kubrick/Encoders/H264Encoder.swift:11:9: warning: no calls to throwing functions occur within 'try' expression
 9 |     init(_ settings: H264Settings) throws {
10 |         self.settings = settings
11 |         try self.configure()
   |         `- warning: no calls to throwing functions occur within 'try' expression
12 |     }
13 |
[36/48] Compiling kubrick VideoEncoder.swift
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: error: cannot find type 'Data' in scope
102 | }
103 |
104 | extension Data {
    |           `- error: cannot find type 'Data' in scope
105 |
106 |     var bytes: [UInt8] {
/host/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 [#DeprecatedDeclaration]
 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 [#DeprecatedDeclaration]
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[37/48] Compiling kubrick Bytes.swift
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: error: cannot find type 'Data' in scope
102 | }
103 |
104 | extension Data {
    |           `- error: cannot find type 'Data' in scope
105 |
106 |     var bytes: [UInt8] {
/host/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 [#DeprecatedDeclaration]
 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 [#DeprecatedDeclaration]
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[38/48] Compiling kubrick Rational.swift
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: error: cannot find type 'Data' in scope
102 | }
103 |
104 | extension Data {
    |           `- error: cannot find type 'Data' in scope
105 |
106 |     var bytes: [UInt8] {
/host/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 [#DeprecatedDeclaration]
 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 [#DeprecatedDeclaration]
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[39/48] Compiling kubrick ThreadSafeArray.swift
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: error: cannot find type 'Data' in scope
102 | }
103 |
104 | extension Data {
    |           `- error: cannot find type 'Data' in scope
105 |
106 |     var bytes: [UInt8] {
/host/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 [#DeprecatedDeclaration]
 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 [#DeprecatedDeclaration]
 8 |         return Int(self.numerator ^ Int64(self.denominator))
 9 |     }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[40/48] Compiling kubrick MuxerSink.swift
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[41/48] Compiling kubrick PrettyPortraitSink.swift
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[42/48] Compiling kubrick Sink.swift
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:21:26: error: cannot find 'AudioSamplePacket' in scope
19 |         switch input.type {
20 |         case .audio:
21 |             let packet = AudioSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'AudioSamplePacket' in scope
22 |                                            timescale: UInt32(input.duration.denominator),
23 |                                            data: input.bytes)
/host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift:26:26: error: cannot find 'VideoSamplePacket' in scope
24 |             self.send(packet)
25 |         case .video:
26 |             var packet = VideoSamplePacket(duration: input.duration.numerator,
   |                          `- error: cannot find 'VideoSamplePacket' in scope
27 |                                            timescale: UInt32(input.duration.denominator),
28 |                                            data: input.bytes)
[43/48] Compiling kubrick AACEncoderSink.swift
[44/48] Compiling kubrick EndpointSink.swift
[45/48] Compiling kubrick H264EncoderSink.swift
[46/48] Compiling kubrick AVStream.swift
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:28:46: error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 26 |     public private(set) var mediaSource: MediaSource
 27 |
 28 |     public init(_ mediaSource: MediaSource = SystemMediaSource()) {
    |                                              `- error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 29 |         self.mediaSource = mediaSource
 30 |     }
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:50:36: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 48 |
 49 |     public func devices(_ scope: MediaSourceScope) -> [MediaDevice] {
 50 |         return self.sources(scope).flatMap {
    |                                    |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                    `- note: use 'compactMap(_:)' instead
 51 |             switch $0.type {
 52 |             case .video?: return Camera($0)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[47/48] Compiling kubrick Source.swift
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:28:46: error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 26 |     public private(set) var mediaSource: MediaSource
 27 |
 28 |     public init(_ mediaSource: MediaSource = SystemMediaSource()) {
    |                                              `- error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 29 |         self.mediaSource = mediaSource
 30 |     }
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:50:36: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 48 |
 49 |     public func devices(_ scope: MediaSourceScope) -> [MediaDevice] {
 50 |         return self.sources(scope).flatMap {
    |                                    |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                    `- note: use 'compactMap(_:)' instead
 51 |             switch $0.type {
 52 |             case .video?: return Camera($0)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[48/48] Compiling kubrick SourceDiscoverer.swift
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:61:57: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 59 |
 60 |         // Create readers for each of the devices
 61 |         let readers: [MediaDeviceReader] = self.devices.flatMap {
    |                                                         |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                                         `- note: use 'compactMap(_:)' instead
 62 |             if $0.source.type == .audio { return AudioReader() }
 63 |             if $0.source.type == .video { return VideoReader() }
/host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift:151:44: error: cannot find 'VideoDimensionPacket' in scope
149 |                 do {
150 |                     let paramsPacket     = try VideoParamSetPacket(params: videoFormat.params)
151 |                     let dimensionsPacket = VideoDimensionPacket(width: videoFormat.dimensions.width,
    |                                            `- error: cannot find 'VideoDimensionPacket' in scope
152 |                                                                 height: videoFormat.dimensions.height)
153 |
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:28:46: error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 26 |     public private(set) var mediaSource: MediaSource
 27 |
 28 |     public init(_ mediaSource: MediaSource = SystemMediaSource()) {
    |                                              `- error: default argument value of type 'SystemMediaSource' does not conform to 'MediaSource'
 29 |         self.mediaSource = mediaSource
 30 |     }
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:50:36: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
 48 |
 49 |     public func devices(_ scope: MediaSourceScope) -> [MediaDevice] {
 50 |         return self.sources(scope).flatMap {
    |                                    |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value [#DeprecatedDeclaration]
    |                                    `- note: use 'compactMap(_:)' instead
 51 |             switch $0.type {
 52 |             case .video?: return Camera($0)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
BUILD FAILURE 6.3 linux