github OPENSPHERE-Inc/branch-output 1.0.10-rc1

pre-release3 hours ago

Sponsor program

If you would like to help our projects, please support us.

Note

This is a release candidate for 1.0.10. It is mainly a bug-fix release for streaming reconnect, SRT listener, and hotkey issues. Please try it and report any problems via Issues.

New Features

  • Lua Sample Scripts: Added Lua variants of the bundled sample scripts (recording-filename-from-text and replay-buffer-filename-from-text) alongside the existing Python ones. Both variants can be loaded from Tools → Scripts and behave the same way.
  • API Reference: Added API.md (Japanese), which documents the script procedures for overriding the stream recording / replay buffer file name format and for listing Branch Output filters, with sample code, threading notes, and known limitations.

Improvements

  • More Robust Sample Scripts: The Python sample scripts were reworked together with the new Lua ones. File names are now sanitized more strictly (control characters, trailing dots and spaces, Windows reserved names, length limit), UTF-8 BOMs are stripped and non-UTF-8 text files are reported in the script log, and the override on the previously selected filter is cleared when you switch the target filter or deselect the text source.
  • Filter List Procedure Callable From Any Thread: osi_branch_output_get_filter_list can now be called safely from any thread, such as a script timer.

Bug Fixes

  • Fixed an issue where a stream could stay in the "Reconnecting" state forever, for example on YouTube, when a reconnect attempt hung during the connection handshake. A reconnect attempt that makes no progress for 45 seconds is now detected, and the output is restarted automatically. (#146)
  • Fixed an issue where disabling an SRT listener output that no sender had connected to froze OBS, followed by a crash once a sender connected. SRT listener URLs without a valid positive listen_timeout now get a default of 5 seconds (listen_timeout=5000000), and the listener is restarted automatically while it waits for a sender. An explicitly specified positive listen_timeout is used as is. (#147)
  • Fixed an issue where the Status Dock's batch hotkeys (Split all recordings, Pause/Unpause all recordings, Add chapter to all recordings, Save all replay buffers) did nothing while the Status Dock was hidden or closed. (#148)
  • Fixed an issue where hotkey assignments were erased when an output type (streaming, recording, or replay buffer) was turned off in the filter settings. The assignments are now kept and restored when the output type is turned back on, including after an OBS restart. (#159)
  • Fixed an issue where the Status Dock's hotkeys (Enable/Disable all, Split all recordings, Pause/Unpause all recordings, Add chapter to all recordings, Save all replay buffers) kept the assignments of the previous profile after switching profiles. (#163)

Known Issues

  • While a stalled reconnect is being recovered, the OBS window may stop responding until the remote server releases the hung connection. In testing this took from about 25 to 85 seconds. The output restarts normally afterwards.
  • An SRT listener waiting for a sender with the default listen_timeout is restarted about every 5 seconds, so there are short moments in which it does not accept a connection. Stopping a listener configured with a large explicit listen_timeout can still block OBS for up to that time while no sender is connected.

Full Changelog: 1.0.9...1.0.10-rc1

Don't miss a new branch-output release

NewReleases is sending notifications on new releases.