Skip to content
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

Request keyframe via setParameters #167

Merged
merged 21 commits into from Jul 27, 2023
Merged

Conversation

fippo
Copy link
Contributor

@fippo fippo commented May 12, 2023

Fixes #158

use setParameters() which is often used in situations that may yield a key frame such as resizing the video.

The semantic of that flag is the same as the RTCP FIR semantics from
https://www.rfc-editor.org/rfc/rfc5104#section-3.5.1


Preview | Diff

use setParameters() which is often used in situations that may
yield a key frame such as resizing the video.

The semantic of that flag is the same as the RTCP FIR semantics from
  https://www.rfc-editor.org/rfc/rfc5104#section-3.5.1
index.html Outdated Show resolved Hide resolved
@dontcallmedom-bot
Copy link

This issue had an associated resolution in WebRTC May 2023 meeting – 16 May 2023 (Issue #158 / PR #167: Requesting a key frame via setParameters):

RESOLUTION: refine PR #167 based on input during the call

@dontcallmedom-bot
Copy link

This issue was mentioned in WEBRTCWG-2023-05-16 (Page 24)

@youennf youennf added i18n-needs-resolution Issue the Internationalization Group has raised and looks for a response on. Needs assignee input and removed i18n-needs-resolution Issue the Internationalization Group has raised and looks for a response on. labels Jun 22, 2023
@fippo
Copy link
Contributor Author

fippo commented Jun 26, 2023

Current proposal (PR is not updated yet)

setParameters(RTCRtpSendParameters parameters,
	optional sequence<VideoEncoderEncodeOptions>
            encodeOptions);

with VideoEncoderEncodeOptions from WebCodecs

@dontcallmedom-bot
Copy link

This issue had an associated resolution in WebRTC June 2023 meeting – 27 June 2023 (Requesting keyframes via setParameters (WebRTC Extensions)):

RESOLUTION: use second parameter with a similar but different dictionary than WebCodecs, clarify promise doesn't wait for the keyframe to resolve

@fippo
Copy link
Contributor Author

fippo commented Jun 29, 2023

Updated, names are probably going to be subject to discussion.

@dontcallmedom: CI failure is

Error: ROR] Found tests in your spec, but missing [testSuiteURI](https://respec.org/docs/#testSuiteURI) in your ReSpec config.

which seems unrelated?

index.html Outdated Show resolved Hide resolved
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
index.html Outdated Show resolved Hide resolved
index.html Show resolved Hide resolved
fippo and others added 2 commits June 29, 2023 14:50
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
@fippo fippo force-pushed the karl-friedrich-setparameters branch from ac996ed to f39d0cb Compare June 29, 2023 13:45
index.html Outdated Show resolved Hide resolved
Co-authored-by: Dominique Hazael-Massieux <dom@w3.org>
@dontcallmedom
Copy link
Member

(I cannot reproduce the markup error locally; I suggest this can be merged, and I'll deal with the consequences if the error remains after merging)

index.html Outdated Show resolved Hide resolved
fippo added a commit to fippo/webrtc-pc that referenced this pull request Jul 10, 2023
…etParameters

Both are defined as empty in order to allow webrtc-extensions to extend
them which is done in
  w3c/webrtc-extensions#167
fippo added a commit to fippo/webrtc-pc that referenced this pull request Jul 10, 2023
…etParameters

Both are defined as empty in order to allow webrtc-extensions to extend
them which is done in
  w3c/webrtc-extensions#167
fippo added a commit to fippo/webrtc-pc that referenced this pull request Jul 13, 2023
…etParameters

Both are defined as empty in order to allow webrtc-extensions to extend
them which is done in
  w3c/webrtc-extensions#167
aboba and others added 2 commits July 27, 2023 07:35
Co-authored-by: Jan-Ivar Bruaroey <jan-ivar@users.noreply.github.com>
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
aboba and others added 2 commits July 27, 2023 07:39
Co-authored-by: henbos <hbos@google.com>
index.html Outdated Show resolved Hide resolved
Co-authored-by: henbos <hbos@google.com>
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
@aboba aboba merged commit cbae391 into w3c:main Jul 27, 2023
1 of 2 checks passed
@fippo fippo deleted the karl-friedrich-setparameters branch July 27, 2023 14:43
ibaoger pushed a commit to ibaoger/webrtc that referenced this pull request Aug 29, 2023
after the W3C changes in approach documented here:
  w3c/webrtc-extensions#167

chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/4643591

Note that this does not follow the route taken by the W3C API but
still considers this flag a part of the encodingParameters.

BUG=chromium:1354101

Change-Id: If0f0ec09bebddea1f01dd8afbe4747c21afe6793
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286741
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#40656}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 21, 2023
Upstream commit: https://webrtc.googlesource.com/src/+/82c56ca7946181281c466343127f12c20727495a
    Request keyframe via setParameters

    after the W3C changes in approach documented here:
      w3c/webrtc-extensions#167

    chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/4643591

    Note that this does not follow the route taken by the W3C API but
    still considers this flag a part of the encodingParameters.

    BUG=chromium:1354101

    Change-Id: If0f0ec09bebddea1f01dd8afbe4747c21afe6793
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286741
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Commit-Queue: Philipp Hancke <phancke@microsoft.com>
    Cr-Commit-Position: refs/heads/main@{#40656}
vinnydiehl pushed a commit to vinnydiehl/mozilla-unified that referenced this pull request Nov 22, 2023
Upstream commit: https://webrtc.googlesource.com/src/+/82c56ca7946181281c466343127f12c20727495a
    Request keyframe via setParameters

    after the W3C changes in approach documented here:
      w3c/webrtc-extensions#167

    chromium CL: https://chromium-review.googlesource.com/c/chromium/src/+/4643591

    Note that this does not follow the route taken by the W3C API but
    still considers this flag a part of the encodingParameters.

    BUG=chromium:1354101

    Change-Id: If0f0ec09bebddea1f01dd8afbe4747c21afe6793
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286741
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Commit-Queue: Philipp Hancke <phancke@microsoft.com>
    Cr-Commit-Position: refs/heads/main@{#40656}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Dec 18, 2023
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Dec 18, 2023
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 15, 2024
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
aarongable pushed a commit to chromium/chromium that referenced this pull request Jan 19, 2024
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 19, 2024
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 19, 2024
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Jan 22, 2024
…r.setParameters, a=testonly

Automatic update from web-platform-tests
webrtc: add setParameterOptions to sender.setParameters

adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}

--

wpt-commits: 3be83c4de8cafc13d4c00f3e9ddb07132a8a0705
wpt-pr: 43705
ErichDonGubler pushed a commit to ErichDonGubler/firefox that referenced this pull request Jan 23, 2024
…r.setParameters, a=testonly

Automatic update from web-platform-tests
webrtc: add setParameterOptions to sender.setParameters

adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}

--

wpt-commits: 3be83c4de8cafc13d4c00f3e9ddb07132a8a0705
wpt-pr: 43705
marcoscaceres pushed a commit to web-platform-tests/wpt that referenced this pull request Feb 23, 2024
adding a new RTCSetParameterOptions object which has a sequence of
RTCEncodingOptions similar to
WebCodecs VideoEncoderEncodeOptions
  https://w3c.github.io/webcodecs/#dictdef-videoencoderencodeoptions
and its keyFrame flag.

On the native side, this adds the request_key_frame flag to the
RtpEncodingParameters.

WebRTC CL:
  https://webrtc-review.googlesource.com/c/src/+/286741
Spec PRs:
  w3c/webrtc-pc#2885
  w3c/webrtc-extensions#167

Chromestatus feature:
  https://chromestatus.com/feature/5161082937409536

BUG=chromium:1354101

Change-Id: I5bfe266eac5990b1921212babdee1af35edc4242
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4643591
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249577}
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.

When are keyframes generated?
7 participants