Skip to content

Release Captail 0.1.6 - #16

Merged
FaulMit merged 1 commit into
mainfrom
agent/audio-merge-settings-fix
Aug 3, 2026
Merged

Release Captail 0.1.6#16
FaulMit merged 1 commit into
mainfrom
agent/audio-merge-settings-fix

Conversation

@FaulMit

@FaulMit FaulMit commented Aug 3, 2026

Copy link
Copy Markdown
Owner

What changed

  • add an optional, localized Merge audio tracks control beside clip saving
  • mix enabled tracks into one playback-friendly AAC/Opus track while stream-copying video
  • keep pending settings visible after a failed pipeline restart instead of reloading old values into the form
  • disable NVIDIA HEVC B-frames for compatibility with hardware such as GeForce GTX 1080
  • bump Captail to 0.1.6 and add user-facing changelog entries
  • add deterministic audio-mix and NVENC compatibility QA coverage

Root cause

Failed settings application correctly rolled back the active configuration, but the settings window then reloaded that configuration into every control. This made pending resolution, audio, and other selections appear to reset. Separately, Captail requested two HEVC B-frames from NVENC even on GPUs where that feature is unsupported.

Validation

  • Debug build: 0 warnings, 0 errors
  • Release build: 0 warnings, 0 errors
  • dotnet format --verify-no-changes
  • no vulnerable direct or transitive NuGet packages
  • audio mix QA: 2 source tracks → 1 output track; video codec and resolution preserved
  • GPU capability QA
  • real WPF editor inspection with one and two audio tracks
  • English/Russian localization key parity
  • git diff --check

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e4f4b7f5ea

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"alimiter=limit=0.95[mixed_audio]",
"-map", "0:v:0",
"-map", "[mixed_audio]",
"-c:v", "copy",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Align mixed audio with stream-copied video

For trims whose start is not a video keyframe, this combines filtered/transcoded audio with -c:v copy while the input-level -ss remains before -i. The FFmpeg -ss documentation specifies that accurate seeking discards pre-roll when transcoding but preserves it during stream copy, so the video begins at an earlier keyframe while the mixed audio begins at the requested time; -avoid_negative_ts make_zero shifts timestamps without removing that offset. This produces up to one GOP of initial silence/A/V desynchronization, and the new QA misses it because it only trims from zero.

Useful? React with 👍 / 👎.

Comment on lines +1133 to 1134
// Keep pending choices visible so the failing setting can be corrected.
return;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the pending replay toggle after apply failure

When an application attempt changes replay enablement and then fails—for example, enabling replay with a resolution that prevents pipeline startup—ApplySettingsAsync calls UpdateUiState() during rollback, and UpdateRuntimeState() unconditionally replaces SettingsReplayToggle.IsChecked with the active runtime state. Consequently, by the time this early return executes, the pending toggle has already been lost, so correcting the failing option and retrying leaves replay disabled unless the user selects it again. Preserve the candidate toggle while the settings form remains in edit mode.

Useful? React with 👍 / 👎.

@FaulMit
FaulMit merged commit 8b70502 into main Aug 3, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant