Validate integrated FFmpeg library delivery stack - #151
Draft
Blackspirits wants to merge 1 commit into
Draft
Blackspirits wants to merge 1 commit into
Blackspirits wants to merge 1 commit into
Conversation
Blackspirits
commented
Sep 16, 2026
Blackspirits
left a comment
Owner
Author
There was a problem hiding this comment.
Final adversarial integration review on 1fb4a403d864fd49f1b44949a29faf7a10ef1618 after CI SubtitleEdit#295: no blocker found. Verified package identity/digest, Windows-x64 capability, staging validation of all five runtime library families, transactional install/rollback, dialog cancellation/temp cleanup, and runtime availability probing of avcodec/avformat/avutil/swscale/swresample with ABI-major matching remain aligned end-to-end. Evidence-only PR; no merge/promotion performed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Integration-only validation of the audited FFmpeg library delivery + runtime availability stack.
The base is #136, so it already includes:
This integration commit layers:
It is audit evidence only and is not a merge candidate.
Current upstream
SubtitleEdit/subtitleeditmain was rechecked atdda1fce8f9d4a605b1b6732acc072c7109dc6323; the current upstream changes do not touch this FFmpeg delivery/runtime path.End-to-end contract validated
1. Package identity
The Windows package is not a moving
latestURL.ffmpeg-n9.0.1-…-win64-lgpl-shared-9.0.zip;FfmpegLibraries.MajorVersionis9.0;2. Platform capability
A single service-owned capability defines support:
Settings consumes the same capability, so it cannot advertise an action that the service will deterministically reject.
3. Transactional installation
The verified ZIP is extracted only into a staging directory.
Before the active library folder is touched, staging must contain exactly the five runtime library families the player uses:
The required Windows filenames are derived from the same FFmpeg.AutoGen major constants used by the runtime bindings.
Install then commits with per-file backup. Any exception/cancellation rolls back already-replaced files; rollback failure preserves the backup directory rather than pretending success.
4. Dialog/work lifetime
Closing through Cancel/Escape/title-bar X:
5. Runtime availability is stronger than file presence
FfmpegLibraries.IsAvailable()does not treat a single avcodec file or a successful avutil call as proof that the player can run.It loads/probes:
avcodec_version();avformat_version();avutil_version();swscale_version();swresample_version().Every returned major must match the FFmpeg.AutoGen constants before the player is reported available.
Thus the install contract and runtime contract use the same five library families and the same generated ABI majors.
Regression coverage inherited by this integrated tree
Scope / branch state
eed96e1a1c5f3c57411293fdd3ee56316c385ef01fb4a403d864fd49f1b44949a29faf7a10ef1618dda1fce8f9d4a605b1b6732acc072c7109dc6323Acceptance
AI assistance: ChatGPT was used for cross-branch library-delivery reconciliation, package/runtime ABI contract comparison, transaction/lifecycle review and integration acceptance design.
Final CI
Authoritative run: SubtitleEdit#295 on
1fb4a403d864fd49f1b44949a29faf7a10ef1618Final adversarial integration review was performed on this exact HEAD after CI; package identity, platform capability, transactional install, dialog lifetime and runtime ABI availability remain aligned end-to-end.