Skip to content

Add pre-encoded video ingest FFI - #1418

Open
stephen-derosa wants to merge 1 commit into
mainfrom
sderosa/pre-encoded-ingest
Open

Add pre-encoded video ingest FFI#1418
stephen-derosa wants to merge 1 commit into
mainfrom
sderosa/pre-encoded-ingest

Conversation

@stephen-derosa

Copy link
Copy Markdown
Contributor

Overview

Expose Pre-Encoded Ingest through ffi

@stephen-derosa stephen-derosa self-assigned this Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Changeset ✓

This PR includes a changeset covering all affected packages:

Package Bump
livekit-ffi patch

devin-ai-integration[bot]

This comment was marked as resolved.

@stephen-derosa
stephen-derosa force-pushed the sderosa/pre-encoded-ingest branch from 3b9d40a to 843f87f Compare September 9, 2026 18:29
@stephen-derosa
stephen-derosa force-pushed the sderosa/pre-encoded-ingest branch from 72ab978 to 5bebd80 Compare September 9, 2026 19:48
},
};

const MAX_ENCODED_VIDEO_FRAME_SIZE: usize = 64 * 1024 * 1024;

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.

question: Where does this value come from?

///
/// `capture.data_ptr` must address `capture.data_len` readable bytes for
/// the duration of this call.
pub unsafe fn capture_encoded_frame(

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.

suggestion: Instead of marking this whole function unsafe, consider doing this instead:

  • In the protobuf, encapsulate pointer/length fields in their own message
  • Create unsafe helper method to convert this to Rust slice
  • Use this in capture_encoded_frame

This keeps unsafe code scoped and auditable.

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