Build Information
Successful build of StreamUI, reference master (a83f11), with Swift 6.2 for macOS (SPM) on 23 Jun 2025 18:08:16 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/StreamUI/StreamUI.swift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/StreamUI/StreamUI.swift
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at a83f117 Update README.md
Cloned https://github.com/StreamUI/StreamUI.swift.git
Revision (git rev-parse @):
a83f117fd247b503acb233eb92a8d9ce9b55962f
SUCCESS checkout https://github.com/StreamUI/StreamUI.swift.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/StreamUI/StreamUI.swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/37] Copying github.png
[1/37] Write sources
[1/37] Copying Package.swift.stencil
[1/37] Write sources
[5/37] Copying discord.png
[5/37] Copying main.swift.stencil
[5/37] Copying x.png
[7/37] Write sources
[21/37] Write GenerateTemplate-entitlement.plist
[22/37] Write sources
[25/37] Write CLIExample-entitlement.plist
[26/37] Write sources
[27/37] Write swift-version-1EA4D86E10B52AF.txt
[29/136] Compiling ArgumentParserToolInfo ToolInfo.swift
[30/136] Emitting module ArgumentParserToolInfo
[31/175] Emitting module Logging
[32/175] Compiling Logging MetadataProvider.swift
[33/175] Compiling Logging Locks.swift
[34/175] Compiling Logging LogHandler.swift
[35/175] Compiling Logging Logging.swift
[35/175] Compiling c-nioatomics.c
[36/175] Compiling SwiftPMSupport dummy.m
[37/175] Compiling c-atomics.c
[39/181] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[40/181] Emitting module ConcurrencyExtras
[41/182] Compiling NIOConcurrencyHelpers NIOLock.swift
[42/182] Compiling ArgumentParser ParsableCommand.swift
[43/182] Compiling ArgumentParser ArgumentDecoder.swift
[44/184] Compiling NIOConcurrencyHelpers lock.swift
[45/184] Compiling NIOConcurrencyHelpers atomics.swift
[46/184] Compiling ConcurrencyExtras UncheckedSendable.swift
[47/184] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[48/184] Emitting module NIOConcurrencyHelpers
[49/211] Compiling ConsoleKitTerminal Console+Ask.swift
[50/211] Compiling ConsoleKitTerminal Console+Choose.swift
[51/211] Emitting module ConsoleKitTerminal
[52/213] Compiling ConsoleKitTerminal ConsoleClear.swift
[55/213] Compiling ConsoleKitTerminal ActivityIndicatorState.swift
[56/213] Compiling ConsoleKitTerminal CustomActivity.swift
[57/213] Compiling ConsoleKitTerminal LoadingBar.swift
[58/213] Compiling ConsoleKitTerminal ProgressBar.swift
[59/213] Compiling ConsoleKitTerminal Console+Clear.swift
[60/213] Compiling ConsoleKitTerminal Console+Ephemeral.swift
[61/213] Compiling ConsoleKitTerminal Console+Confirm.swift
[62/213] Compiling ConsoleKitTerminal Console+Input.swift
[63/213] Emitting module IssueReporting
[64/213] Compiling ConsoleKitTerminal Console+Center.swift
[65/213] Compiling ConsoleKitTerminal ActivityBar.swift
[66/213] Compiling ConcurrencyExtras Locking.swift
[67/213] Compiling ConsoleKitTerminal AnySendableHashable.swift
[68/213] Compiling ConsoleKitTerminal Console+Output.swift
[69/213] Compiling ConsoleKitTerminal ConsoleTextFragment.swift
[70/213] Compiling ConsoleKitTerminal readpassphrase_linux.swift
[71/213] Compiling ConsoleKitTerminal ActivityIndicator.swift
[72/213] Compiling ConsoleKitTerminal ActivityIndicatorRenderer.swift
[73/213] Compiling ConsoleKitTerminal ConsoleStyle.swift
[74/213] Compiling ConsoleKitTerminal ConsoleText.swift
[77/213] Compiling ConcurrencyExtras UncheckedBox.swift
[78/213] Compiling ConcurrencyExtras LockIsolated.swift
[79/213] Compiling ConcurrencyExtras MainSerialExecutor.swift
[80/213] Compiling ConcurrencyExtras Task.swift
[81/213] Compiling ConcurrencyExtras Result.swift
[82/213] Compiling ConsoleKitTerminal ANSI.swift
[83/213] Compiling ConsoleKitTerminal Console.swift
[84/213] Compiling ConsoleKitTerminal Console+Wait.swift
[85/213] Compiling ConsoleKitTerminal ConsoleColor.swift
[86/213] Compiling ConcurrencyExtras AsyncStream.swift
[87/213] Compiling ConcurrencyExtras AsyncThrowingStream.swift
[88/213] Compiling Logboard LBLogger.swift
[89/213] Emitting module Logboard
[90/213] Compiling Logboard SocketAppender.swift
[91/213] Compiling Logboard LBLogger.Data.swift
[92/213] Compiling Logboard ConsoleAppender.swift
[93/213] Compiling Logboard NullAppender.swift
[94/213] Compiling Logboard MultiAppender.swift
[95/213] Compiling Logboard LBLoggerAppender.swift
[96/213] Compiling Logboard OSLoggerAppender.swift
[102/213] Emitting module ArgumentParser
[116/217] Compiling ConsoleKitTerminal Terminal.swift
[120/226] Compiling ArgumentParser InputOrigin.swift
[121/226] Compiling ArgumentParser Name.swift
[122/226] Compiling ArgumentParser Parsed.swift
[123/226] Compiling ArgumentParser ParsedValues.swift
[124/226] Compiling ArgumentParser HelpGenerator.swift
[125/226] Compiling ArgumentParser MessageInfo.swift
[126/226] Compiling ArgumentParser UsageGenerator.swift
[127/226] Compiling ArgumentParser CollectionExtensions.swift
[128/226] Compiling ConsoleKitTerminal ConsoleLogger.swift
[129/226] Compiling ConsoleKitTerminal LoggerFragment.swift
[130/226] Compiling ArgumentParser DumpHelpGenerator.swift
[131/226] Compiling ArgumentParser HelpCommand.swift
[137/342] Compiling HaishinKit IOUnit.swift
[138/342] Compiling HaishinKit IOVideoCaptureUnit.swift
[139/342] Compiling HaishinKit IOVideoMixer.swift
[140/342] Compiling HaishinKit IOVideoMixerSettings.swift
[141/342] Compiling HaishinKit IOStreamObserver.swift
[142/342] Compiling HaishinKit IOStreamRecorder.swift
[143/342] Compiling HaishinKit IOStreamView.swift
[144/342] Compiling HaishinKit IOTellyUnit.swift
[145/342] Compiling HaishinKit AVAudioPCMBuffer+Extension.swift
[146/342] Compiling HaishinKit AVAudioTime+Extension.swift
[147/342] Compiling HaishinKit AVCaptureDevice+Extension.swift
[148/342] Compiling HaishinKit IOStreamBitRateStrategyConvertible.swift
[149/342] Compiling HaishinKit IOVideoUnit.swift
[150/342] Compiling HaishinKit MTHKView.swift
[151/342] Compiling HaishinKit MediaLink.swift
[152/342] Compiling HaishinKit PiPHKView.swift
[153/342] Compiling HaishinKit TSPacket.swift
[154/342] Compiling HaishinKit TSProgram.swift
[155/342] Emitting module PathKit
[156/342] Compiling PathKit PathKit.swift
[157/386] Compiling HaishinKit RTMPChunk.swift
[158/386] Compiling HaishinKit AVCaptureDevice.Format+Extension.swift
[159/386] Compiling HaishinKit AVCaptureSession+Extension.swift
[160/386] Compiling HaishinKit AVCaptureSession.Preset+Extension.swift
[161/386] Compiling Stencil Parser.swift
[162/386] Compiling Stencil FilterTag.swift
[163/388] Compiling ConsoleKitCommands String+LevenshteinDistance.swift
[164/388] Compiling ConsoleKitCommands Utilities.swift
[165/388] Compiling Stencil Inheritance.swift
[166/388] Compiling Stencil KeyPath.swift
[167/390] Compiling Stencil NowTag.swift
[169/390] Compiling Stencil Template.swift
[170/390] Compiling Stencil Tokenizer.swift
[171/390] Compiling Stencil IfTag.swift
[172/390] Compiling Stencil Include.swift
[173/390] Compiling Stencil LazyValueWrapper.swift
[174/390] Compiling Stencil Lexer.swift
[175/390] Compiling Stencil Loader.swift
[176/390] Compiling Stencil Node.swift
[177/390] Compiling Stencil Context.swift
[178/390] Compiling Stencil DynamicMemberLookup.swift
[179/390] Compiling Stencil Environment.swift
[180/390] Compiling Stencil Errors.swift
[181/390] Compiling Stencil Expression.swift
[182/390] Compiling Stencil Extension.swift
[184/390] Compiling Stencil Filters.swift
[185/390] Compiling Stencil ForTag.swift
[186/390] Emitting module Stencil
[198/390] Emitting module ConsoleKitCommands
[207/392] Compiling Stencil TrimBehaviour.swift
[208/392] Compiling Stencil Variable.swift
[209/395] Emitting module ConsoleKit
[210/395] Compiling ConsoleKit Exports.swift
[211/395] Emitting module Nuke
[212/400] Compiling Clocks UnimplementedClock.swift
[213/400] Compiling Clocks Timer.swift
[214/400] Compiling Clocks TestClock.swift
[227/400] Compiling HaishinKit AMFFoundation.swift
[228/400] Compiling HaishinKit EventDispatcher.swift
[229/400] Compiling HaishinKit FLVFoundation.swift
[234/400] Compiling HaishinKit AVFrameRateRange+Extension.swift
[235/400] Compiling HaishinKit AVLayerVideoGravity+Extension.swift
[236/400] Compiling HaishinKit CGImage+Extension.swift
[237/400] Compiling HaishinKit NetClient.swift
[238/400] Compiling HaishinKit NetService.swift
[239/400] Compiling HaishinKit NetSocket.swift
[240/400] Compiling HaishinKit AMF0Serializer.swift
[241/400] Compiling HaishinKit AMF3Serializer.swift
[242/400] Compiling HaishinKit CMFormatDescription+Extension.swift
[243/400] Compiling HaishinKit CMSampleBuffer+Extension.swift
[244/400] Compiling HaishinKit CMTime+Extension.swift
[245/400] Compiling HaishinKit CMVideoDimention+Extension.swift
[246/400] Compiling HaishinKit CMVideoFormatDescription+Extension.swift
[251/400] Compiling HaishinKit TSReader.swift
[252/400] Compiling HaishinKit TSWriter.swift
[253/400] Compiling GenerateTemplate index.swift
/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/index.swift:16:13: warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
14 | let currentPath = FileManager.default.currentDirectoryPath
15 |
16 | let templatesPath = currentPath + "/Scripts/GenerateTemplate/Templates"
| `- warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
17 |
18 | guard !FileManager.default.fileExists(atPath: productName) else {
[254/400] Compiling GenerateTemplate resource_bundle_accessor.swift
[255/400] Emitting module GenerateTemplate
[255/400] Write Objects.LinkFileList
[257/400] Compiling Nuke TaskFetchOriginalData.swift
[258/400] Compiling Nuke TaskFetchOriginalImage.swift
[259/400] Compiling Nuke TaskFetchWithPublisher.swift
[260/400] Compiling Nuke TaskLoadData.swift
[261/400] Compiling Nuke TaskLoadImage.swift
[273/400] Linking GenerateTemplate
[274/400] Applying GenerateTemplate
[276/400] Emitting module HaishinKit
[277/412] Compiling Clocks Lock.swift
[278/412] Compiling Clocks _AsyncTimerSequence.swift
[279/412] Compiling Clocks ImmediateClock.swift
[280/412] Emitting module Clocks
[281/412] Compiling Clocks SwiftUI.swift
[282/412] Compiling Clocks AnyClock.swift
[283/412] Compiling HaishinKit Choreographer.swift
[284/412] Compiling HaishinKit ChromaKeyProcessor.swift
[285/412] Compiling HaishinKit Screen.swift
[286/412] Compiling HaishinKit ScreenObject.swift
[287/412] Compiling HaishinKit ScreenObjectContainer.swift
[288/412] Compiling HaishinKit ScreenRenderer.swift
[289/412] Compiling HaishinKit Shape.swift
[290/412] Compiling HaishinKit ShapeFactory.swift
[291/412] Compiling HaishinKit StreamScreenObject.swift
[292/412] Compiling HaishinKit VideoEffect.swift
[293/412] Compiling HaishinKit VideoRotator.swift
[294/412] Compiling HaishinKit AVAudioUtil.swift
[295/412] Compiling HaishinKit SoundTransform.swift
[296/412] Compiling HaishinKit ADTS.swift
[297/412] Compiling HaishinKit AVCDecoderConfigurationRecord.swift
[298/412] Compiling HaishinKit AVCNALUnit.swift
[299/412] Compiling HaishinKit AudioSpecificConfig.swift
[300/412] Compiling HaishinKit CRC32.swift
[301/412] Compiling HaishinKit ESSpecificData.swift
[302/412] Compiling HaishinKit HEVCDecoderConfigurationRecord.swift
[303/412] Compiling HaishinKit HEVCNALUnit.swift
[304/412] Compiling HaishinKit ISOTypeBufferUtil.swift
[305/412] Compiling HaishinKit NALUnitReader.swift
[306/412] Compiling HaishinKit PacketizedElementaryStream.swift
[307/412] Compiling HaishinKit TSField.swift
[308/412] Compiling HaishinKit Data+Extension.swift
[309/412] Compiling HaishinKit ExpressibleByIntegerLiteral+Extension.swift
[310/412] Compiling HaishinKit Mirror+Extension.swift
[311/412] Compiling HaishinKit NSView+Extension.swift
[312/412] Compiling HaishinKit URL+Extension.swift
[313/412] Compiling HaishinKit VTCompressionSession+Extension.swift
[314/412] Compiling HaishinKit VTDecompressionSession+Extension.swift
[315/412] Compiling HaishinKit VTRotationSessionOption+Extension.swift
[316/412] Compiling HaishinKit vImage_Buffer+Extension.swift
[317/412] Compiling HaishinKit AudioNode.swift
[318/412] Compiling HaishinKit IOAudioCaptureUnit.swift
[319/412] Compiling HaishinKit IOAudioMixer.swift
[320/412] Compiling HaishinKit IOAudioMixerByMultiTrack.swift
[321/412] Compiling HaishinKit IOAudioMixerBySingleTrack.swift
[322/412] Compiling HaishinKit IOAudioMixerSettings.swift
[323/412] Compiling HaishinKit IOAudioMixerTrack.swift
[324/412] Compiling HaishinKit IOAudioMonitor.swift
[325/412] Compiling HaishinKit IOAudioRingBuffer.swift
[326/412] Compiling HaishinKit IOAudioTime.swift
[327/412] Compiling HaishinKit IOAudioUnit.swift
[328/412] Compiling HaishinKit IOCaptureSession.swift
[329/412] Compiling HaishinKit IOCaptureUnit.swift
[330/412] Compiling HaishinKit IOCaptureVideoPreview.swift
[331/412] Compiling HaishinKit IOMixer.swift
[332/412] Compiling HaishinKit IOMuxer.swift
[333/412] Compiling HaishinKit IOStream.swift
[334/412] Compiling HaishinKit AnyUtil.swift
[335/412] Compiling HaishinKit Atomic.swift
[336/412] Compiling HaishinKit ByteArray.swift
[337/412] Compiling HaishinKit Constants.swift
[338/412] Compiling HaishinKit DataBuffer.swift
[339/412] Compiling HaishinKit DataConvertible.swift
[340/412] Compiling HaishinKit DeviceUtil.swift
[341/412] Compiling HaishinKit FrameTracker.swift
[342/412] Compiling HaishinKit InstanceHolder.swift
[343/412] Compiling HaishinKit MD5.swift
[344/412] Compiling HaishinKit Running.swift
[345/412] Compiling HaishinKit TypedBlockQueue.swift
[362/412] Compiling HaishinKit RTMPMuxer.swift
[363/412] Compiling HaishinKit RTMPNWSocket.swift
[364/412] Compiling HaishinKit RTMPObjectEncoding.swift
[365/412] Compiling HaishinKit RTMPSharedObject.swift
[366/412] Compiling HaishinKit RTMPSocketCompatible.swift
[367/412] Compiling HaishinKit RTMPStream.swift
[368/412] Compiling HaishinKit RTMPStreamInfo.swift
[369/412] Compiling HaishinKit RTMPTSocket.swift
[370/412] Compiling HaishinKit RTMPTimestamp.swift
[410/438] Compiling StreamUI StreamingLoadingIndicator.swift
[411/438] Compiling StreamUI StreamingMediaPlayer.swift
[412/438] Compiling StreamUI StreamingProgressView.swift
[413/440] Compiling StreamUI Image+Extension.swift
[414/440] Compiling StreamUI ControlledClock.swift
[415/440] Compiling StreamUI FrameTimer.swift
[416/440] Compiling StreamUI HUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 | console.clear(lines: 5)
[417/440] Compiling StreamUI SizedView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 | console.clear(lines: 5)
[418/440] Compiling StreamUI StreamingImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 | }
35 | let elapsedTime = recorder.controlledClock.elapsedTime
36 | let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
| `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 | let stateEmoji = getStateEmoji(for: recorder.state)
38 | let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 | """
53 |
54 | let text = "hello"
| `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 | console.clear(lines: 5)
[419/440] Compiling StreamUI RTMPStreaming.swift
[420/440] Compiling StreamUI resource_bundle_accessor.swift
[421/440] Compiling StreamUI FrameStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[422/440] Compiling StreamUI createStreamUIRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[423/440] Compiling StreamUI AudioRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
92 | private func processAudioSamples() async {
93 | for await audioSample in audioStream.stream {
94 | await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
| `- warning: no 'async' operations occur within 'await' expression
95 | }
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 | playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 | if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
| `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 | self?.addToStream(buffer, at: when.toCMTime())
217 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 | }
251 |
252 | dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
| `- note: use 'update(from:count:)' instead
253 | }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 | let channelCount = buffer.format.channelCount
243 | let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
| `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 | for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
| `- warning: no calls to throwing functions occur within 'try' expression
327 | } catch {
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 | do {
326 | try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 | LoggerHelper.shared.error("Error converting buffer: \(error)")
329 | return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[424/440] Compiling StreamUI LoggerHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 | private init() {
20 | self.logger = Logger(label: "live.stream.ui")
21 | LoggingSystem.bootstrap(StreamLogHandler.standardError)
| `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 | }
65 | }
[425/440] Compiling StreamUI MetalRenderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 | private init() {
20 | self.logger = Logger(label: "live.stream.ui")
21 | LoggingSystem.bootstrap(StreamLogHandler.standardError)
| `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 | }
65 | }
[426/440] Compiling StreamUI PreloadManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 | private init() {
20 | self.logger = Logger(label: "live.stream.ui")
21 | LoggingSystem.bootstrap(StreamLogHandler.standardError)
| `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 | // Preload images using Nuke
32 | func preloadImage(from url: URL) async throws {
33 | try await imagePipeline.image(for: url)
| `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 | }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 | try await preloadImage(from: url)
62 | } else {
63 | try await preloadMedia(from: url)
| `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 | }
65 | }
[427/440] Compiling StreamUI RecorderKeys.swift
[428/440] Compiling StreamUI RenderSettings.swift
[429/440] Compiling StreamUI AudioStream.swift
[430/440] Compiling StreamUI StreamingVideoPlayer.swift
[431/440] Compiling StreamUI AVAudioTime+Extensions.swift
[432/440] Compiling StreamUI Duration+Extensions.swift
[433/440] Compiling StreamUI Recorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused [#no-usage]
112 | // try await Task.sleep(for: frameDuration)
113 | }
114 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
115 |
116 | case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused [#no-usage]
115 |
116 | case .paused:
117 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
118 | try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused [#no-usage]
123 | }
124 |
125 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
126 | await finishRecording()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
177 |
178 | if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 | if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
| `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
180 | try? FileManager.default.removeItem(at: tempOutputURL)
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
250 | return await withCheckedContinuation { continuation in
251 | exportSession.exportAsynchronously {
252 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
253 | case .completed:
254 | continuation.resume(returning: trimmedOutputURL)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:159:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
157 | NS_SWIFT_NONSENDABLE
158 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
159 | @interface AVAssetExportSession : NSObject
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
160 | {
161 | @private
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[434/440] Compiling StreamUI createCMSampleBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused [#no-usage]
112 | // try await Task.sleep(for: frameDuration)
113 | }
114 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
115 |
116 | case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused [#no-usage]
115 |
116 | case .paused:
117 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
118 | try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused [#no-usage]
123 | }
124 |
125 | self.hud.render()
| `- warning: result of call to 'render()' is unused [#no-usage]
126 | await finishRecording()
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
177 |
178 | if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 | if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
| `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
180 | try? FileManager.default.removeItem(at: tempOutputURL)
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
250 | return await withCheckedContinuation { continuation in
251 | exportSession.exportAsynchronously {
252 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
253 | case .completed:
254 | continuation.resume(returning: trimmedOutputURL)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:159:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
157 | NS_SWIFT_NONSENDABLE
158 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
159 | @interface AVAssetExportSession : NSObject
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
160 | {
161 | @private
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[435/440] Emitting module StreamUI
[436/440] Compiling StreamUI VideoRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
167 | .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 | height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 | .onChange(of: recorder.state) { recorderState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
170 | if recorderState == .finished {
171 | isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:47: warning: capture of non-sendable type 'Content.Type' in an isolated closure
124 | recorder.stopRecording()
125 | Task {
126 | await recorder.waitForRecordingCompletion()
| `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
127 | }
128 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:56:32: warning: capture of non-sendable type 'Content.Type' in an isolated closure
54 | }
55 |
56 | public var body: some View {
| `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
57 | GeometryReader { geometry in
58 | HStack(spacing: 0) {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
249 | isAnimating = state == .recording
250 | }
251 | .onChange(of: state) { newState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
252 | isAnimating = newState == .recording
253 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[437/440] Compiling StreamUI StreamUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
167 | .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 | height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 | .onChange(of: recorder.state) { recorderState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
170 | if recorderState == .finished {
171 | isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:47: warning: capture of non-sendable type 'Content.Type' in an isolated closure
124 | recorder.stopRecording()
125 | Task {
126 | await recorder.waitForRecordingCompletion()
| `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
127 | }
128 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:56:32: warning: capture of non-sendable type 'Content.Type' in an isolated closure
54 | }
55 |
56 | public var body: some View {
| `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
57 | GeometryReader { geometry in
58 | HStack(spacing: 0) {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
249 | isAnimating = state == .recording
250 | }
251 | .onChange(of: state) { newState in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
252 | isAnimating = newState == .recording
253 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[438/449] Compiling VideoViews VideoTestView.swift
[439/449] Compiling VideoViews WebViewTestView.swift
[440/449] Compiling VideoViews SpriteKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:237:33: warning: expression implicitly coerced from 'Int?' to 'Any'
235 |
236 | var newFrameCount: Int {
237 | print("recorder count", recorder?.frameTimer.frameCount)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'Int?' to 'Any'
238 | return 10
239 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:38: warning: expression implicitly coerced from 'Int?' to 'Any'
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'Int?' to 'Any'
272 | updateCircleAnimation()
273 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:71: warning: expression implicitly coerced from 'Int?' to 'Any'
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
| |- warning: expression implicitly coerced from 'Int?' to 'Any'
| |- note: provide a default value to avoid this warning
| |- note: force-unwrap the value to avoid this warning
| `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
272 | updateCircleAnimation()
273 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:270:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
268 | }
269 | }
270 | .onChange(of: recorder?.frameTimer.frameCount) { newCount in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
271 | print("new frame count", recorder?.frameTimer.frameCount, newCount)
272 | updateCircleAnimation()
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[441/449] Compiling VideoViews SoundTestView.swift
[442/449] Compiling VideoViews RandomSwiftUIComponentsTestView.swift
[443/449] Compiling VideoViews BasicCounterView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/BasicCounterView.swift:29:30: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
27 | .padding()
28 |
29 | Text("Counter: \(recorder?.controlledClock.elapsedTime)")
| | |- note: use 'String(describing:)' to silence this warning
| | `- note: provide a default value to avoid this warning
| `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
30 | .font(.largeTitle)
31 | .foregroundColor(.green)
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/BasicCounterView.swift:29:29: warning: 'appendInterpolation' is deprecated: Localized string interpolation produces an unlocalized, debug description for this type of value. Use a type supported by LocalizedStringKey.StringInterpolation or initialize a LocalizedStringResource instead with an interpolated value that conforms to CustomLocalizedStringResourceConvertible. [#DeprecatedDeclaration]
27 | .padding()
28 |
29 | Text("Counter: \(recorder?.controlledClock.elapsedTime)")
| `- warning: 'appendInterpolation' is deprecated: Localized string interpolation produces an unlocalized, debug description for this type of value. Use a type supported by LocalizedStringKey.StringInterpolation or initialize a LocalizedStringResource instead with an interpolated value that conforms to CustomLocalizedStringResourceConvertible. [#DeprecatedDeclaration]
30 | .font(.largeTitle)
31 | .foregroundColor(.green)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[444/449] Emitting module VideoViews
[445/449] Compiling VideoViews ImageTestView.swift
[446/449] Compiling VideoViews SceneKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:28:26: warning: expression implicitly coerced from 'NSImage?' to 'Any'
26 | func updateSnapshot() {
27 | self.snapshotImage = self.scnView.snapshot()
28 | print("snapper", self.snapshotImage)
| | |- note: provide a default value to avoid this warning
| | |- note: force-unwrap the value to avoid this warning
| | `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
| `- warning: expression implicitly coerced from 'NSImage?' to 'Any'
29 | self.frameCount += 1
30 | }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:317:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
315 | Text("Frame: \(recorder?.frameTimer.frameCount ?? 0)")
316 | }
317 | .onChange(of: recorder?.frameTimer.frameCount) { _ in
| `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
318 | updateBallPosition()
319 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[447/451] Compiling CLIExample index.swift
[448/451] Emitting module CLIExample
[448/451] Write Objects.LinkFileList
[449/451] Linking CLIExample
[450/451] Applying CLIExample
Build complete! (58.45s)
Fetching https://github.com/pointfreeco/swift-clocks.git
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/shogo4405/HaishinKit.swift.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/kean/Nuke.git
Fetching https://github.com/vapor/console-kit.git
Fetching https://github.com/stencilproject/Stencil.git
[13/1292] Fetching swift-clocks
[221/7310] Fetching swift-clocks, console-kit
[522/11146] Fetching swift-clocks, console-kit, swift-log
[638/37221] Fetching swift-clocks, console-kit, swift-log, nuke
[715/42514] Fetching swift-clocks, console-kit, swift-log, nuke, stencil
[4254/57894] Fetching swift-clocks, console-kit, swift-log, nuke, stencil, swift-argument-parser
[20646/95152] Fetching swift-clocks, console-kit, swift-log, nuke, stencil, swift-argument-parser, haishinkit.swift
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.53s)
Fetched https://github.com/apple/swift-log.git from cache (1.53s)
[37487/75936] Fetching swift-clocks, console-kit, nuke, stencil, haishinkit.swift
Fetched https://github.com/kean/Nuke.git from cache (1.78s)
Fetched https://github.com/vapor/console-kit.git from cache (1.78s)
[9939/43843] Fetching swift-clocks, stencil, haishinkit.swift
Fetched https://github.com/stencilproject/Stencil.git from cache (5.35s)
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (5.35s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (5.35s)
Computing version for https://github.com/stencilproject/Stencil.git
Computed https://github.com/stencilproject/Stencil.git at 0.15.1 (7.95s)
Fetching https://github.com/kylef/PathKit.git
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
[165/2432] Fetching spectre, pathkit
Fetched https://github.com/kylef/Spectre.git from cache (0.86s)
Fetched https://github.com/kylef/PathKit.git from cache (0.86s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (1.37s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (1.90s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 12.8.0 (0.40s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.1 (0.41s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.15.2 (0.41s)
Fetching https://github.com/apple/swift-nio.git
[1/76339] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (3.55s)
Computing version for https://github.com/pointfreeco/swift-clocks.git
Computed https://github.com/pointfreeco/swift-clocks.git at 1.0.6 (3.99s)
Fetching https://github.com/pointfreeco/swift-concurrency-extras
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[1/861] Fetching swift-concurrency-extras
[243/6328] Fetching swift-concurrency-extras, xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (1.36s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.36s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (1.77s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.3.1 (0.40s)
Computing version for https://github.com/shogo4405/HaishinKit.swift.git
Computed https://github.com/shogo4405/HaishinKit.swift.git at 1.9.9 (0.40s)
Fetching https://github.com/shogo4405/Logboard.git
[1/1560] Fetching logboard
Fetched https://github.com/shogo4405/Logboard.git from cache (1.01s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.5.0 (1.41s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.5.2 (0.40s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.83.0 (0.59s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
[1/1797] Fetching swift-atomics
[73/6233] Fetching swift-atomics, swift-system
[948/22873] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (1.62s)
Fetched https://github.com/apple/swift-collections.git from cache (1.62s)
Fetched https://github.com/apple/swift-system.git from cache (1.62s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.0 (2.07s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.5.0 (0.40s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.0 (0.49s)
Creating working copy for https://github.com/shogo4405/HaishinKit.swift.git
Working copy of https://github.com/shogo4405/HaishinKit.swift.git resolved at 1.9.9
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/pointfreeco/swift-clocks.git
Working copy of https://github.com/pointfreeco/swift-clocks.git resolved at 1.0.6
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.83.0
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/stencilproject/Stencil.git
Working copy of https://github.com/stencilproject/Stencil.git resolved at 0.15.1
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.5.2
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.5.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.5.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.0
Creating working copy for https://github.com/pointfreeco/swift-concurrency-extras
Working copy of https://github.com/pointfreeco/swift-concurrency-extras resolved at 1.3.1
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 12.8.0
Creating working copy for https://github.com/vapor/console-kit.git
Working copy of https://github.com/vapor/console-kit.git resolved at 4.15.2
Creating working copy for https://github.com/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.5.0
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
warning: 'haishinkit.swift': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/HaishinKit.swift/Sources/SwiftPMSupport/dummy.m
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "haishinkit.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/shogo4405/HaishinKit.swift.git"
},
{
"identity" : "stencil",
"requirement" : {
"range" : [
{
"lower_bound" : "0.15.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/stencilproject/Stencil.git"
},
{
"identity" : "swift-clocks",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-clocks.git"
},
{
"identity" : "nuke",
"requirement" : {
"range" : [
{
"lower_bound" : "12.7.3",
"upper_bound" : "13.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kean/Nuke.git"
},
{
"identity" : "console-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "4.14.3",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/console-kit.git"
}
],
"manifest_display_name" : "StreamUI",
"name" : "StreamUI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "StreamUI",
"targets" : [
"StreamUI"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CLIExample",
"targets" : [
"CLIExample"
],
"type" : {
"executable" : null
}
},
{
"name" : "VideoViews",
"targets" : [
"VideoViews"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GenerateTemplate",
"targets" : [
"GenerateTemplate"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "VideoViews",
"module_type" : "SwiftTarget",
"name" : "VideoViews",
"path" : "Examples/VideoViews",
"product_memberships" : [
"CLIExample",
"VideoViews"
],
"sources" : [
"BasicCounterView.swift",
"ImageTestView.swift",
"RandomSwiftUIComponentsTestView.swift",
"SceneKitTestView.swift",
"SoundTestView.swift",
"SpriteKitTestView.swift",
"VideoTestView.swift",
"WebViewTestView.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "library"
},
{
"c99name" : "StreamUITests",
"module_type" : "SwiftTarget",
"name" : "StreamUITests",
"path" : "Tests/StreamUITests",
"sources" : [
"StreamUITests.swift"
],
"target_dependencies" : [
"StreamUI"
],
"type" : "test"
},
{
"c99name" : "StreamUI",
"module_type" : "SwiftTarget",
"name" : "StreamUI",
"path" : "Sources/StreamUI",
"product_dependencies" : [
"HaishinKit",
"Logging",
"Clocks",
"Nuke",
"ConsoleKit"
],
"product_memberships" : [
"StreamUI",
"CLIExample",
"VideoViews"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/discord.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/github.png",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/x.png",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Components/Internal/HUD.swift",
"Components/Internal/SizedView.swift",
"Components/StreamingImage.swift",
"Components/StreamingLoadingIndicator.swift",
"Components/StreamingMediaPlayer.swift",
"Components/StreamingProgressView.swift",
"Components/StreamingVideoPlayer.swift",
"Extensions/AVAudioTime+Extensions.swift",
"Extensions/Duration+Extensions.swift",
"Extensions/Image+Extension.swift",
"Helpers/ControlledClock.swift",
"Helpers/FrameTimer.swift",
"Helpers/LoggerHelper.swift",
"Helpers/MetalRenderer.swift",
"Helpers/PreloadManager.swift",
"Helpers/RecorderKeys.swift",
"Helpers/RenderSettings.swift",
"Helpers/Streams/AudioStream.swift",
"Helpers/Streams/FrameStream.swift",
"Helpers/createStreamUIRecorder.swift",
"Recorders/AudioRecorder/AudioRecorder.swift",
"Recorders/Recorder.swift",
"Recorders/VideoRecorder/Extensions/createCMSampleBuffer.swift",
"Recorders/VideoRecorder/VideoRecorder.swift",
"StreamUI.swift",
"Streaming/RTMPStreaming.swift"
],
"type" : "library"
},
{
"c99name" : "GenerateTemplate",
"module_type" : "SwiftTarget",
"name" : "GenerateTemplate",
"path" : "Scripts/GenerateTemplate",
"product_dependencies" : [
"Stencil",
"ArgumentParser",
"Logging"
],
"product_memberships" : [
"GenerateTemplate"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/Package.swift.stencil",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/main.swift.stencil",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"index.swift"
],
"type" : "executable"
},
{
"c99name" : "CLIExample",
"module_type" : "SwiftTarget",
"name" : "CLIExample",
"path" : "Examples/CLIExample",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"CLIExample"
],
"sources" : [
"index.swift"
],
"target_dependencies" : [
"StreamUI",
"VideoViews"
],
"type" : "executable"
}
],
"tools_version" : "5.10"
}
Done.