Show more

WebAssembly really opens new possibilities, like e.g. providing the whole Opus library, because the WebAudio API is lacking for non-PCM data! (while the Opus library is already included in every major browser. but details.)

the worst part about Spectre is that SharedArrayBuffer's are behind a flag again

this setup also allows me to have native clients just use plain UDP sockets. which seems cool.

Show thread

I've also gotten complaints about the delay/rtt being too high. but I've no idea on how to debug that since it's a giant black box. I've also noticed that sometimes the client can't catch up, so there's a delay of 30s. which is stupid

Show thread

the current setup -works- but I have to depend on the server to e.g. mute a client. since I've not found a way yet to see which stream is which. the server knows which streams belong to who. but there's no identifier client side.

Show thread

all of this shouldn't be a big performance hit either. because the MediaStream already uses opus, and I'll be using the native API's to encode and decode them. I could also optionally premix the received audio frames.

Show thread

this _should_ work. but I'm going to lose all "benefits" of an RTC MediaStream. which I haven't encountered yet. this allows me to timestamp and put other metadata (like, who this is from) on audio frames, and drop them on will, and detect lag!

Show thread

and sending those over a RTCDataChannel to the SFU, on client when received, wrap it in an ogg container again, decode, and queue sample with an ScriptProcessorNode or AudioWorklet on an AudioContext object.

Show thread

WebRTC MediaStream's are such a blackbox, that I've been thinking of ways to get more control over it, -while- keeping native performance. my current plan is throwing the mic in a MediaRecorder with a 20ms recording interval, unwrapping the opus packets from the ogg container /n

"Screaming into the void has never been so much fun!"

Show thread

Meanwhile is coming along fine. currently it's just a blank page, and you just have to trust you're not alone in the server

It's only natural the next chat app is going to be called abuse

Show thread

What is the fascination with the negative parts of conversation in chat apps?

Jabber - please stop talking
Mumble - please stop mumbling
Discord - guys please, don't all talk at the same time
tox - please dont be toxic

WebRTC and Web Audio are the dark corners of Web standards, 2 seperate hells of never ending bikeshedding

"Note: As of the August 29 2014 Web Audio API spec publication, this feature has been marked as deprecated, and is soon to be replaced by AudioWorklet."

> AudioWorklet is not implemented in Firefox

Show thread

WebAudio is uhh, weird. e.g. a NoiseGate (mute stream when sound is below n dB), would be really helpful, somebody in 2014 also thought so:

I am cri

I am building a WebRTC app, and jesus. this spec is 5 years old and somehow still immature? (my IS_CHROME hacks so far:

but damn, the stuff you can do with it is pretty awesome.

Welkom bij mijn Starbucks killer: Stermunten

Show more

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!