Skip to content

sdk compositing#1195

Draft
frostbyte73 wants to merge 2 commits into
mainfrom
sdk-compositing
Draft

sdk compositing#1195
frostbyte73 wants to merge 2 commits into
mainfrom
sdk-compositing

Conversation

@frostbyte73
Copy link
Copy Markdown
Member

No description provided.

sivapolisetty added a commit to sivapolisetty/egress that referenced this pull request May 1, 2026
PR livekit#1195's enable_template_sdk: true config flag wires GStreamer
compositor source (no Chrome) ONLY for RequestTypeTemplate (offline
ExportReplay). For our use case — live RoomComposite recording during
events — we need the same SDK compositor path.

Mirrors the existing block at line 447-449 for RequestTypeTemplate.
sivapolisetty added a commit to sivapolisetty/egress that referenced this pull request May 2, 2026
PR livekit#1195's draft compositor path missed videorate normalization for the
decoded-video case. Each track's appsrc emitted variable framerate caps
(VP9 from mobile often arrives at 60fps, desktop at 30fps); the compositor
downstream wants fixed framerate, so find_best_format failed across pads
when more than one track was added.

Symptom in our tests: multi-participant recordings showed only the first
track. Egress logs had:
  [videoaggregator warning] gst_video_aggregator_find_best_format:
    Nothing compatible with video/x-raw, format=I420, ..., framerate=60/1
followed by sustained 'buffer full, dropping sample' for the 2nd track.

Fix: when compositing, always insert videorate before the appsrc bin's
final capsfilter, and always include the framerate constraint in the
caps. The non-compositing path (single-track or raw passthrough) keeps
its original behavior.
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