Skip to content

Conversation

jan-ivar
Copy link
Member

@jan-ivar jan-ivar commented Jul 8, 2025

Fixes #143 by aligning with previous decision. Getting this ready for Interop 2025.


Preview | Diff

1. If |encoder|.`[[pendingKeyFrameTasks]]` is undefined, initialize |encoder|.`[[pendingKeyFrameTasks]]` to an empty set.
1. Let |shouldTriggerKeyFrame| be <code>false</code> if |encoder|.`[[pendingKeyFrameTasks]]` contains a task whose `[[rid]]`
value is equal to |rid|, and <code>true</code> otherwise.
value is either undefined or equal to |rid|, and <code>true</code> otherwise.
Copy link
Collaborator

Choose a reason for hiding this comment

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

It makes undefined a special value and coalescing will not happen between undefined and rid1.
It might be better to coalesce and replace the undefined value by the list of all rids.

@youennf
Copy link
Collaborator

youennf commented Jul 10, 2025

LGTM in general once we try coalescing calls using undefined and real values.

@fippo
Copy link
Collaborator

fippo commented Jul 11, 2025

this does not sound like the decision had a valid consensus.
The API continues to be unusable for simulcast, see #143 (comment). But since y'all have turned into video encoding gurus now you can surely answer how this API works with encoders natively supporting simulcast like libvpx and openh264?

@jan-ivar
Copy link
Member Author

I'll try to split this PR into a couple of pieces to merge the (hopefully) non-controversial parts:

  1. resolve with undefined instead of timestamp
  2. Update algorithm to generate keyframe for all layers when called without optional argument

@fippo
Copy link
Collaborator

fippo commented Jul 31, 2025

@jan-ivar taking #165 might be easier?

@jan-ivar
Copy link
Member Author

jan-ivar commented Aug 5, 2025

Split into #275 and #276 and leaving the argument question to come back to later.

@jan-ivar jan-ivar closed this Aug 5, 2025
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.

should transform.generateKeyFrame() take an array of rids instead?
4 participants