class JanusGateway::Plugin::Rtpbroadcast::Mountpoint
Attributes
data[R]
@return [Hash, NilClass]
plugin[R]
@return [JanusGateway::Resource::Plugin]
Public Class Methods
new(client, plugin, id, streams = nil, channel_data = nil)
click to toggle source
@param [JanusGateway::Client] client @param [JanusGateway::Plugin::Rtpbroadcast] plugin @param [String] id @param [Array] streams @param [String] channel_data
Calls superclass method
JanusGateway::Resource::new
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 14 def initialize(client, plugin, id, streams = nil, channel_data = nil) @plugin = plugin @data = nil @channel_data = channel_data @streams = streams || [ { audio: 'yes', video: 'yes', audiopt: 111, audiortpmap: 'opus/48000/2', videopt: 100, videortpmap: 'VP8/90000' } ] super(client, id) end
Public Instance Methods
create()
click to toggle source
@return [Concurrent::Promise]
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 34 def create promise = Concurrent::Promise.new client.send_transaction( janus: 'message', session_id: plugin.session.id, handle_id: plugin.id, body: { request: 'create', id: id, name: id, description: id, recorded: true, streams: @streams, channel_data: @channel_data } ).then do |data| plugindata = data['plugindata']['data'] if plugindata['error_code'].nil? _on_created(data) promise.set(self).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
destroy()
click to toggle source
@return [Concurrent::Promise]
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 76 def destroy promise = Concurrent::Promise.new _on_destroyed promise.set(self).execute promise end
session()
click to toggle source
@return [JanusGateway::Resource::Session]
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 86 def session plugin.session end
streams()
click to toggle source
@return [Array<Hash>]
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 71 def streams !data.nil? ? data['data']['stream']['streams'] : [] end
Private Instance Methods
_on_created(data)
click to toggle source
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 96 def _on_created(data) @data = data['plugindata'] plugin.on :destroy do destroy end emit :create end
_on_destroyed()
click to toggle source
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 106 def _on_destroyed emit :destroy end
_on_error(error)
click to toggle source
# File lib/janus_gateway/plugin/rtpbroadcast/mountpoint.rb, line 92 def _on_error(error) emit :error, error end