Skip to content

chore: update @livekit/rtc-ffi-bindings to v0.12.68#688

Open
xianshijing-lk wants to merge 4 commits into
mainfrom
sxian/update-ffi-0.12.68
Open

chore: update @livekit/rtc-ffi-bindings to v0.12.68#688
xianshijing-lk wants to merge 4 commits into
mainfrom
sxian/update-ffi-0.12.68

Conversation

@xianshijing-lk

Copy link
Copy Markdown

Summary

Updates @livekit/rtc-ffi-bindings to v0.12.68.

Changes

  • Add MaintainFramerateAndResolution to DegradationPreference enum (aligns with WebRTC M144)
  • DISABLED is deprecated, use MAINTAIN_FRAMERATE_AND_RESOLUTION instead

🤖 Generated with Claude Code

Updates FFI bindings to include:
- Add MaintainFramerateAndResolution to DegradationPreference enum (aligns with WebRTC M144)
- DISABLED is deprecated, use MAINTAIN_FRAMERATE_AND_RESOLUTION instead

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Jun 30, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: dd149ce

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@devin-ai-integration devin-ai-integration 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

devin-ai-integration[bot]

This comment was marked as resolved.

Add a DegradationPreference enum that matches the Rust API:
- Balanced: Balance between framerate and resolution degradation
- MaintainFramerate: Degrade framerate to maintain resolution
- MaintainResolution: Degrade resolution to maintain framerate
- MaintainFramerateAndResolution: Maintain both, drop frames before encoding

The deprecated 'Disabled' value is intentionally excluded since it has been
removed from WebRTC M144 and replaced with MaintainFramerateAndResolution.

Also updates @livekit/rtc-ffi-bindings to v0.12.68.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@xianshijing-lk xianshijing-lk force-pushed the sxian/update-ffi-0.12.68 branch from be4a42b to f0fc8d8 Compare June 30, 2026 06:29

@devin-ai-integration devin-ai-integration 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.

Devin Review found 2 new potential issues.

Open in Devin Review

Comment thread packages/livekit-rtc/src/types.ts Outdated
* Maintain both framerate and resolution. Frames may be dropped before encoding
* if necessary to avoid overusing network and encoder resources.
*/
MaintainFramerateAndResolution = 4,

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.

🚩 DegradationPreference enum value 4 skips value 3 — intentional but worth confirming

The DegradationPreference enum assigns values 0, 1, 2, 4 — skipping 3 (packages/livekit-rtc/src/types.ts:17-26). In WebRTC's libwebrtc, value 3 is typically DISABLED. The skip to 4 for MaintainFramerateAndResolution likely aligns with a newer LiveKit-specific proto definition (the FFI bindings were bumped from 0.12.60 to 0.12.68 in this PR). Since the FFI bindings aren't available for inspection in the repo itself, it's worth confirming that value 4 matches the proto/FFI definition exactly.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

xianshijing-lk and others added 2 commits June 30, 2026 16:26
The docstrings for MaintainFramerate and MaintainResolution were swapped.
Per the W3C WebRTC spec:
- MaintainFramerate: Degrade resolution to maintain framerate (prioritize smooth motion)
- MaintainResolution: Degrade framerate to maintain resolution (prioritize image clarity)

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

@devin-ai-integration devin-ai-integration 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.

Devin Review found 1 new potential issue.

Open in Devin Review

IceTransportType,
TrackPublishOptions,
} from '@livekit/rtc-ffi-bindings';
export { DegradationPreference } from './types.js';

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.

🚩 New enum defined locally rather than re-exported from ffi-bindings

Most enums in the public API (e.g., TrackKind, TrackSource, ConnectionQuality) are re-exported from @livekit/rtc-ffi-bindings (packages/livekit-rtc/src/index.ts:17-39), but DegradationPreference is defined locally in types.ts and exported from there. This is a deliberate pattern choice — possibly because the ffi-bindings don't expose this enum, or because the SDK wants to present a simplified subset. Worth confirming this is intentional, as a locally-defined enum could drift out of sync with the underlying bindings if the protobuf definition changes.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

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.

2 participants