The Swift Package Index logo.Swift Package Index

Build Information

Successful build of fx-upscale, reference 1.3.2 (46601b), with Swift 6.4 for macOS (SPM) on 26 Sep 2026 12:22:02 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/finnvoor/fx-upscale.git
Reference: 1.3.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/finnvoor/fx-upscale
 * tag               1.3.2      -> FETCH_HEAD
HEAD is now at 46601bd Preserve HDR when upscaling instead of crushing to SDR (#36)
Cloned https://github.com/finnvoor/fx-upscale.git
Revision (git rev-parse @):
46601bdcd5c8c62f9735210e9245efab2da4a5c9
SUCCESS checkout https://github.com/finnvoor/fx-upscale.git at 1.3.2
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/finnvoor/fx-upscale.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[53 / 95] fx-upscale_UpscalingTests
[55 / 95]
[58 / 98] ArgumentParserToolInfo
[62 / 102] ArgumentParserToolInfo
[69 / 103] SwiftTUI
[78 / 146]
[88 / 191]
[94 / 191] ArgumentParserToolInfo
[106 / 248]
[113 / 248]
[115 / 248]
[123 / 248]
[130 / 248]
[135 / 248]
[141 / 248]
[152 / 248]
[155 / 248]
[157 / 248]
[161 / 248]
[164 / 248]
[165 / 248]
[167 / 248]
[176 / 248] SwiftTUI
[180 / 248] SwiftTUI
[186 / 248]
[187 / 248]
[189 / 248]
[192 / 248] ArgumentParser
[198 / 248] SwiftTUI-product
[200 / 248] SwiftTUI-product
[203 / 248]
[212 / 248] SwiftTUI
[218 / 248]
[219 / 248] ArgumentParser
[219 / 248]
[227 / 248] Upscaling
[229 / 248] Upscaling
[232 / 248] Upscaling
[241 / 249]
[241 / 249] Upscaling
[241 / 249] fx-upscale-product
[243 / 253]
[245 / 253] fx-upscale-product
[249 / 253] fx-upscale-product
[251 / 253] fx-upscale-product
Build complete! (9.86 sec)
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/Finnvoor/SwiftTUI.git
[1/80] Fetching swifttui
[81/19026] Fetching swifttui, swift-argument-parser
Fetched https://github.com/Finnvoor/SwiftTUI.git (1.94s)
Fetched https://github.com/apple/swift-argument-parser.git (1.94s)
Computing version for https://github.com/Finnvoor/SwiftTUI.git
Computed https://github.com/Finnvoor/SwiftTUI.git at 1.0.4 (2.51s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.57s)
Creating working copy for https://github.com/Finnvoor/SwiftTUI.git
Working copy of https://github.com/Finnvoor/SwiftTUI.git resolved at 1.0.4
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:430:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
428 |             )
429 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
430 |                 while assetWriterInput.isReadyForMoreMediaData {
    |                       `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
431 |                     if let nextSampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
432 |                         if nextSampleBuffer.presentationTimeStamp.isNumeric {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 37 | NS_SWIFT_NONSENDABLE
 38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 39 | @interface AVAssetWriterInput : NSObject
    |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 40 | {
 41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:431:47: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
429 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
430 |                 while assetWriterInput.isReadyForMoreMediaData {
431 |                     if let nextSampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
    |                                               `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
432 |                         if nextSampleBuffer.presentationTimeStamp.isNumeric {
433 |                             let timestamp = Int64(nextSampleBuffer.presentationTimeStamp.seconds)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 41 | NS_SWIFT_NONSENDABLE
 42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 43 | @interface AVAssetReaderOutput : NSObject
    |            `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 44 | {
 45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:478:38: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
476 |             qos: .userInitiated
477 |         ).async {
478 |             while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
    |                                      `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
479 |                 guard let imageBuffer = sampleBuffer.imageBuffer else {
480 |                     channel.finish(throwing: Error.missingImageBuffer)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 41 | NS_SWIFT_NONSENDABLE
 42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 43 | @interface AVAssetReaderOutput : NSObject
    |            `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 44 | {
 45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:480:21: warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
478 |             while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
479 |                 guard let imageBuffer = sampleBuffer.imageBuffer else {
480 |                     channel.finish(throwing: Error.missingImageBuffer)
    |                     `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
481 |                     return
482 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
 9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
   |             `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 |     // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:487:17: warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
485 |                 )
486 |                 guard channel.enqueue(frame) else { return }
487 |                 upscaler.upscale(imageBuffer, pixelBufferPool: adaptor.pixelBufferPool) { upscaled in
    |                 `- warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
488 |                     frame.fulfill(upscaled)
489 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/Upscaler.swift:11:20: note: class 'Upscaler' does not conform to the 'Sendable' protocol
  9 | // MARK: - Upscaler
 10 |
 11 | public final class Upscaler {
    |                    `- note: class 'Upscaler' does not conform to the 'Sendable' protocol
 12 |     // MARK: Lifecycle
 13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:487:64: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
485 |                 )
486 |                 guard channel.enqueue(frame) else { return }
487 |                 upscaler.upscale(imageBuffer, pixelBufferPool: adaptor.pixelBufferPool) { upscaled in
    |                                                                `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
488 |                     frame.fulfill(upscaled)
489 |                 }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:554:12: note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
552 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
553 | #endif
554 | @interface AVAssetWriterInputPixelBufferAdaptor : NSObject
    |            `- note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
555 | {
556 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:500:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
498 |             )
499 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
500 |                 while assetWriterInput.isReadyForMoreMediaData {
    |                       `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
501 |                     guard let frame = channel.dequeue() else {
502 |                         assetWriterInput.markAsFinished()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 37 | NS_SWIFT_NONSENDABLE
 38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 39 | @interface AVAssetWriterInput : NSObject
    |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 40 | {
 41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:501:39: warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
499 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
500 |                 while assetWriterInput.isReadyForMoreMediaData {
501 |                     guard let frame = channel.dequeue() else {
    |                                       `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
502 |                         assetWriterInput.markAsFinished()
503 |                         if let error = channel.terminationError {
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
 9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
   |             `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 |     // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:515:27: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
513 |                         DispatchQueue.main.async { progress.completedUnitCount = timestamp }
514 |                     }
515 |                     guard adaptor.append(
    |                           `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
516 |                         upscaledImageBuffer,
517 |                         withPresentationTime: frame.time
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:554:12: note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
552 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
553 | #endif
554 | @interface AVAssetWriterInputPixelBufferAdaptor : NSObject
    |            `- note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
555 | {
556 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:553:38: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
551 |         )
552 |         readerQueue.async {
553 |             while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
    |                                      `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
554 |                 guard let taggedBuffers = sampleBuffer.taggedBuffers else {
555 |                     channel.finish(throwing: Error.missingTaggedBuffers)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 41 | NS_SWIFT_NONSENDABLE
 42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 43 | @interface AVAssetReaderOutput : NSObject
    |            `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
 44 | {
 45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:555:21: warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
553 |             while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
554 |                 guard let taggedBuffers = sampleBuffer.taggedBuffers else {
555 |                     channel.finish(throwing: Error.missingTaggedBuffers)
    |                     `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
556 |                     return
557 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
 9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
   |             `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 |     // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:579:17: warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
577 |                 var upscaledRight: CVPixelBuffer?
578 |                 group.enter()
579 |                 upscaler.upscale(leftEyePixelBuffer, pixelBufferPool: adaptor.pixelBufferPool) {
    |                 `- warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
580 |                     upscaledLeft = $0
581 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/Upscaler.swift:11:20: note: class 'Upscaler' does not conform to the 'Sendable' protocol
  9 | // MARK: - Upscaler
 10 |
 11 | public final class Upscaler {
    |                    `- note: class 'Upscaler' does not conform to the 'Sendable' protocol
 12 |     // MARK: Lifecycle
 13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:579:71: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
577 |                 var upscaledRight: CVPixelBuffer?
578 |                 group.enter()
579 |                 upscaler.upscale(leftEyePixelBuffer, pixelBufferPool: adaptor.pixelBufferPool) {
    |                                                                       `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
580 |                     upscaledLeft = $0
581 |                     group.leave()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:648:12: note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
646 | API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos)
647 | #endif
648 | @interface AVAssetWriterInputTaggedPixelBufferGroupAdaptor : NSObject
    |            `- note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
649 | AV_INIT_UNAVAILABLE
650 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:601:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
599 |             )
600 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
601 |                 while assetWriterInput.isReadyForMoreMediaData {
    |                       `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
602 |                     guard let frame = channel.dequeue() else {
603 |                         assetWriterInput.markAsFinished()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 37 | NS_SWIFT_NONSENDABLE
 38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
 39 | @interface AVAssetWriterInput : NSObject
    |            `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
 40 | {
 41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:602:39: warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
600 |             assetWriterInput.requestMediaDataWhenReady(on: queue) {
601 |                 while assetWriterInput.isReadyForMoreMediaData {
602 |                     guard let frame = channel.dequeue() else {
    |                                       `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
603 |                         assetWriterInput.markAsFinished()
604 |                         if let error = channel.terminationError {
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
 9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
   |             `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 |     // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:624:27: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
622 |                         pixelBuffer: upscaledRightEyePixelBuffer
623 |                     )
624 |                     guard adaptor.appendTaggedBuffers(
    |                           `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
625 |                         [leftEyeTaggedBuffer, rightEyeTaggedBuffer],
626 |                         withPresentationTime: frame.time
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:648:12: note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
646 | API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos)
647 | #endif
648 | @interface AVAssetWriterInputTaggedPixelBufferGroupAdaptor : NSObject
    |            `- note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
649 | AV_INIT_UNAVAILABLE
650 |
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swifttui",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Finnvoor/SwiftTUI.git"
    }
  ],
  "manifest_display_name" : "fx-upscale",
  "name" : "fx-upscale",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "fx-upscale",
      "targets" : [
        "fx-upscale"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "Upscaling",
      "targets" : [
        "Upscaling"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "fx_upscale",
      "module_type" : "SwiftTarget",
      "name" : "fx-upscale",
      "path" : "Sources/fx-upscale",
      "product_dependencies" : [
        "ArgumentParser",
        "SwiftTUI"
      ],
      "product_memberships" : [
        "fx-upscale"
      ],
      "sources" : [
        "FXUpscale.swift"
      ],
      "target_dependencies" : [
        "Upscaling"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "UpscalingTests",
      "module_type" : "SwiftTarget",
      "name" : "UpscalingTests",
      "path" : "Tests/UpscalingTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/UpscalingTests/Resources/ladybird.jpg",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/UpscalingTests/Resources/test.png",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "UpscalingTests.swift"
      ],
      "target_dependencies" : [
        "Upscaling"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Upscaling",
      "module_type" : "SwiftTarget",
      "name" : "Upscaling",
      "path" : "Sources/Upscaling",
      "product_memberships" : [
        "fx-upscale",
        "Upscaling"
      ],
      "sources" : [
        "CoreImage/UpscalingFilter.swift",
        "CoreImage/UpscalingImageProcessorKernel.swift",
        "Extensions/AVVideoCodecType+Extensions.swift",
        "Extensions/CMFormatDescription+Extensions.swift",
        "Extensions/CVPixelBuffer+Extensions.swift",
        "Extensions/MTLFXSpatialScaler+Extensions.swift",
        "Extensions/MTLFXSpatialScalerDescriptor+Extensions.swift",
        "Extensions/MTLTexture+Extensions.swift",
        "Extensions/URL+Extensions.swift",
        "FrameChannel.swift",
        "Upscaler.swift",
        "UpscalingExportSession.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.