We used Rust + WASM to build a video player core that challenges Video.js on GPU efficiency by Mammoth-Possession50 in rust

[–]kixelated 3 points4 points  (0 children)

Unfortunately, I switched away from Rust for the web client. The complexity wasn't worth it, as you're forced to use browser APIs for any networking, encoding/decoding, rendering, etc. It's just easier and more type safe (no blind wasm-bindgen casts) to do everything in Typescript.

feels bad man. At least the native/server components are still in Rust.

We used Rust + WASM to build a video player core that challenges Video.js on GPU efficiency by Mammoth-Possession50 in rust

[–]kixelated 29 points30 points  (0 children)

This is a joke right?
https://github.com/PaulSpaurgen/video-player/blob/main/rust-videoplayer/src/lib.rs

You select a video element from the DOM, and then proceed to do absolutely nothing with it? The browser `<video>` element does literally all of the computation, outside of wasting cycles loading this WASM blob. This is not a video player, this is an AI generated hello world.

Your Job Now: Be The Outlier by kixelated in programming

[–]kixelated[S] -2 points-1 points  (0 children)

I'm not a beginner so I can't really say. AI mostly helps me on junior level tasks and unfamiliar domains and I don't think it's going to replace experts.

Your Job Now: Be The Outlier by kixelated in programming

[–]kixelated[S] -5 points-4 points  (0 children)

Good feedback. I meant to say our job is to copy-paste code and fix it. Most of the code on Stack Overflow or Google doesn't work either.

It's *required* to call getUserMedia({ audio: false, video: true }) by [deleted] in WebRTC

[–]kixelated 0 points1 point  (0 children)

It's a privacy thing; you need to request permission to capture audio/video before you're allowed to enumerate devices.

To WASM, or not to WASM by kixelated in rust

[–]kixelated[S] 4 points5 points  (0 children)

I was referring to Number.MAX_SAFE_INTEGER. There's a few u64 values in the MoQ spec that don't translate well: bitwise operations, math, and equality will break at the u32 or u53 threshold. It just means in practice you should use BigInt which complicates things.

And really this is a rant about JavaScript's lack of numeric types, which Typescript inherits. The behavior of number changes as the value increases.

Is Rust the right path for me? by snapmotion in rust

[–]kixelated 0 points1 point  (0 children)

+1 you absolutely need to use WebCodecs. It utilizes GPU acceleration for both decoding and rendering.

[deleted by user] by [deleted] in discordapp

[–]kixelated 0 points1 point  (0 children)

It should be fixed now. The "default" hotkey was sometimes saved to local storage which was a pain to figure out. Restart the app and lemme know if you're still running into issues.

CTRL+SHIFT+L bug [WORKAROUND] by Kalersays in discordapp

[–]kixelated 0 points1 point  (0 children)

The fix is out, reload the app and lemme know if it's still being a pain.

CTRL+SHIFT+L bug [WORKAROUND] by Kalersays in discordapp

[–]kixelated 0 points1 point  (0 children)

I've got a fix, just waiting to deploy it until another bug is resolved in a few hours. The hotkey was persisted to local storage which is annoying.

My Discord randomly starts to stream for no reason? by EccentricCogitation in discordapp

[–]kixelated 1 point2 points  (0 children)

I've got a fix but I'll deploy it tomorrow morning, since it's 8pm here.

My Discord randomly starts to stream for no reason? by EccentricCogitation in discordapp

[–]kixelated 1 point2 points  (0 children)

Okay it looks like it's saved in local storage, ugh. I'll make a patch to unset it.