Skip to content

build(moq-video): bump moq-vaapi to 0.0.3 (dlopen libva)#2465

Merged
kixelated merged 3 commits into
mainfrom
claude/moq-video-build-docs-5b024c
Jul 23, 2026
Merged

build(moq-video): bump moq-vaapi to 0.0.3 (dlopen libva)#2465
kixelated merged 3 commits into
mainfrom
claude/moq-video-build-docs-5b024c

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

What

Bump moq-vaapi from 0.0.2 to 0.0.3 and correct the moq-video feature comments that still described the old hard-link behavior.

Why

moq-vaapi 0.0.3 (moq-dev/vaapi#1) switches from linking libva at build time to dlopening it at runtime (bindgen --dynamic-loading). The practical effects for this repo:

  • An enabled-vaapi build no longer needs libva-dev / pkg-config at build time.
  • The binary carries no NEEDED libva.so.2 — a libva-less host now loads and falls back to the next encoder (openh264) instead of failing at process load, exactly like the NVENC backend.
  • This is the fix for moq-video: remaining work (codecs, platforms, decode, HW validation) #1837, and it unbreaks the moq-video docs.rs build (docs.rs builds on Linux with no libva-dev, which is why the vaapi default feature failed there).

0.0.x version requirements are exact, so the bump is required to pick up 0.0.3.

Testing

  • moq-vaapi 0.0.3 (identical code) was verified on an aarch64 Linux host with no libva: builds with rust + clang only, the binary has no NEEDED libva, and it falls back gracefully whether libva is absent or present-without-a-driver.
  • cargo update -p moq-vaapi --precise 0.0.3 resolves from crates.io; cargo check -p moq-video and taplo format --check pass locally.
  • A real VAAPI hardware encode is still unverified (needs an x86 box with a working driver).

Note

This does not by itself refresh the live docs.rs page for the already-published moq-video 0.0.7 — docs.rs reads dependency metadata from the published crate, so the vaapi docs go green only when a new moq-video version ships carrying this bump.

🤖 Generated with Claude Code

(written by Opus 4.8)

moq-vaapi 0.0.3 dlopen's libva at runtime instead of linking it, so an
enabled-vaapi build no longer needs libva-dev and the binary carries no
NEEDED libva: a libva-less host loads and falls back to the next encoder
like the NVENC backend. Bump the dep (0.0.x requirements are exact) and
correct the moq-video feature comments that still described the old
hard-link behavior.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@sourcery-ai sourcery-ai 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.

Sorry @kixelated, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c8587f6f-178b-40bc-97b6-80b8e5690ca0

📥 Commits

Reviewing files that changed from the base of the PR and between 2646070 and 1b46ee2.

📒 Files selected for processing (4)
  • flake.nix
  • rs/moq-transcode/Cargo.toml
  • rs/moq-video/Cargo.toml
  • rs/moq-video/src/encode/backend/vaapi.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • rs/moq-video/Cargo.toml

Walkthrough

Updated the workspace moq-vaapi dependency from 0.0.2 to 0.0.3. Revised VAAPI feature and Linux dependency comments to document runtime libva loading, the absence of a libva NEEDED entry, and fallback behavior on hosts without libva.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: bumping moq-vaapi and noting the libva dlopen behavior.
Description check ✅ Passed The description is directly related to the changeset and accurately explains the version bump and comment updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch claude/moq-video-build-docs-5b024c

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@rs/moq-video/Cargo.toml`:
- Around line 31-34: Update both VAAPI comments in the feature section to
qualify the fallback behavior as applying only to automatic encoder selection.
Do not claim that explicit Hardware or Named selections fall back to another
encoder; preserve the existing feature configuration and code unchanged.
- Around line 89-91: Update the remaining VAAPI comments in vaapi.rs, flake.nix,
and moq-transcode’s Cargo.toml to reflect moq-vaapi 0.0.3’s current runtime
dlopen behavior: remove claims of link-time libva dependency and any wording
that presents dlopen as future work, while preserving accurate build and
fallback details.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f0fad2f7-7b09-4513-a5a0-78803b331aed

📥 Commits

Reviewing files that changed from the base of the PR and between 46eecbd and 23c60c3.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • Cargo.toml
  • rs/moq-video/Cargo.toml

Comment thread rs/moq-video/Cargo.toml
Comment thread rs/moq-video/Cargo.toml Outdated
Address CodeRabbit review on #2465:
- The openh264 fallback only applies to automatic backend selection
  (Kind::Auto); explicit Hardware/Named selection does not fall back. Say
  "automatic backend selection" in the moq-video feature/dep comments.
- Update the sibling comments still describing moq-vaapi as link-time or
  dlopen-as-future-work to the shipped 0.0.3 runtime-dlopen behavior:
  the vaapi.rs module doc, the flake.nix libva note (now runtime-only),
  and moq-transcode's vaapi feature comment.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kixelated
kixelated enabled auto-merge (squash) July 23, 2026 21:51
@kixelated
kixelated merged commit 7e77cd9 into main Jul 23, 2026
2 checks passed
@kixelated
kixelated deleted the claude/moq-video-build-docs-5b024c branch July 23, 2026 22:03
This was referenced Jul 23, 2026
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