profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/pthatcherg/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Peter Thatcher pthatcherg Google

WICG/web-codecs 259

WebCodecs is a flexible web API for encoding and decoding audio and video.

w3c/webrtc-quic 67

Interface to create and manage QUIC streams

w3c/openscreenprotocol 55

Open Screen Protocol

w3c/webrtc-ice 7

Extension to the RTCIceTransport interface defined in WebRTC 1.0

pthatcherg/stunl 2

Tunnel data over STUN (proof of concept)

pthatcherg/quic-go 1

A QUIC implementation in pure go

juberti/mediacapture-output 0

API to manage the rendering of audio on any audio output device

issue commentwebrtc/samples

Chrome 88 video captureStream not streaming video only audio

@guest271314 that's with no settings changed, clean profile. Does not work on macOS Chrome 88, does work on macOS Chrome 91

thomas-yancey

comment created time in 12 hours

issue commentw3c/webtransport

Discarding stale incoming datagrams

sgtm

yutakahirano

comment created time in 12 hours

issue openedw3c/webtransport

Discarding stale incoming datagrams

This is a dual of #152.

When web developers do NOT read incoming datagrams from a WebTransport, incoming datagrams are stored in the ReadableStream (i.e., wt.datagrams.readable). This is confusing so I'm proposing to discard stale incoming datagrams at the UnderlyingSource layer. Like #152, we can expose the expiration duration and high water mark to web developers.

created time in 14 hours

pull request commentw3c/webtransport

Specify "writeDatagrams" in more detail

@jan-ivar @aboba @ricea PTAL

yutakahirano

comment created time in 18 hours

PR opened w3c/webtransport

Specify "writeDatagrams" in more detail
  • Define sendDatagrams that can be called at any time.
  • Specify timestamp and expiration duration handling in writeDatagrams.

Related to #179. This change adds internal slots but doesn't change the public interface.

+43 -3

0 comment

1 changed file

pr created time in 18 hours

push eventw3c/webtransport

Yutaka Hirano

commit sha dcde3bf5a7c74ac15999c1e0d293c7201be74286

Specify "writeDatagrams" in more detail

view details

push time in 18 hours

issue commentwebrtc/samples

RTCDataChannel - broken after reconnection

Story stays the same on 3/08/2021 Can we restart it somehow? The ice events appear to be connected & completed, but the data channel is not opened, still.

MaciejWWojcik

comment created time in 18 hours

pull request commentw3c/webtransport

Editorial: Align with Web IDL specification

It should be [Exposed=(Window,Worker)].

autokagami

comment created time in 21 hours

create barnchw3c/webtransport

branch : yhirano/write-algorithm

created branch time in 21 hours

push eventw3c/webtransport

Yutaka Hirano

commit sha 74769162fb07ea0f64720d6aa0ba978f5f83c553

fix

view details

push time in 21 hours

push eventw3c/webrtc-pc

henbos

commit sha 7afce60f790f8881e3aaedbc540f7c874380bbec

Update to latest ReSpec version

view details

Dominique Hazael-Massieux

commit sha de74080c5950741acade239ff5467d25bcff6e66

Merge pull request #2627 from w3c/respec-26.1.1 Update to latest ReSpec version

view details

push time in 21 hours

PR merged w3c/webrtc-pc

Update to latest ReSpec version Editorial

Automated changes by create-pull-request GitHub action

+158 -158

0 comment

1 changed file

dontcallmedom

pr closed time in 21 hours

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 agent MUST run the following steps:    initialized to the result of [=DatagramDuplexStream/creating=] a {{DatagramDuplexStream}},    its [=DatagramDuplexStream/create/readable=] set to |transport|.{{[[IncomingDatagrams]]}},    and its [=DatagramDuplexStream/create/writable=] set to |transport|.{{[[OutgoingDatagrams]]}}.-1. If the scheme of |parsedURL| is `https`, [=in parallel=],-   [=initialize WebTransport over HTTP=].+1. Let |transport| have an+   <dfn attribute for="WebTransport">\[[Connection]]</dfn> internal slot initialized to null.+1. Let |promise| be the result of [=initialize WebTransport over HTTP|initializing WebTransport+   over HTTP=], with |transport|, |parsedURL| and |dedicated|.+1. [=Upon fulfillment=] of |promise|, run these steps:+   1. If |transport|'s {{[[WebTransportState]]}} internal slot is not `"connecting"`, then abort+      these steps.+   1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"connected"`.+   1. Resolve |transport|'s {{[[Ready]]}} internal slot with {{undefined}}.+1. [=Upon rejection=] of |promise| with |error|, run these steps:+   1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"failed"`.+   1. Reject |transport|'s {{[[Ready]]}} internal slot with |error|.+   1. Reject |transport|'s {{[[Closed]]}} internal slot with |error|. 1. Return |transport|.  <div algorithm="initialize WebTransport over HTTP">-To <dfn>initialize WebTransport over HTTP</dfn> for a given |transport| and-|parsedURL|, do the following:--1. If {{WebTransportOptions/serverCertificateFingerprints}} is specified, throw-   a {{NotSupportedError}} exception.-1. Establish an HTTP/3 WebTransport session to the address identified by-   |parsedURL| following the procedures in [[!WEB-TRANSPORT-HTTP3]].-1. If the session establishment fails, set |transport|'s {{[[WebTransportState]]}}-   internal slot to `"failed"`, reject |transport|'s {{[[Ready]]}} with a-   {{TypeError}} and abort these steps.-1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"connected"`.-1. Resolve |transport|'s {{[[Ready]]}} internal slot with {{undefined}}.+To <dfn>initialize WebTransport over HTTP</dfn>, given a {{WebTransport}} object+<var>transport</var>, a [=URL record=] |url|, a and boolean |dedicated|, run these steps.++1. Let |promise| be a new promise.+1. Return |promise| and run the following steps [=in parallel=].+1. Let |request| be a [=request=]  whose [=request/url=] is |url| and [=request/client=]+   is |transport|'s [=relevant settings object=].+1. Let |networkPartitionKey| be the result of+   [=determine the network partition key|determining the network partition key=] with |request|.+1. Let |connection| be the result of [=obtain a connection|obtaining a connection=] with+   |networkPartitionKey|, |url|'s [=url/origin=], false, [=obtain a connection/http3Only=] set to+   true, and [=obtain a connection/dedicated=] set to |dedicated|.

Done.

yutakahirano

comment created time in a day

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 agent MUST run the following steps:    initialized to the result of [=DatagramDuplexStream/creating=] a {{DatagramDuplexStream}},    its [=DatagramDuplexStream/create/readable=] set to |transport|.{{[[IncomingDatagrams]]}},    and its [=DatagramDuplexStream/create/writable=] set to |transport|.{{[[OutgoingDatagrams]]}}.-1. If the scheme of |parsedURL| is `https`, [=in parallel=],-   [=initialize WebTransport over HTTP=].+1. Let |transport| have an

Done.

yutakahirano

comment created time in a day

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 To <dfn>initialize WebTransport over HTTP</dfn> for a given |transport| and  <pre class="idl"> dictionary WebTransportOptions {+  bool dedicated;

Done.

yutakahirano

comment created time in a day

push eventw3c/webtransport

Yutaka Hirano

commit sha 6b37d6fa6bbe030bc35cd59c289a0cd6807f214d

fix

view details

push time in a day

create barnchw3c/webrtc-pc

branch : respec-26.1.1

created branch time in a day

PR opened w3c/webrtc-pc

Update to latest ReSpec version

Automated changes by create-pull-request GitHub action

+158 -158

0 comment

1 changed file

pr created time in a day

issue commentwebrtc/samples

Chrome 88 video captureStream not streaming video only audio

For what it's worth that same example is working on macOS Chrome Canary Version 91.0.4435.0 (Official Build) canary (x86_64)

Is hardware acceleration enabled?

The same result as described at https://github.com/webrtc/samples/issues/1412#issuecomment-790619837 persists at Chromium 91.0.4440.0 (Developer Build) (64-bit) Revision cd195d11510f86a8a863443a2f3b0bd3c45b71b5-refs/heads/master@{#860605}

thomas-yancey

comment created time in a day

issue closedwebrtc/samples

ambiguous word "best"

for the word "best", it doesn't have any indication to define "best" media experience. is it a too subjective word? may i suggest to delete it or define it ?

https://github.com/webrtc/samples/blob/59a335a23c5c5d9a55edc5dfae70f2ade8975ea8/src/content/extensions/multipleroutes/src/_locales/en/messages.json#L3

closed time in 2 days

ricksentam

issue closedwebrtc/samples

https://webrtc.github.io/samples can't access

Please read first!

Please use discuss-webrtc for general technical discussions and questions.

  • [ ] I have provided steps to reproduce
  • [ ] I have provided browser name and version
  • [ ] I have provided a link to the sample here or a modified version thereof

Note: If the checkboxes above are not checked (which you do after the issue is posted), the issue will be closed.

Browser affected

Browser name including version (e.g. Chrome 64.0.3282.119)

Description

Steps to reproduce

Expected results

Actual results

closed time in 2 days

yoghurtxu

issue commentwebrtc/samples

ambiguous word "best"

"most likely to have the minimum RTT" is what is meant by "best"

ricksentam

comment created time in 2 days

issue closedwebrtc/samples

Trickle ICE cannot work on chrome 77 under window 10

When i upgraded chrome to 77.0.3865.90, pull newest code of webrtc/samples with gh-pages branches. when i run the Trickle ICE online demo, it occurs erorr:

The server stun:stun.l.google.com:19302 returned an error with code=701: STUN host lookup received error.

if i use chrome version of 76, it works well. i don't konw what webrtc changes on newest chrome version of 77 ?

closed time in 2 days

deajosha

issue commentwebrtc/samples

Trickle ICE cannot work on chrome 77 under window 10

As noted in the latest version of the samples, DNS errors can be caused by a lookup on an interface that is not connected to the internet (e.g., the Docker bridge noted above), but these errors are not fatal.

The reason this started in Chrome 77 was that previously the onicecandidateerror event was not implemented.

deajosha

comment created time in 2 days

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 agent MUST run the following steps:    initialized to the result of [=DatagramDuplexStream/creating=] a {{DatagramDuplexStream}},    its [=DatagramDuplexStream/create/readable=] set to |transport|.{{[[IncomingDatagrams]]}},    and its [=DatagramDuplexStream/create/writable=] set to |transport|.{{[[OutgoingDatagrams]]}}.-1. If the scheme of |parsedURL| is `https`, [=in parallel=],-   [=initialize WebTransport over HTTP=].+1. Let |transport| have an

nit: s/an/a/

yutakahirano

comment created time in 2 days

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 agent MUST run the following steps:    initialized to the result of [=DatagramDuplexStream/creating=] a {{DatagramDuplexStream}},    its [=DatagramDuplexStream/create/readable=] set to |transport|.{{[[IncomingDatagrams]]}},    and its [=DatagramDuplexStream/create/writable=] set to |transport|.{{[[OutgoingDatagrams]]}}.-1. If the scheme of |parsedURL| is `https`, [=in parallel=],-   [=initialize WebTransport over HTTP=].+1. Let |transport| have an+   <dfn attribute for="WebTransport">\[[Connection]]</dfn> internal slot initialized to null.+1. Let |promise| be the result of [=initialize WebTransport over HTTP|initializing WebTransport+   over HTTP=], with |transport|, |parsedURL| and |dedicated|.+1. [=Upon fulfillment=] of |promise|, run these steps:+   1. If |transport|'s {{[[WebTransportState]]}} internal slot is not `"connecting"`, then abort+      these steps.+   1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"connected"`.+   1. Resolve |transport|'s {{[[Ready]]}} internal slot with {{undefined}}.+1. [=Upon rejection=] of |promise| with |error|, run these steps:+   1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"failed"`.+   1. Reject |transport|'s {{[[Ready]]}} internal slot with |error|.+   1. Reject |transport|'s {{[[Closed]]}} internal slot with |error|. 1. Return |transport|.  <div algorithm="initialize WebTransport over HTTP">-To <dfn>initialize WebTransport over HTTP</dfn> for a given |transport| and-|parsedURL|, do the following:--1. If {{WebTransportOptions/serverCertificateFingerprints}} is specified, throw-   a {{NotSupportedError}} exception.-1. Establish an HTTP/3 WebTransport session to the address identified by-   |parsedURL| following the procedures in [[!WEB-TRANSPORT-HTTP3]].-1. If the session establishment fails, set |transport|'s {{[[WebTransportState]]}}-   internal slot to `"failed"`, reject |transport|'s {{[[Ready]]}} with a-   {{TypeError}} and abort these steps.-1. Set |transport|'s {{[[WebTransportState]]}} internal slot to `"connected"`.-1. Resolve |transport|'s {{[[Ready]]}} internal slot with {{undefined}}.+To <dfn>initialize WebTransport over HTTP</dfn>, given a {{WebTransport}} object+<var>transport</var>, a [=URL record=] |url|, a and boolean |dedicated|, run these steps.++1. Let |promise| be a new promise.+1. Return |promise| and run the following steps [=in parallel=].+1. Let |request| be a [=request=]  whose [=request/url=] is |url| and [=request/client=]+   is |transport|'s [=relevant settings object=].+1. Let |networkPartitionKey| be the result of+   [=determine the network partition key|determining the network partition key=] with |request|.+1. Let |connection| be the result of [=obtain a connection|obtaining a connection=] with+   |networkPartitionKey|, |url|'s [=url/origin=], false, [=obtain a connection/http3Only=] set to+   true, and [=obtain a connection/dedicated=] set to |dedicated|.

At some point (not sure if here is optimal) we should reject the promise if user requests to allow pooling, but serverCertificateFingerprints is non-empty.

yutakahirano

comment created time in 2 days

Pull request review commentw3c/webtransport

Specify WebTransport initialization in more detail

 To <dfn>initialize WebTransport over HTTP</dfn> for a given |transport| and  <pre class="idl"> dictionary WebTransportOptions {+  bool dedicated;

I think it's a little bit counterintuitive when a parameter is true by default and the user has to set it to false. How about allowPooling? This also makes it clear that while the user can allow pooling, it is not guaranteed to happen.

yutakahirano

comment created time in 2 days

pull request commentWICG/web-codecs

Establish codec registry and AVC registration.

@padenot FYI

chcunningham

comment created time in 3 days

pull request commentWICG/web-codecs

Establish codec registry and AVC registration.

@aboba - looks like the pr-preview link at the bottom of the description only supports a preview of the main spec (known issue). Here are some links to the generated HTML to assist in review.

https://storage.googleapis.com/videostack-external/webcodecs_pr_149/index.html https://storage.googleapis.com/videostack-external/webcodecs_pr_149/codec_registry.html https://storage.googleapis.com/videostack-external/webcodecs_pr_149/avc_codec_registration.html

For now I've just done the AVC registration. Other registrations will be follow up PRs (not urgent, not blocking anything).

chcunningham

comment created time in 3 days

pull request commentWICG/web-codecs

Establish codec registry and AVC registration.

@tidoust FYI - this is what I'd like to land before the FPWD transition.

chcunningham

comment created time in 3 days