Commit Graph

26 Commits

Author SHA1 Message Date
shogo4405 4aa3b8bfa9 Add AVAudioEngine mode. (#1858) 2025-12-21 16:49:40 +09:00
shogo4405 b718080c4a Made expectedFrameRate optional. (#1841) 2025-11-24 20:43:05 +09:00
shogo4405 bc88759070 Refactor VideoCodecSettings. 2025-11-24 15:32:16 +09:00
shogo4405 3c234d20e5 Rename #1832 2025-11-21 23:30:18 +09:00
Tabber (인병윤) b119b56969 Add framerate to RTMP onMetaData (#1832)
* feat: Add framerate to RTMP onMetaData

Adds framerate field to RTMP onMetaData for RTMP servers like
nginx-rtmp-module to correctly parse stream frame rate statistics.

The framerate value is synchronized from VideoCodec.expectedFrameRate
when MediaMixer.setFrameRate() is called.

* feat: Move expectedFrameRate to VideoCodecSettings and add framerate to RTMP metadata

- Move expectedFrameRate from VideoCodec to VideoCodecSettings
- Remove setExpectedFrameRate() method from OutgoingStream and StreamConvertible
- Add framerate field to RTMP onMetaData message
- Synchronize expectedFrameRate in MediaMixer.setFrameRate() and addOutput()
- Add helper methods for frame rate synchronization
- Make MediaMixer.defaultFrameRate public

* feat: Rename expectedFrameRate to defaultFrameRate and add framerate to RTMP metadata

- Rename VideoCodecSettings.expectedFrameRate to defaultFrameRate to represent
  a different concept from MediaMixer.frameRate
- Remove synchronization code from MediaMixer.setFrameRate() and addOutput()
  to allow independent frame rate management per stream
- Remove VideoCodec.expectedFrameRate and OutgoingStream.expectedFrameRate properties
- Add framerate field to RTMP onMetaData message for RTMP servers like
  nginx-rtmp-module to correctly parse stream frame rate statistics
- Make MediaMixer.defaultFrameRate public

This change allows each stream to have its own independent defaultFrameRate
(e.g., Service A at 30 FPS, Service B at 60 FPS) while MediaMixer can output
at a different frame rate. The defaultFrameRate is used both for VideoToolbox
encoder configuration and RTMP metadata.

Breaking changes:
- VideoCodecSettings.expectedFrameRate renamed to defaultFrameRate
- MediaMixer.addOutput() no longer synchronizes frame rate (streams must
  explicitly set defaultFrameRate via VideoCodecSettings init or setVideoSettings())
2025-11-21 23:17:23 +09:00
shogo4405 9ca05352d0 add variableBitRate mode. 2025-10-25 13:41:06 +09:00
shogo4405 0b93a95eda Fix an issue where the FPS setting in VideoCodec 2025-10-13 04:02:33 +09:00
shogo4405 003cb67e99 Update VideoCodec.swift 2025-10-13 03:58:20 +09:00
shogo4405 d4d8ae3583 Update documents. 2025-10-07 22:51:11 +09:00
shogo4405 9c6634e7c8 fixed an issue where audio could not be transmitted properly over RTC. 2025-10-06 03:37:57 +09:00
shogo4405 300bec8273 Added channel conversion functionality. 2025-10-06 00:39:36 +09:00
shogo4405 bd2432c81a Add RTPFormatParameter. 2025-09-17 01:51:13 +09:00
shogo4405 87e14fd194 Add AudioCodecSettings.Format option. 2025-08-17 21:26:44 +09:00
shogo4405 f6fc447a1c Add LowLatencyRateControlEnabled option. 2025-08-15 21:15:04 +09:00
shogo4405 135f42b3e6 enum BitRateMode to struct. 2025-08-12 22:16:08 +09:00
shogo4405 096ed75802 Rename isHardwareEncoderEnabled to isHardwareAcceleratedEnabled. 2025-08-09 17:06:25 +09:00
shogo4405 0b432934f8 Removing unnecessary code. 2025-08-07 09:16:20 +09:00
shogo4405 4e48f2fa26 make internal struct VTSessionOption 2025-07-25 21:23:11 +09:00
shogo4405 7741aee8d3 Modified to throw an error for unsupported codecs. 2025-07-15 00:08:37 +09:00
shogo4405 68c0d1cfc8 Repackage RTMPHaishinKit. 2025-07-13 12:43:53 +09:00
shogo4405 2504641851 fixed an AudioCodec did not work after the second time. 2025-02-11 20:20:21 +09:00
shogo4405 fdd1b26f28 allow changing the sampleRate for each stream. 2025-02-01 16:27:02 +09:00
shogo4405 0bfc2e37e5 Support the OPUS format for Enhanced RTMP. 2025-01-27 20:33:34 +09:00
shogo4405 82224b15ce fix memory-leak RTMPConnection, RTMPStream. 2025-01-03 18:04:35 +09:00
shogo4405 b17158fcb5 warning suppression 2024-11-22 08:16:48 +09:00
shogo4405 3ea705aa99 Read from local spm. 2024-11-10 13:27:58 +09:00