Skip to content

Update generateKeyFrame to take single optional rid and remove timestamp #269

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

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. Create a pending key frame task called |task| with |task|.`[[rid]]` set to rid and |task|.`[[promise]]`| set to |promise|.
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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

generateKeyFrame takes a "rid" argument, but is invoked with "rids"
4 participants