Module: WebRTC

Defined in:
lib/webrtc.rb,
lib/webrtc/errors.rb,
lib/webrtc/factory.rb,
lib/webrtc/promise.rb,
lib/webrtc/version.rb,
lib/webrtc/observers.rb,
lib/webrtc/rtp_sender.rb,
lib/webrtc/dtmf_sender.rb,
lib/webrtc/ffi/library.rb,
lib/webrtc/video_frame.rb,
lib/webrtc/data_channel.rb,
lib/webrtc/media_stream.rb,
lib/webrtc/parity_types.rb,
lib/webrtc/rtp_receiver.rb,
lib/webrtc/stats_report.rb,
lib/webrtc/configuration.rb,
lib/webrtc/ice_candidate.rb,
lib/webrtc/ice_transport.rb,
lib/webrtc/dtls_transport.rb,
lib/webrtc/sctp_transport.rb,
lib/webrtc/peer_connection.rb,
lib/webrtc/rtp_transceiver.rb,
lib/webrtc/media_interfaces.rb,
lib/webrtc/media_stream_track.rb,
lib/webrtc/session_description.rb

Defined Under Namespace

Modules: DataChannelState, FFI, MediaType, RTCBundlePolicy, RTCErrorDetailType, RTCErrorType, RTCIceConnectionState, RTCIceGatheringState, RTCIceTransportPolicy, RTCPeerConnectionState, RTCRtcpMuxPolicy, RTCSdpType, RTCSignalingState, RTPCodecType Classes: AddIceCandidateObserver, AudioTrackInterface, AudioTrackSinkInterface, AudioTrackSourceInterface, BaseObserver, CreateAnswerOptions, CreateOfferOptions, CreateSessionDescriptionObserver, CurrentTaskQueueFactory, DataChannelInit, DataChannelMessage, DataChannelObserver, Error, I420Buffer, InitializationError, InvalidParameterError, InvalidStateError, MediaStream, MediaStreamInterface, MediaStreamTrack, MessageEvent, OperationError, PeerConnectionFactory, Promise, RTCCertificate, RTCConfiguration, RTCDTMFSender, RTCDTMFToneChangeEvent, RTCDataChannel, RTCDataChannelStats, RTCDtlsFingerprint, RTCDtlsTransport, RTCEncodedImage, RTCError, RTCIceCandidate, RTCIceCandidateInit, RTCIceCandidatePair, RTCIceParameters, RTCIceServer, RTCIceTransport, RTCInboundRtpStreamStats, RTCOutboundRtpStreamStats, RTCPeerConnection, RTCPeerConnectionStats, RTCRtcpFeedback, RTCRtcpParameters, RTCRtpCapabilities, RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpEncodingParameters, RTCRtpHeaderExtensionCapability, RTCRtpHeaderExtensionParameters, RTCRtpReceiveParameters, RTCRtpReceiver, RTCRtpSendParameters, RTCRtpSender, RTCRtpTransceiver, RTCSctpTransport, RTCSessionDescription, RTCSessionDescriptionInit, RTCStats, RTCStatsCollectorCallback, RTCStatsReport, RTCStatsResponse, RTCTrackEvent, RTCTransportStats, SetLocalDescriptionObserver, SetRemoteDescriptionObserver, SetSessionDescriptionObserver, VideoFrame, VideoTrackInterface, VideoTrackSinkInterface, VideoTrackSourceInterface

Constant Summary collapse

VERSION =
'1.0.0'
RTPTransceiver =
RTCRtpTransceiver
RTPTransceiverDirection =
RTCRtpTransceiver::DIRECTIONS
RTCRtpTransceiverDirection =
RTCRtpTransceiver::DIRECTIONS

Class Method Summary collapse

Class Method Details

.cleanupObject



39
40
41
# File 'lib/webrtc.rb', line 39

def cleanup
  FFI.webrtc_cleanup
end

.create_modular_peer_connection_factory(task_queue_factory: CurrentTaskQueueFactory.new) ⇒ Object



24
25
26
# File 'lib/webrtc/factory.rb', line 24

def create_modular_peer_connection_factory(task_queue_factory: CurrentTaskQueueFactory.new)
  PeerConnectionFactory.new(task_queue_factory: task_queue_factory)
end

.initObject



32
33
34
35
36
37
# File 'lib/webrtc.rb', line 32

def init
  result = FFI.webrtc_init
  raise InitializationError, 'Failed to initialize WebRTC' unless result.zero?

  true
end