Standard API available on the Web via JavaScript
Same JavaScript code on Android/iOS via a thin React Native wrapper around GStreamer
GStreamer already had an MSE implementation
Has no actual users after 3 years and now we know why!
Extracted from the WebKitGTK platform
Not designed as a standalone implementation
Thread-safety as an afterthought
Deadlocks, memory leaks, errors, inconsistent behaviour
Tried fixing but rabbit holes everywhere
Decided to write a new implementation from scratch
Similar interface to the existing C implementation
msesrc
Designed as a standalone component outside a browser
Message passing architecture (GstBus) for thread-safety
Upstreaming: should ideally replace the gst-plugins-bad C version
Servo: Calvaris is looking into implementing MSE support based on this
Talk to me later!
Code available at