software-mansion-labs / elixir-janus Goto Github PK
View Code? Open in Web Editor NEWBindings for Janus Gateway for the Elixir language
License: Apache License 2.0
Bindings for Janus Gateway for the Elixir language
License: Apache License 2.0
e.g. errors returned by plugins are handled as valid payload as we just take plugin data payload and don't check them for errors.
More similar errors can be found with session creation. We need a handler with hard-coded error codes pointing to atoms.
There's no need to keep the videoroom plugin as a separate project as it's closely coupled with elixir=janus and the cost of compiling unused plugins modules is negligible
and use this function to replace ValidTransportMock
from Janus.ConnectionTest
The repo requires a cleanup:
Wembrane
referencesmix.exs
template (e.g. from Membrane's elements)[...]
We might also consider setting adapter via config - I don't think anyone will ever need to use 2 adapters in one app
Originally posted by @bblaszkow06 in #5 (comment)
These events are not handled when received directly instead of via event handler.
[warn] [Elixir.Janus.Connection #PID<0.1147.0>] Received unhandled payload: payload = %{"janus" => "webrtcup", "sender" => 4138050208507743, "session_id" => 5773390204438172}
[Elixir.Janus.Connection #PID<0.1147.0>] Received unhandled payload: payload = %{"janus" => "media", "receiving" => true, "sender" => 4138050208507743, "session_id" => 5773390204438172, "type" => "audio"}
[Elixir.Janus.Connection #PID<0.1147.0>] Received unhandled payload: payload = %{"janus" => "media", "receiving" => true, "sender" => 4138050208507743, "session_id" => 5773390204438172, "type" => "video"}
We cannot use WebSockex adapter with any other transport, so the adapter could define a callback providing transport module and get rid of the one argument from here.
We might also consider setting adapter via config - I don't think anyone will ever need to use 2 adapters in one app
Originally posted by @bblaszkow06 in #5 (comment)
Instead of data only, result should contain ["plugindata", "jsep", "sender"]
Payload handling inside Janus.Connection is now a mess.
Hangup event is not handled properly:
14:53:51.839 [warn] [Elixir.Janus.Connection #PID<0.3941.0>] Received unhandled payload: payload = %{"janus" => "hangup", "reason" => "DTLS
alert", "sender" => 4477049052983924, "session_id" => 8826813196729329}
14:53:51.839 [warn] [Elixir.Janus.Connection #PID<0.3941.0>] Received unhandled payload: payload = %{"janus" => "hangup", "reason" => "DTLS
alert", "sender" => 5834026328109673, "session_id" => 8826813196729329}
14:53:51.839 [warn] [Elixir.Janus.Connection #PID<0.3941.0>] Received unhandled payload: payload = %{"janus" => "hangup", "reason" => "DTLS
alert", "sender" => 8995912849119569, "session_id" => 8826813196729329}
14:53:51.839 [warn] [Elixir.Janus.Connection #PID<0.3941.0>] Received unhandled payload: payload = %{"janus" => "hangup", "reason" => "DTLS
alert", "sender" => 4477972890429323, "session_id" => 8826813196729329}
14:53:51.840 [warn] [Elixir.Janus.Connection #PID<0.3941.0>] Received unhandled payload: payload = %{"janus" => "hangup", "reason" => "DTLS
alert", "sender" => 8862006675845845, "session_id" => 8826813196729329}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.