Commit Graph

33 Commits

Author SHA1 Message Date
shogo4405 fe04d3ec6f Enhanced interoperability with other platforms. 2026-02-17 01:33:58 +09:00
shogo4405 94d01a34be refactor: MediaMixer. 2026-01-02 22:41:52 +09:00
shogo4405 d351fb1411 fixed #1863 video capture continues even while an incoming call is ringing. (#1865) 2026-01-02 16:48:38 +09:00
shogo4405 2466855e18 reflects the actual capture state. (#1851) 2025-12-07 22:32:14 +09:00
shogo4405 e923fe982c fixed AVCaptureSession stop reconnected when USB Audio interface. (#1850) 2025-12-07 16:49:20 +09:00
shogo4405 a16ad85480 fixed an issue where MediaMixer.frameRate would not update. (#1837) 2025-11-21 23:33:54 +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 81f804261a fixed an issue where the Screen was active in passthrough mode. 2025-11-08 01:05:31 +09:00
shogo4405 a153096672 fixed MediaMixer memory-leak. 2025-11-07 22:31:18 +09:00
shogo4405 e51997d157 fix can't compile visionOS. 2025-11-03 15:57:45 +09:00
shogo4405 fd72ee0f35 fix can't compile tvOS 2025-11-03 15:52:59 +09:00
shogo4405 82754b7061 Support HighDynamicRange mode. 2025-11-03 14:59:40 +09:00
shogo4405 2f13802b47 fix memory-leak mediamixer. 2025-10-26 23:37:29 +09:00
shogo4405 5aa4753af2 fixed an issue where configuration could fail in some cases. 2025-10-26 22:41:20 +09:00
shogo4405 9a24b83b7d Add synchronizationClock. 2025-10-01 23:30:06 +09:00
shogo4405 f52b9a07bf Update MediaMixer.swift 2025-08-17 14:10:14 +09:00
shogo4405 26f40ced7c Add CaptureSessionMode feature. 2025-08-17 06:23:07 +09:00
shogo4405 d04d42f6ac fix can't compile tvOS 2025-08-12 00:44:49 +09:00
shogo4405 3d8518fd5f The concept of frameRate has been separated into input and output. 2025-08-07 22:45:54 +09:00
shogo4405 6b61327278 Remove start capture manually option. 2025-08-05 20:54:08 +09:00
shogo4405 fd8103161a Suppressing warnings. 2025-01-17 23:14:26 +09:00
shogo4405 3476494aa0 refs #1663 2025-01-11 00:27:44 +09:00
shogo4405 fc99fee85f Migration CaptureSessionDelegate to 2.0.x. 2025-01-03 02:53:51 +09:00
shogo4405 23eb0ddfe0 fixed an issue where the screen might not render. 2025-01-02 16:44:07 +09:00
shogo4405 96d6ff78b9 fix memory-leak a MediaMixer instance. 2025-01-01 18:30:35 +09:00
shogo4405 12671a5d56 fixes for build errors related to Swift 6.0 compatibility 2024-12-16 01:33:30 +09:00
shogo4405 9308ed18e6 fixed an issue where multiCamSessionEnabled was not carried over. 2024-12-15 18:52:03 +09:00
shogo4405 c8ba890fa3 Add an option to start capture manually. 2024-12-15 16:13:38 +09:00
shogo4405 54785cf9eb Updating the api documentation. 2024-12-02 00:54:42 +09:00
shogo4405 fdf193c48b Take timestamps into consideration VideoTrackScreenObject. 2024-11-26 22:12:44 +09:00
shogo4405 a6f4a021b2 refs #1629 2024-11-22 21:22:34 +09:00
shogo4405 3ea705aa99 Read from local spm. 2024-11-10 13:27:58 +09:00