The Swift Package Index logo.Swift Package Index

Build Information

Successful build of HaishinKit, reference 2.2.5 (dc880c), with Swift 6.2 for macOS (SPM) on 28 Mar 2026 13:12:07 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.69.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/HaishinKit/HaishinKit.swift.git
Reference: 2.2.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/HaishinKit/HaishinKit.swift
 * tag               2.2.5      -> FETCH_HEAD
HEAD is now at dc880cb Fix compilation error
Cloned https://github.com/HaishinKit/HaishinKit.swift.git
Revision (git rev-parse @):
dc880cb540b8feeb98f64e8b7dcfaaf320b6b2bd
SUCCESS checkout https://github.com/HaishinKit/HaishinKit.swift.git at 2.2.5
Fetching https://github.com/shogo4405/Logboard.git
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/1592] Fetching logboard
[81/3763] Fetching logboard, swift-docc-plugin
[506/7434] Fetching logboard, swift-docc-plugin, swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.19s)
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.19s)
Fetched https://github.com/shogo4405/Logboard.git from cache (1.19s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Creating working copy for https://github.com/shogo4405/Logboard.git
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.6.0
Downloading binary artifact https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip
Downloading binary artifact https://github.com/HaishinKit/libdatachannel-xcframework/releases/download/v0.24.0/libdatachannel.xcframework.zip
[13281/34090902] Downloading https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip
[10517725/100992402] Downloading https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip, https://github.com/HaishinKit/libdatachannel-xcframework/releases/download/v0.24.0/libdatachannel.xcframework.zip
Downloaded https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip (2.27s)
Downloaded https://github.com/HaishinKit/libdatachannel-xcframework/releases/download/v0.24.0/libdatachannel.xcframework.zip (3.88s)
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "haishinkit.swift",
      "name": "HaishinKit",
      "url": "https://github.com/HaishinKit/HaishinKit.swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HaishinKit.swift",
      "dependencies": [
        {
          "identity": "logboard",
          "name": "Logboard",
          "url": "https://github.com/shogo4405/Logboard.git",
          "version": "2.6.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Logboard",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/HaishinKit/HaishinKit.swift.git
[1/40121] Fetching haishinkit.swift
Fetched https://github.com/HaishinKit/HaishinKit.swift.git from cache (4.02s)
Fetching https://github.com/shogo4405/Logboard.git from cache
Fetched https://github.com/shogo4405/Logboard.git from cache (0.44s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.6.0 (1.00s)
Creating working copy for https://github.com/HaishinKit/HaishinKit.swift.git
Working copy of https://github.com/HaishinKit/HaishinKit.swift.git resolved at 2.2.5 (dc880cb)
Creating working copy for https://github.com/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.6.0
Fetching binary artifact https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip from cache
Fetching binary artifact https://github.com/HaishinKit/libdatachannel-xcframework/releases/download/v0.24.0/libdatachannel.xcframework.zip from cache
Fetched https://github.com/HaishinKit/libsrt-xcframework/releases/download/v1.5.4/libsrt.xcframework.zip from cache (2.30s)
Fetched https://github.com/HaishinKit/libdatachannel-xcframework/releases/download/v0.24.0/libdatachannel.xcframework.zip from cache (3.10s)
warning: '.resolve-product-dependencies': dependency 'haishinkit.swift' is not used by any target
Found 1 product dependencies
  - Logboard
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/HaishinKit/HaishinKit.swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/11] Write sources
[5/11] Copying libdatachannel.a
[5/11] Copying libsrt.a
[5/11] Write sources
[10/11] Write swift-version-49B95AFC49DCD68C.txt
[12/20] Compiling Logboard SocketAppender.swift
[13/20] Compiling Logboard LBLoggerAppender.swift
[14/20] Compiling Logboard NullAppender.swift
[15/20] Compiling Logboard MultiAppender.swift
[16/20] Compiling Logboard LBLogger.swift
[17/20] Compiling Logboard ConsoleAppender.swift
[18/20] Compiling Logboard OSLoggerAppender.swift
[19/20] Emitting module Logboard
[20/20] Compiling Logboard LBLogger.Data.swift
[21/126] Emitting module HaishinKit
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[22/137] Compiling HaishinKit CMVideoFormatDescription+Extension.swift
[23/137] Compiling HaishinKit CVPixelBuffer+Extension.swift
[24/137] Compiling HaishinKit CVPixelBufferPool+Extension.swift
[25/137] Compiling HaishinKit Data+Extension.swift
[26/137] Compiling HaishinKit ExpressibleByIntegerLiteral+Extension.swift
[27/137] Compiling HaishinKit Mirror+Extension.swift
[28/137] Compiling HaishinKit VTCompressionSession+Extension.swift
[29/137] Compiling HaishinKit VTDecompressionSession+Extension.swift
[30/137] Compiling HaishinKit vImage_Buffer+Extension.swift
[31/137] Compiling HaishinKit AudioSpecificConfig.swift
[32/137] Compiling HaishinKit H264NALUnit.swift
[33/137] Compiling HaishinKit HEVCNALUnit.swift
[34/137] Compiling HaishinKit VideoMixerSettings.swift
[35/137] Compiling HaishinKit NetworkConnection.swift
[36/137] Compiling HaishinKit NetworkMonitor.swift
[37/137] Compiling HaishinKit NetworkMonitorEvent.swift
[38/137] Compiling HaishinKit NetworkMonitorReport.swift
[39/137] Compiling HaishinKit NetworkTransportReport.swift
[40/137] Compiling HaishinKit NetworkTransportReporter.swift
[41/137] Compiling HaishinKit AssetScreenObject.swift
[42/137] Compiling HaishinKit ChromaKeyProcessor.swift
[43/137] Compiling HaishinKit DisplayLinkChoreographer.swift
[44/137] Compiling HaishinKit ImageScreenObject.swift
[45/137] Compiling HaishinKit RoundedRectangleFactory.swift
[46/137] Compiling HaishinKit OutgoingStream.swift
[47/137] Compiling HaishinKit SoundTransform.swift
[48/137] Compiling HaishinKit StreamBitRateStrategy.swift
[49/137] Compiling HaishinKit StreamConvertible.swift
[50/137] Compiling HaishinKit StreamOutput.swift
[51/137] Compiling HaishinKit StreamReadyState.swift
[52/137] Compiling HaishinKit StreamRecorder.swift
[53/137] Compiling HaishinKit AVAudioUtil.swift
[54/137] Compiling HaishinKit AsyncStreamed.swift
[55/137] Compiling HaishinKit AsyncStreamedFlow.swift
[56/137] Compiling HaishinKit AudioTime.swift
[57/137] Compiling HaishinKit VideoEffect.swift
[58/137] Compiling HaishinKit VideoTrackScreenObject.swift
[59/137] Compiling HaishinKit Session.swift
[60/137] Compiling HaishinKit SessionBuilder.swift
[61/137] Compiling HaishinKit SessionBuilderFactory.swift
[62/137] Compiling HaishinKit SessionConfiguration.swift
[63/137] Compiling HaishinKit SessionFactory.swift
[64/137] Compiling HaishinKit AudioPlayer.swift
[65/137] Compiling HaishinKit AudioPlayerNode.swift
[66/137] Compiling HaishinKit IncomingStream.swift
[67/137] Compiling HaishinKit MediaLink.swift
[68/137] Compiling HaishinKit ISOTypeBufferUtil.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[69/137] Compiling HaishinKit NALUnit.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[70/137] Compiling HaishinKit NALUnitReader.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[71/137] Compiling HaishinKit AudioCaptureUnit.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[72/137] Compiling HaishinKit AudioDeviceUnit.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[73/137] Compiling HaishinKit AudioMixer.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[74/137] Compiling HaishinKit AudioMixerByMultiTrack.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[75/137] Compiling HaishinKit AudioMixerBySingleTrack.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[76/137] Compiling HaishinKit AudioMixerSettings.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[77/137] Compiling HaishinKit AudioMixerTrack.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[78/137] Compiling HaishinKit AudioMixerTrackSettings.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[79/137] Compiling HaishinKit AudioMonitor.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioMixerTrack.swift:89:38: warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 87 |             var error: NSError?
 88 |             status = audioConverter?.convert(to: outputBuffer, error: &error) { inNumberFrames, status in
 89 |                 if inNumberFrames <= ringBuffer.counts {
    |                                      `- warning: capture of 'ringBuffer' with non-Sendable type 'AudioRingBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
 90 |                     _ = ringBuffer.render(inNumberFrames, ioData: inputBuffer.mutableAudioBufferList)
 91 |                     inputBuffer.frameLength = inNumberFrames
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Mixer/AudioRingBuffer.swift:7:13: note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  5 | import Foundation
  6 |
  7 | final class AudioRingBuffer {
    |             `- note: class 'AudioRingBuffer' does not conform to the 'Sendable' protocol
  8 |     private static let bufferCounts: UInt32 = 16
  9 |     private static let numSamples: UInt32 = 1024
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[80/137] Compiling HaishinKit AVAudioPCMBuffer+Extension.swift
[81/137] Compiling HaishinKit AVAudioTime+Extension.swift
[82/137] Compiling HaishinKit AVCaptureDevice+Extension.swift
[83/137] Compiling HaishinKit AVCaptureDevice.Format+Extension.swift
[84/137] Compiling HaishinKit AVCaptureSession+Extension.swift
[85/137] Compiling HaishinKit AVCaptureSession.Preset+Extension.swift
[86/137] Compiling HaishinKit AVFrameRateRange+Extension.swift
[87/137] Compiling HaishinKit AVLayerVideoGravity+Extension.swift
[88/137] Compiling HaishinKit CGImage+Extension.swift
[89/137] Compiling HaishinKit CMSampleBuffer+Extension.swift
[90/137] Compiling HaishinKit CMTime+Extension.swift
[91/137] Compiling HaishinKit CMVideoDimention+Extension.swift
[92/137] Compiling HaishinKit AudioNode.swift
[93/137] Compiling HaishinKit AudioRingBuffer.swift
[94/137] Compiling HaishinKit CaptureSession.Capabilities.swift
[95/137] Compiling HaishinKit CaptureSession.swift
[96/137] Compiling HaishinKit CaptureUnit.swift
[97/137] Compiling HaishinKit DeviceUnit.swift
[98/137] Compiling HaishinKit DynamicRangeMode.swift
[99/137] Compiling HaishinKit MediaMixer.swift
[100/137] Compiling HaishinKit MediaMixerOutput.swift
[101/137] Compiling HaishinKit VideoCaptureUnit.swift
[102/137] Compiling HaishinKit VideoDeviceUnit.swift
[103/137] Compiling HaishinKit VideoMixer.swift
[104/137] Compiling HaishinKit ADTSHeader.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[105/137] Compiling HaishinKit AudioCodec.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[106/137] Compiling HaishinKit AudioCodecSettings.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[107/137] Compiling HaishinKit Codec.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[108/137] Compiling HaishinKit VTSessionConvertible.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[109/137] Compiling HaishinKit VTSessionMode.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[110/137] Compiling HaishinKit VTSessionOption.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[111/137] Compiling HaishinKit VTSessionOptionKey.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[112/137] Compiling HaishinKit VideoCodec.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[113/137] Compiling HaishinKit VideoCodecSettings.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[114/137] Compiling HaishinKit AVAudioBuffer+Extension.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[115/137] Compiling HaishinKit AVAudioCompressedBuffer+Extension.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Codec/AudioCodec.swift:99:24: warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
  3 | /// The AudioCodec translate audio data to another format.
  4 | /// - seealso: https://developer.apple.com/library/ios/technotes/tn2236/_index.html
  5 | final class AudioCodec {
    |             `- note: class 'AudioCodec' does not conform to the 'Sendable' protocol
  6 |     static let defaultFrameCapacity: UInt32 = 1024
  7 |     static let defaultInputBuffersCursor = 0
    :
 97 |             let outputBuffer = self.outputBuffer
 98 |             outputStatus = audioConverter.convert(to: outputBuffer, error: &error) { inNumberFrames, inputStatus in
 99 |                 switch self.inputBuffer {
    |                        `- warning: capture of 'self' with non-Sendable type 'AudioCodec' in a '@Sendable' closure [#SendableClosureCaptures]
100 |                 case let inputBuffer as AVAudioCompressedBuffer:
101 |                     inputBuffer.copy(audioBuffer)
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[116/137] Compiling HaishinKit Screen.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[117/137] Compiling HaishinKit ScreenActor.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[118/137] Compiling HaishinKit ScreenObject.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[119/137] Compiling HaishinKit ScreenObjectContainer.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[120/137] Compiling HaishinKit ScreenRenderer.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[121/137] Compiling HaishinKit ScreenRendererByCPU.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[122/137] Compiling HaishinKit ScreenRendererByGPU.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[123/137] Compiling HaishinKit Shape.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[124/137] Compiling HaishinKit ShapeFactory.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[125/137] Compiling HaishinKit StreamScreenObject.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[126/137] Compiling HaishinKit TextScreenObject.swift
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/Screen.swift:95:16: warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 93 |                 return
 94 |             }
 95 |             if isGPURendererEnabled {
    |                `- warning: 'isGPURendererEnabled' is deprecated [#DeprecatedDeclaration]
 96 |                 renderer = ScreenRendererByGPU(dynamicRangeMode: dynamicRangeMode)
 97 |             } else {
/Users/admin/builder/spi-builder-workspace/HaishinKit/Sources/Screen/ScreenRendererByCPU.swift:120:53: warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
118 |     func layout(_ screenObject: ScreenObject) {
119 |         autoreleasepool {
120 |             guard let image: CGImage = screenObject.makeImage(self) else {
    |                                                     `- warning: 'makeImage' is deprecated: It will be removed in the next major update. Please migrate to using CIImage instead. [#DeprecatedDeclaration]
121 |                 return
122 |             }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[127/137] Compiling HaishinKit ByteArray.swift
[128/137] Compiling HaishinKit Constants.swift
[129/137] Compiling HaishinKit DataConvertible.swift
[130/137] Compiling HaishinKit DeviceUtil.swift
[131/137] Compiling HaishinKit FrameTracker.swift
[132/137] Compiling HaishinKit Runner.swift
[133/137] Compiling HaishinKit TypedBlockQueue.swift
[134/137] Compiling HaishinKit MTHKView.swift
[135/137] Compiling HaishinKit MTHKViewRepresentable.swift
[136/137] Compiling HaishinKit PiPHKView.swift
[137/137] Compiling HaishinKit PiPHKViewRepresentable.swift
[138/250] Compiling RTCHaishinKit HTTPSessionConfiguration.swift
[139/250] Compiling RTCHaishinKit HTTPSessionFactory.swift
[140/250] Compiling RTCHaishinKit RTCCertificateType.swift
[141/252] Compiling RTCHaishinKit AudioCodecSettings.Format+Extension.swift
[142/252] Compiling RTCHaishinKit VideoCodecSettings.Format+Extension.swift
[143/252] Compiling RTCHaishinKit HTTPSession.swift
[144/254] Compiling SRTHaishinKit TSWriter.swift
[145/254] Compiling SRTHaishinKit Constants.swift
[146/254] Compiling RTCHaishinKit SDPMediaDescription.swift
[147/257] Emitting module SRTHaishinKit
[148/257] Compiling MoQTHaishinKit MoQTVersion.swift
[149/257] Compiling RTCHaishinKit RTPPacket.swift
[151/257] Compiling RTCHaishinKit RTPFormatParameter.swift
[152/257] Compiling RTCHaishinKit RTPH264Packetizer.swift
[153/257] Compiling MoQTHaishinKit MoQTSocket.swift
[154/260] Compiling RTCHaishinKit RTCStream.swift
[155/260] Compiling RTCHaishinKit RTCStreamKind.swift
[156/260] Compiling RTCHaishinKit RTCStreamTrack.swift
[157/260] Compiling RTCHaishinKit RTCConfiguration.swift
[158/260] Compiling RTCHaishinKit RTCDataChannel.swift
[159/260] Compiling RTCHaishinKit RTCDirection.swift
[160/260] Compiling RTCHaishinKit RTCTrack.swift
[161/260] Compiling RTCHaishinKit RTCTrackConfiguration.swift
[162/260] Compiling RTCHaishinKit RTCTransportPolicy.swift
[163/260] Compiling RTCHaishinKit RTCLogger.swift
[164/260] Compiling RTCHaishinKit RTCPeerConnection.swift
[165/260] Compiling RTCHaishinKit RTCSendableStreamTrack.swift
[166/260] Compiling RTCHaishinKit RTCError.swift
[167/260] Compiling RTCHaishinKit RTCIceCandidate.swift
[170/260] Compiling RTCHaishinKit RTCChannel.swift
[171/260] Compiling RTCHaishinKit Array+Extension.swift
[172/260] Emitting module MoQTHaishinKit
[176/260] Emitting module RTMPHaishinKit
[177/260] Emitting module RTCHaishinKit
[202/260] Compiling RTMPHaishinKit MD5.swift
[203/260] Compiling RTCHaishinKit CUtil.swift
[204/260] Compiling RTCHaishinKit Constants.swift
[212/260] Compiling RTMPHaishinKit Constants.swift
[228/260] Compiling RTMPHaishinKit HKAtomic.swift
Build complete! (29.13s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    },
    {
      "identity" : "logboard",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.6.0",
            "upper_bound" : "2.7.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/shogo4405/Logboard.git"
    }
  ],
  "manifest_display_name" : "HaishinKit",
  "name" : "HaishinKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "HaishinKit",
      "targets" : [
        "HaishinKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RTMPHaishinKit",
      "targets" : [
        "RTMPHaishinKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SRTHaishinKit",
      "targets" : [
        "SRTHaishinKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MoQTHaishinKit",
      "targets" : [
        "MoQTHaishinKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RTCHaishinKit",
      "targets" : [
        "RTCHaishinKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "6",
    "5"
  ],
  "targets" : [
    {
      "c99name" : "libsrt",
      "module_type" : "BinaryTarget",
      "name" : "libsrt",
      "path" : "remote/archive/libsrt.xcframework.zip",
      "product_memberships" : [
        "SRTHaishinKit"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "libdatachannel",
      "module_type" : "BinaryTarget",
      "name" : "libdatachannel",
      "path" : "remote/archive/libdatachannel.xcframework.zip",
      "product_memberships" : [
        "RTCHaishinKit"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SRTHaishinKitTests",
      "module_type" : "SwiftTarget",
      "name" : "SRTHaishinKitTests",
      "path" : "SRTHaishinKit/Tests",
      "sources" : [
        "Codec/ADTSReaderTests.swift",
        "Extension/Data+Extension.swift",
        "Extension/NALUnitReader+ExtensionTests.swift",
        "SRT/SRTConnectionTests.swift",
        "SRT/SRTSocketOptionTests.swift",
        "SRT/SRTStreamTests.swift",
        "TS/CRC32Tests.swift",
        "TS/ESSpecificDataTests.swift",
        "TS/PacketizedElementaryStreamTests.swift",
        "TS/TSPacketTests.swift",
        "TS/TSProgramTests.swift"
      ],
      "target_dependencies" : [
        "SRTHaishinKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SRTHaishinKit",
      "module_type" : "SwiftTarget",
      "name" : "SRTHaishinKit",
      "path" : "SRTHaishinKit/Sources",
      "product_memberships" : [
        "SRTHaishinKit"
      ],
      "sources" : [
        "Extension/AVCNALUnit+Extension.swift",
        "Extension/CMFormatDescription+Extension.swift",
        "Extension/Data+Extension.swift",
        "Extension/HEVCNALUnit+Extension.swift",
        "Extension/NALUnitReader+Extension.swift",
        "Extension/sockaddr_in+Extension.swift",
        "SRT/SRTConnection.swift",
        "SRT/SRTLogger.swift",
        "SRT/SRTMode.swift",
        "SRT/SRTPerformanceData.swift",
        "SRT/SRTRejectReason.swift",
        "SRT/SRTSession.swift",
        "SRT/SRTSessionFactory.swift",
        "SRT/SRTSocket.swift",
        "SRT/SRTSocketOption.Name.swift",
        "SRT/SRTSocketOption.swift",
        "SRT/SRTSocketURL.swift",
        "SRT/SRTStream.swift",
        "TS/ADTSReader.swift",
        "TS/ByteArray.swift",
        "TS/CRC32.swift",
        "TS/ESSpecificData.swift",
        "TS/PacketizedElementaryStream.swift",
        "TS/TSField.swift",
        "TS/TSPacket.swift",
        "TS/TSProgram.swift",
        "TS/TSReader.swift",
        "TS/TSWriter.swift",
        "Util/Constants.swift"
      ],
      "target_dependencies" : [
        "libsrt",
        "HaishinKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RTMPHaishinKitTests",
      "module_type" : "SwiftTarget",
      "name" : "RTMPHaishinKitTests",
      "path" : "RTMPHaishinKit/Tests",
      "sources" : [
        "AMF/AMF0SerializerTests.swift",
        "AMF/AMFFoundationTests.swift",
        "Codec/AVCDecoderConfigurationRecordTests.swift",
        "Codec/HEVCDecoderConfigurationRecordTests.swift",
        "Extension/Foundation+ExtensionTests.swift",
        "RTMP/RTMPChunkBufferTests.swift",
        "RTMP/RTMPConnectionTests.swift",
        "RTMP/RTMPStatusTests.swift",
        "RTMP/RTMPTimestampTests.swift",
        "RTMP/RTMPURLTests.swift",
        "RTMP/RTMPVideoFourCCTests.swift",
        "Util/MD5Tests.swift"
      ],
      "target_dependencies" : [
        "RTMPHaishinKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RTMPHaishinKit",
      "module_type" : "SwiftTarget",
      "name" : "RTMPHaishinKit",
      "path" : "RTMPHaishinKit/Sources",
      "product_memberships" : [
        "RTMPHaishinKit"
      ],
      "sources" : [
        "AMF/AMF0Serializer.swift",
        "AMF/AMF3Serializer.swift",
        "AMF/AMFFoundation.swift",
        "Codec/AVCDecoderConfigurationRecord.swift",
        "Codec/HEVCDecoderConfigurationRecord.swift",
        "Codec/OpusHeaderPacket.swift",
        "Extension/CMVideoFormatDescription+Extension.swift",
        "Extension/IncomingStream+Extension.swift",
        "Extension/URL+Extension.swift",
        "RTMP/RTMPAuthenticator.swift",
        "RTMP/RTMPChunk.swift",
        "RTMP/RTMPConnection.swift",
        "RTMP/RTMPEnhanced.swift",
        "RTMP/RTMPFoundation.swift",
        "RTMP/RTMPHandshake.swift",
        "RTMP/RTMPMessage.swift",
        "RTMP/RTMPObjectEncoding.swift",
        "RTMP/RTMPResponse.swift",
        "RTMP/RTMPSession.swift",
        "RTMP/RTMPSessionFactory.swift",
        "RTMP/RTMPSharedObject.swift",
        "RTMP/RTMPSocket.swift",
        "RTMP/RTMPStatus.swift",
        "RTMP/RTMPStream.swift",
        "RTMP/RTMPStreamInfo.swift",
        "RTMP/RTMPTimestamp.swift",
        "RTMP/RTMPURL.swift",
        "Util/ByteArray.swift",
        "Util/Constants.swift",
        "Util/HKAtomic.swift",
        "Util/MD5.swift"
      ],
      "target_dependencies" : [
        "HaishinKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RTCHaishinKitTests",
      "module_type" : "SwiftTarget",
      "name" : "RTCHaishinKitTests",
      "path" : "RTCHaishinKit/Tests",
      "sources" : [
        "RTP/RTPFormatParameterTests.swift",
        "RTP/RTPJitterBufferTests.swift",
        "RTP/RTPPacketTests.swift",
        "RTP/RTPTimestampTests.swift",
        "SDP/SDPMediaDescriptionTests.swift"
      ],
      "target_dependencies" : [
        "RTCHaishinKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RTCHaishinKit",
      "module_type" : "SwiftTarget",
      "name" : "RTCHaishinKit",
      "path" : "RTCHaishinKit/Sources",
      "product_memberships" : [
        "RTCHaishinKit"
      ],
      "sources" : [
        "Extension/Array+Extension.swift",
        "Extension/AudioCodecSettings.Format+Extension.swift",
        "Extension/VideoCodecSettings.Format+Extension.swift",
        "HTTP/HTTPSession.swift",
        "HTTP/HTTPSessionConfiguration.swift",
        "HTTP/HTTPSessionFactory.swift",
        "RTC/RTCCertificateType.swift",
        "RTC/RTCChannel.swift",
        "RTC/RTCConfiguration.swift",
        "RTC/RTCDataChannel.swift",
        "RTC/RTCDirection.swift",
        "RTC/RTCError.swift",
        "RTC/RTCIceCandidate.swift",
        "RTC/RTCLogger.swift",
        "RTC/RTCPeerConnection.swift",
        "RTC/RTCSendableStreamTrack.swift",
        "RTC/RTCStream.swift",
        "RTC/RTCStreamKind.swift",
        "RTC/RTCStreamTrack.swift",
        "RTC/RTCTrack.swift",
        "RTC/RTCTrackConfiguration.swift",
        "RTC/RTCTransportPolicy.swift",
        "RTP/RTPFormatParameter.swift",
        "RTP/RTPH264Packetizer.swift",
        "RTP/RTPJitterBuffer.swift",
        "RTP/RTPOpusPacketizer.swift",
        "RTP/RTPPacket.swift",
        "RTP/RTPPacketizer.swift",
        "RTP/RTPTimestamp.swift",
        "SDP/SDPMediaDescription.swift",
        "SDP/SDPSessionDescriptionType.swift",
        "Util/CUtil.swift",
        "Util/Constants.swift"
      ],
      "target_dependencies" : [
        "libdatachannel",
        "HaishinKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MoQTHaishinKit",
      "module_type" : "SwiftTarget",
      "name" : "MoQTHaishinKit",
      "path" : "MoQTHaishinKit/Sources",
      "product_memberships" : [
        "MoQTHaishinKit"
      ],
      "sources" : [
        "Constants.swift",
        "ControlMessage/MoQTAnnounce.swift",
        "ControlMessage/MoQTAnnounceError.swift",
        "ControlMessage/MoQTAnnounceOk.swift",
        "ControlMessage/MoQTClientSetup.swift",
        "ControlMessage/MoQTControlMessage.swift",
        "ControlMessage/MoQTGoaway.swift",
        "ControlMessage/MoQTServerSetup.swift",
        "ControlMessage/MoQTSetupParameter.swift",
        "ControlMessage/MoQTSubscribe.swift",
        "ControlMessage/MoQTSubscribeAnnounces.swift",
        "ControlMessage/MoQTSubscribeAnnouncesError.swift",
        "ControlMessage/MoQTSubscribeAnnouncesOk.swift",
        "ControlMessage/MoQTSubscribeError.swift",
        "ControlMessage/MoQTSubscribeOk.swift",
        "ControlMessage/MoQTVersionSpecificParameter.swift",
        "DataStream/MoQTDataStream.swift",
        "DataStream/MoQTObject.swift",
        "DataStream/MoQTStreamHeaderSubgroup.swift",
        "Extension/Data+Extension.swift",
        "Extension/ExpressibleByIntegerLiteral+Extension.swift",
        "Extension/NWProtocolQUIC.Options+Extension.swift",
        "MoQTConnection.swift",
        "MoQTPayload.swift",
        "MoQTSocket.swift",
        "MoQTVersion.swift"
      ],
      "target_dependencies" : [
        "HaishinKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HaishinKitTests",
      "module_type" : "SwiftTarget",
      "name" : "HaishinKitTests",
      "path" : "HaishinKit/Tests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb.flv",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb.m3u8",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb.mp4",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/000.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/001.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/002.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/003.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/004.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb/005.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/SampleVideo_360x240_5mb_2ch.ts",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/HaishinKit/Tests/Asset/change_video_resolution.ts",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AVAudioPCMBufferFactory.swift",
        "CMAudioSampleBufferFactory.swift",
        "CMVideoSampleBufferFactory.swift",
        "Codec/AudioCodecSettingsFormatTests.swift",
        "Codec/AudioCodecTests.swift",
        "Extension/CMSampleBuffer+ExtensionTests.swift",
        "Extension/ExpressibleByIntegerLiteral+ExtensionTests.swift",
        "Extension/SwiftCore+ExtensionTests.swift",
        "ISO/ADTSHeaderTests.swift",
        "ISO/AudioSpecificConfigTests.swift",
        "ISO/ISOTypeBufferUtilTests.swift",
        "ISO/NALUnitReaderTests.swift",
        "Mixer/AudioDeviceUnitTests.swift",
        "Mixer/AudioMixerByMultiTrackTests.swift",
        "Mixer/AudioMixerBySingleTrackTests.swift",
        "Mixer/AudioMixerTrackTests.swift",
        "Mixer/AudioRingBufferTests.swift",
        "Mixer/MediaMixerTests.swift",
        "Mixer/VideoDeviceUnitTests.swift",
        "Screen/ScreenObjectContainerTests.swift",
        "Screen/ScreenObjectTests.swift",
        "Screen/VideoTrackScreenObjectTests.swift",
        "Stream/StreamRecorderTests.swift",
        "TestEnvironment.swift",
        "Util/ByteArrayTests.swift"
      ],
      "target_dependencies" : [
        "HaishinKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HaishinKit",
      "module_type" : "SwiftTarget",
      "name" : "HaishinKit",
      "path" : "HaishinKit/Sources",
      "product_dependencies" : [
        "Logboard"
      ],
      "product_memberships" : [
        "HaishinKit",
        "RTMPHaishinKit",
        "SRTHaishinKit",
        "MoQTHaishinKit",
        "RTCHaishinKit"
      ],
      "sources" : [
        "Codec/ADTSHeader.swift",
        "Codec/AudioCodec.swift",
        "Codec/AudioCodecSettings.swift",
        "Codec/Codec.swift",
        "Codec/VTSessionConvertible.swift",
        "Codec/VTSessionMode.swift",
        "Codec/VTSessionOption.swift",
        "Codec/VTSessionOptionKey.swift",
        "Codec/VideoCodec.swift",
        "Codec/VideoCodecSettings.swift",
        "Extension/AVAudioBuffer+Extension.swift",
        "Extension/AVAudioCompressedBuffer+Extension.swift",
        "Extension/AVAudioPCMBuffer+Extension.swift",
        "Extension/AVAudioTime+Extension.swift",
        "Extension/AVCaptureDevice+Extension.swift",
        "Extension/AVCaptureDevice.Format+Extension.swift",
        "Extension/AVCaptureSession+Extension.swift",
        "Extension/AVCaptureSession.Preset+Extension.swift",
        "Extension/AVFrameRateRange+Extension.swift",
        "Extension/AVLayerVideoGravity+Extension.swift",
        "Extension/CGImage+Extension.swift",
        "Extension/CMSampleBuffer+Extension.swift",
        "Extension/CMTime+Extension.swift",
        "Extension/CMVideoDimention+Extension.swift",
        "Extension/CMVideoFormatDescription+Extension.swift",
        "Extension/CVPixelBuffer+Extension.swift",
        "Extension/CVPixelBufferPool+Extension.swift",
        "Extension/Data+Extension.swift",
        "Extension/ExpressibleByIntegerLiteral+Extension.swift",
        "Extension/Mirror+Extension.swift",
        "Extension/VTCompressionSession+Extension.swift",
        "Extension/VTDecompressionSession+Extension.swift",
        "Extension/vImage_Buffer+Extension.swift",
        "ISO/AudioSpecificConfig.swift",
        "ISO/H264NALUnit.swift",
        "ISO/HEVCNALUnit.swift",
        "ISO/ISOTypeBufferUtil.swift",
        "ISO/NALUnit.swift",
        "ISO/NALUnitReader.swift",
        "Mixer/AudioCaptureUnit.swift",
        "Mixer/AudioDeviceUnit.swift",
        "Mixer/AudioMixer.swift",
        "Mixer/AudioMixerByMultiTrack.swift",
        "Mixer/AudioMixerBySingleTrack.swift",
        "Mixer/AudioMixerSettings.swift",
        "Mixer/AudioMixerTrack.swift",
        "Mixer/AudioMixerTrackSettings.swift",
        "Mixer/AudioMonitor.swift",
        "Mixer/AudioNode.swift",
        "Mixer/AudioRingBuffer.swift",
        "Mixer/CaptureSession.Capabilities.swift",
        "Mixer/CaptureSession.swift",
        "Mixer/CaptureUnit.swift",
        "Mixer/DeviceUnit.swift",
        "Mixer/DynamicRangeMode.swift",
        "Mixer/MediaMixer.swift",
        "Mixer/MediaMixerOutput.swift",
        "Mixer/VideoCaptureUnit.swift",
        "Mixer/VideoDeviceUnit.swift",
        "Mixer/VideoMixer.swift",
        "Mixer/VideoMixerSettings.swift",
        "Network/NetworkConnection.swift",
        "Network/NetworkMonitor.swift",
        "Network/NetworkMonitorEvent.swift",
        "Network/NetworkMonitorReport.swift",
        "Network/NetworkTransportReport.swift",
        "Network/NetworkTransportReporter.swift",
        "Screen/AssetScreenObject.swift",
        "Screen/ChromaKeyProcessor.swift",
        "Screen/DisplayLinkChoreographer.swift",
        "Screen/ImageScreenObject.swift",
        "Screen/RoundedRectangleFactory.swift",
        "Screen/Screen.swift",
        "Screen/ScreenActor.swift",
        "Screen/ScreenObject.swift",
        "Screen/ScreenObjectContainer.swift",
        "Screen/ScreenRenderer.swift",
        "Screen/ScreenRendererByCPU.swift",
        "Screen/ScreenRendererByGPU.swift",
        "Screen/Shape.swift",
        "Screen/ShapeFactory.swift",
        "Screen/StreamScreenObject.swift",
        "Screen/TextScreenObject.swift",
        "Screen/VideoEffect.swift",
        "Screen/VideoTrackScreenObject.swift",
        "Session/Session.swift",
        "Session/SessionBuilder.swift",
        "Session/SessionBuilderFactory.swift",
        "Session/SessionConfiguration.swift",
        "Session/SessionFactory.swift",
        "Stream/AudioPlayer.swift",
        "Stream/AudioPlayerNode.swift",
        "Stream/IncomingStream.swift",
        "Stream/MediaLink.swift",
        "Stream/OutgoingStream.swift",
        "Stream/SoundTransform.swift",
        "Stream/StreamBitRateStrategy.swift",
        "Stream/StreamConvertible.swift",
        "Stream/StreamOutput.swift",
        "Stream/StreamReadyState.swift",
        "Stream/StreamRecorder.swift",
        "Util/AVAudioUtil.swift",
        "Util/AsyncStreamed.swift",
        "Util/AsyncStreamedFlow.swift",
        "Util/AudioTime.swift",
        "Util/ByteArray.swift",
        "Util/Constants.swift",
        "Util/DataConvertible.swift",
        "Util/DeviceUtil.swift",
        "Util/FrameTracker.swift",
        "Util/Runner.swift",
        "Util/TypedBlockQueue.swift",
        "View/MTHKView.swift",
        "View/MTHKViewRepresentable.swift",
        "View/PiPHKView.swift",
        "View/PiPHKViewRepresentable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.