class JanusGateway::Plugin::Rtpbroadcast
Public Class Methods
new(client, session)
click to toggle source
@param [JanusGateway::Client] client @param [JanusGateway::Resource::Session] session
Calls superclass method
JanusGateway::Resource::Plugin::new
# File lib/janus_gateway/plugin/rtpbroadcast.rb, line 5 def initialize(client, session) super(client, session, 'janus.plugin.cm.rtpbroadcast') end
Public Instance Methods
list()
click to toggle source
@return [Concurrent::Promise]
# File lib/janus_gateway/plugin/rtpbroadcast.rb, line 10 def list promise = Concurrent::Promise.new client.send_transaction( janus: 'message', session_id: session.id, handle_id: id, body: { request: 'list' } ).then do |data| plugindata = data['plugindata']['data'] if plugindata['error_code'].nil? _on_success(data) promise.set(data).execute else error = JanusGateway::Error.new(plugindata['error_code'], plugindata['error']) _on_error(error) promise.fail(error).execute end end.rescue do |error| promise.fail(error).execute end promise end
watch_udp(mountpoint_id, streams)
click to toggle source
@param [String] mountpoint_id @param [Array] streams @return [Concurrent::Promise]
# File lib/janus_gateway/plugin/rtpbroadcast.rb, line 41 def watch_udp(mountpoint_id, streams) promise = Concurrent::Promise.new client.send_transaction( janus: 'message', session_id: session.id, handle_id: id, body: { request: 'watch-udp', id: mountpoint_id, streams: streams } ).then do |data| if data['error_code'].nil? _on_success(data) promise.set(data).execute else error = JanusGateway::Error.new(data['error_code'], data['error']) _on_error(error) promise.fail(error).execute end end.rescue do |error| promise.fail(error).execute end promise end
Private Instance Methods
_on_error(error)
click to toggle source
# File lib/janus_gateway/plugin/rtpbroadcast.rb, line 80 def _on_error(error) emit :error, error end
_on_success(data)
click to toggle source
# File lib/janus_gateway/plugin/rtpbroadcast.rb, line 74 def _on_success(data) @data = data['plugindata'] emit :success end