Releases: shogo4405/HaishinKit.swift
1.8.0
We've added a mixing feature to enable the use of different audio sources. Since it's still in beta, please provide feedback. It can be utilized by following these steps.
FeatureUtil.setEnabled(for: .multiTrackAudioMixing, isEnabled: true)
stream.append(sampleBufferA, track: 0)
stream.append(sampleBufferB, track: 1)
Internally, I am now handling data with more than 3 channels. If you encounter issues with IOStreamRecorder, it is recommended to set it back to a maximum of 2 channels when saving locally.
let channels = max(stream.audioInputFormats[0].channels ?? 1, 2)
stream.audioMixerSettings = .init(sampleRate: 0, channels: channels)
Also made the following changes:
- Updated the minimum supported OS version.
- Reviewed the API design to handle audio data from different sources.
- Improved compatibility with RTMP.
- Enhanced performance of SRT.
Note
Related Issues
What's Changed
- Add multichannel audio mixer by @levs42 in #1386
- Deprecated methods and classes have been removed. by @shogo4405 in #1402
- Supported OS version. by @shogo4405 in #1405
- Remove RTMPSocket.swift by @shogo4405 in #1406
- Removed the ScreenCapture-related APIs. by @shogo4405 in #1407
- Bump fastlane from 2.219.0 to 2.220.0 by @dependabot in #1408
- Add IOStreamObserver and confirmed IOStreamRecorder. by @shogo4405 in #1409
- Fixed typo and removed duplicated audio format flag by @yury in #1411
- fix initialization of PSI in TSWriter by @ThibaultBee in #1413
- Improving compatibility with FMLE's FCPublish behavior. by @shogo4405 in #1414
- Improve handling of RTMP timestamps. by @shogo4405 in #1415
- Bump up Logboard to 2.5.0 by @shogo4405 in #1417
- Rename property channel to track. by @shogo4405 in #1418
- Add an ON/OFF switch for the multi-track audio mixing feature. by @shogo4405 in #1420
- Added multi-capture functionality as microphone. by @shogo4405 in #1422
- Refactor AudioCodecSettings/IOAudioMixerSettings. by @shogo4405 in #1425
- Change IOStream's inputFormat to inputFormats. by @shogo4405 in #1427
- Refactoring for muted functionalities. by @shogo4405 in #1428
- Allow dynamic changes of format description. by @shogo4405 in #1429
- Add volume control feature by track. by @shogo4405 in #1430
New Contributors
- @yury made their first contribution in #1411
- @ThibaultBee made their first contribution in #1413
Full Changelog: 1.7.6...1.8.0
1.7.6
Related Issues
What's Changed
- Update review workflow. by @shogo4405 in #1396
- CocoaPods visionOS supports by @shogo4405 in #1371
- Support attachVideo() for visionOS. by @shogo4405 in #1395
- Fixed issue with audio playback in SRT. by @shogo4405 in #1401
Full Changelog: 1.7.5...1.7.6
1.7.5
Note
The implementation of methods such as FCPublish, which have been used in FMLE until now, was not done correctly. We have been experiencing the same issue since the release, but because there is a possibility of it causing bugs, we have now fixed the implementation to be correct.
For those who wish to use FMLE sequence processing, please specify the same value for fcPublishName as you would for publish(name):
Specify it as the second argument in the constructor of RTMPStream:
- stream = RTMPStream(connection, fcPublishName)
- Set a value for stream.fcPublishName.
Related Issues
What's Changed
- Implement timestamp recalculation for audio buffers by @levs42 in #1385
- Set IOVideoUnit inputFormat when new buffer is available by @levs42 in #1387
- Add workground feature RTMPStream.send. by @shogo4405 in #1390
- Support FMLE-compatible sequences(releaseStream/FCPublish) by @shogo4405 in #1393
Full Changelog: 1.7.4...1.7.5
1.7.4
Related Issues
What's Changed
- Bump fastlane from 2.217.0 to 2.218.0 by @dependabot in #1366
- Fix: fix some typos by @Taehyeon-Kim in #1368
- Added a mechanism to obtain the CMSampleBuffer of the video through a… by @shogo4405 in #1370
- Bump fastlane from 2.218.0 to 2.219.0 by @dependabot in #1372
- Bump cocoapods from 1.14.3 to 1.15.0 by @dependabot in #1374
- Bump cocoapods from 1.15.0 to 1.15.2 by @dependabot in #1376
- Change RTMPStream readyState observers to open by @levs42 in #1375
- Add an option to show video output on a drawable without video effects by @levs42 in #1377
- Validate audio channel map before applying by @levs42 in #1379
New Contributors
- @Taehyeon-Kim made their first contribution in #1368
- @levs42 made their first contribution in #1375
Full Changelog: 1.7.3...1.7.4
1.7.3
Related Issues
What's Changed
- Seamlessly handle the mixing of multiple cameras. by @shogo4405 in #1352
- Configuration for IOVideoCaptureUnit. by @shogo4405 in #1355
- Fix crash set RTMPConneciton.timeout. by @shogo4405 in #1360
- Fix: SwiftUI fixes for initial video and audio by @jramer-vidflex in #1362
- Fix CMTime to AVAudioTime. by @shogo4405 in #1365
New Contributors
- @jramer-vidflex made their first contribution in #1362
Full Changelog: 1.7.2...1.7.3
1.7.2
It is now possible to add the multi-camera feature after the initial setup. If you anticipate using the multi-camera functionality, please set stream.isMultiCamSessionEnabled = true
during the initialization of the stream.
Related Issues
What's Changed
- Refactor IOVideoUnit#attachCamera method. by @shogo4405 in #1336
- fixed Please change Set to array. by @shogo4405 in #1337
- Bump fastlane from 2.216.0 to 2.217.0 by @dependabot in #1338
- Handling RTMPDataMessage. by @shogo4405 in #1339
- Bump cocoapods from 1.14.2 to 1.14.3 by @dependabot in #1341
- Encoding video for live streaming. by @shogo4405 in #1340
- Corrected the implementation of the readyState. by @shogo4405 in #1349
- stream#videoCapture performance improvement. by @shogo4405 in #1351
Full Changelog: 1.7.1...1.7.2
1.7.1
Related issues
What's Changed
- Bump activesupport from 7.0.8 to 7.1.1 by @dependabot in #1321
- Bump cocoapods from 1.13.0 to 1.14.2 by @dependabot in #1326
- Fix Crashs since Xcode 14.3 compilation CIContext#render by @shogo4405 in #1328
- IOVideoCaptureUnit#colorFormat property by @shogo4405 in #1332
Full Changelog: 1.7.0...1.7.1
1.6.2
What's Changed
- Backporting Fix Crashs since Xcode 14.3 compilation CIContext#render by @shogo4405 in #1330
Full Changelog: 1.6.1...1.6.2
1.7.0
I have implemented the audio resampling feature. Additionally, I have added support for ingest feature on tvOS 17+ and visionOS. I have removed the HLS functionality as it was not being maintained.
The sampling rate can be specified as follows:
stream.audioSettings.sampleRate = 48000
Note
Related issues
What's Changed
- Bump fastlane from 2.214.0 to 2.215.0 by @dependabot in #1295
- Audio resampling. by @shogo4405 in #1294
- Rename loopback to isMonitoringEnabled by @shogo4405 in #1296
- Support downmix feature and refactor. by @shogo4405 in #1298
- Revised the lipSync cinematic. by @shogo4405 in #1300
- Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in #1302
- Bump fastlane from 2.215.0 to 2.216.0 by @dependabot in #1301
- Availabe tvOS17.0 publish feature. by @shogo4405 in #1303
- Creating RTMP onMetaData based on input data. by @shogo4405 in #1304
- Support visionOS. by @shogo4405 in #1307
- Support the NetBitRateStrategy. by @shogo4405 in #1308
- Allow CGFloat values to be serialised. by @zachsimone in #1309
- Migration HKView to PiPHKView, MTHKView. by @shogo4405 in #1311
- Add stream.appendAudioBuffer interface. by @shogo4405 in #1314
- Remove HLSService feature. by @shogo4405 in #1315
- Remove SRTStream.attachRawMedia/detachRawMedia. by @shogo4405 in #1317
- Refactoring of IOMixer. by @shogo4405 in #1319
- Bump to libsrt up 1.5.3 by @shogo4405 in #1320
New Contributors
- @zachsimone made their first contribution in #1309
Full Changelog: 1.6.0...1.7.0