github OPENSPHERE-Inc/branch-output 1.0.12-rc3

pre-release3 hours ago

Sponsor program

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

Note

This is the third release candidate, now numbered 1.0.12. Compared with 1.0.11-rc2, changes in the filter properties now take effect only when you click Apply, and several issues around Apply, recording file names, the Status Dock, and the "Filter Input" video source are fixed. The changes listed in 1.0.10-rc1 and 1.0.11-rc2, and the known issues listed in 1.0.10-rc1, still apply. Please try it and report any problems via Issues.

Behavior Changes

  • Changes Take Effect on Apply: Changes in the filter properties now take effect only when you click Apply. (#172)
    • Previously, checking Streaming, Stream Recording, or Replay Buffer started that output within about a second, before you clicked Apply.
    • Turning an output back on from the Status Dock or with a hotkey also uses the applied settings, even while the properties dialog has changes you have not applied.
    • The Status Dock shows a newly enabled output only after you click Apply, and its folder button opens the applied folder.
    • Settings changed from obs-websocket or a script still take effect right away.

Bug Fixes

  • Fixed an issue where the output was black and the source disappeared from the preview when Branch Output was the first or only filter on an Image source and "Video Source" was set to "Filter Input (Experimental)". OBS also no longer writes errors to its log on every frame in this case. (#170)
  • Fixed a memory leak in the bundled sample scripts (Lua and Python), introduced in 1.0.10-rc1. The scripts leaked a small amount of memory each time they changed the file name or refreshed their list of Branch Output filters. (#171)
    • For script authors: the sample code in API.md and API_ja.md had the same mistake and is fixed. If your own script is based on it, replace obs.calldata_free(cd) with obs.calldata_destroy(cd).
  • Fixed an issue where a split recording file was named only by its extension (for example .mkv) after a script stopped setting the file name, such as when the bundled recording-filename-from-text script was unloaded. (#175)
    • This happened when the filter's "Filename Formatting" was empty. The file name format in OBS's own settings (Settings → Advanced → Recording) is now used in that case.
  • Fixed an issue where a Reset button in the Status Dock reset the statistics of a different output after a filter's settings were applied or a filter was removed, and could crash OBS, including when pressed while a filter was being deleted. (#182)
  • Fixed an issue where enabling an output type and clicking Apply, while another output of the same filter was running, stopped the new output again shortly after it started. (#184)
    • With the replay buffer, OBS could freeze for 3 to 7 seconds.
    • Now all outputs of the filter restart once, and the new output starts together with them.
  • Fixed an issue where split recording files ignored "Generate File Name without Space" and always used underscores, while the first file followed the setting. (#186)
  • Fixed an issue with the "Individual" interlock where, when the filter's outputs restarted, Branch Output also started outputs whose matching OBS output was not running, and then stopped them again. (#189)
    • The outputs restart when you click Apply, or when the source's resolution changes while "Don't reset output when source resolution changes" is off.
    • A stream could go live on its streaming service even though OBS itself was not streaming.
    • A stream recording left an extra file about one second long.
    • The replay buffer could make OBS freeze for several seconds.
  • Fixed an issue where setting the recording file name from a script right after a recording started broke the first file when file splitting was enabled. With the bundled recording-filename-from-text script, this happened on every OBS startup and scene collection switch if the script targeted a filter that starts recording automatically. (#191)
    • With Matroska, MP4, MOV, and other standard formats, the audio of the first file could not be played, and the new file name was not used until the next split.
    • With Hybrid MP4, an empty first file was left behind.
    • A new file name is now applied a moment after the recording starts, by splitting the file, or by restarting the recording if file splitting is off.
    • For that moment after a recording starts, the split hotkeys and the Status Dock's split button do nothing, and the button stays hidden.
    • For script authors: API.md (Japanese) describes when a new file name takes effect.
  • Fixed an issue where turning off every output type and clicking Apply, while a stream recording was waiting for its source to become available ("Suspend recording when source is not available"), left the filter stuck. It kept its encoders and other resources in use and wrote a restart message to the log every second. (#194)
  • Fixed an issue where split recording files and saved replay buffer files could get characters that are not allowed in file names on Windows or macOS (such as :, ?, or * on Windows) when their name was set by a script. These characters are now removed, as they already were for the first recording file.

Known Issues

  • Changes in the filter properties that you did not apply are still saved with the scene collection, and are copied along with the filter. They take effect the next time OBS starts or the scene collection is loaded, or when the copied filter is pasted. To avoid this, click Apply or revert your changes before closing the properties. (#174)
  • Clicking Apply without changing anything still restarts the filter's outputs: streams reconnect, and recordings continue in a new file. (#178)
  • Turning on the replay buffer from the Status Dock or with a hotkey while other outputs of the filter are running, and then clicking Apply within about one keyframe interval, can still make OBS freeze for a few seconds.
  • With "Video Source" set to "Filter Input (Experimental)", an Image source with "Unload image when not showing" enabled still outputs black while the source is not shown anywhere else in OBS, such as in Program or Preview.

Full Changelog: 1.0.11-rc2...1.0.12-rc3

Don't miss a new branch-output release

NewReleases is sending notifications on new releases.