Enable IETF QUIC transport on 25.lts.30

15 views
Skip to first unread message

Goshin John

unread,
Dec 3, 2025, 11:35:08 AMDec 3
to cobalt-dev
Hi there,

Appreciate the detailed documentation for setting up and building. I have successfully built Cobalt 25.lts.30 for Android arm-softfp with the prebuilt evergreen 5.30.2 and starboard 16.

When testing the APK on an Android 15 device, I found that the app was unable to use the IETF QUIC protocol.

I have tested the YouTube TV webpage and a test app on my own server, which advertises h3 via the Alt-Svc header in response, and monitored the network activity with Wireshark. Neither works on QUIC, but TLS 1.3 over TCP. It only uses gQUIC Q046 when playing YouTube videos.

I also tested the official YouTube TV app. It works perfectly fine on IETF QUIC version 1.

I noticed the IETF QUIC support is mentioned in the CHANGELOG. Is it disabled by default? If so, how do I enable that?

Thank you.

Kaido Kert

unread,
Dec 4, 2025, 1:23:53 PMDec 4
to Goshin John, cobalt-dev
Hi,

Whether HTTP/3 and QUIC is enabled for any platform for Cobalt is determined at runtime. There is a configuration API, commandline flag and runtime settings to control its behavior.

Please have a look here: https://github.com/youtube/cobalt/blob/25.lts.1%2B/cobalt/network/url_request_context.cc#L232

The config API disables it by default on Android.

Youtube apps configure it at the app start, depending on several factors.

Kaido


You received this message because you are subscribed to the Google Groups "cobalt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cobalt-dev+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cobalt-dev/ec11fef5-c434-4d40-a143-f1e8b37736ean%40googlegroups.com.

Kaido Kert

unread,
Dec 4, 2025, 1:25:10 PMDec 4
to Goshin John, cobalt-dev

Goshin John

unread,
Dec 4, 2025, 3:37:26 PMDec 4
to cobalt-dev
Hi Kaido,

Thanks for the quick response! I actually tried that QUIC setting before, but it didn’t work. It seems to be intended for gQUIC.

While browsing the PRs on GitHub, I found a relevant h5vcc setting here: https://github.com/youtube/cobalt/pull/3541

With it, I can now enable HTTP3 on the JS side using:

window.h5vcc.settings.set("HTTP3", 1);


However, I couldn’t find a corresponding command-line argument. Is there a way to enable it by default in Starboard or via a command-line flag?
Reply all
Reply to author
Forward
0 new messages