moonbit-community/rtc/media does not have a README file
pub struct AudioBuffer {
samples : Array[Int16]
channels : Int
layout : AudioLayout
} derive(Eq, Debug)fn AudioBuffer::from_pcm_s16(data : Bytes, channels~ : Int, little_endian? : Bool, layout? : AudioLayout) -> AudioBuffer raise MediaErrorfn AudioBuffer::new(samples~ : Array[Int16], channels~ : Int, layout? : AudioLayout) -> AudioBuffer raise MediaErrorfn AudioBuffer::slice_frames(self : AudioBuffer, start : Int, end : Int) -> AudioBuffer raise MediaErrorfn CodecCapability::new(mime_type~ : String, clock_rate~ : UInt, channels? : UInt16, fmtp? : String, rtcp_feedback? : Array[String]) -> CodecCapability raise MediaErrorpub(all) struct EncodedFrameContext {
direction : TransformDirection
track_id : String?
codec : CodecCapability
ssrc : UInt
sequence_number : UInt16
timestamp : UInt
marker : Bool
} derive(Eq, Debug)fn EncodedFrameContext::new(direction~ : TransformDirection, track_id? : String, codec~ : CodecCapability, ssrc~ : UInt, sequence_number~ : UInt16, timestamp~ : UInt, marker~ : Bool) -> EncodedFrameContextpub struct EncodedTransform {
name : String
handler : (EncodedFrameContext, Bytes) -> Bytes raise MediaError
}fn EncodedTransform::new(name~ : String, handler~ : (EncodedFrameContext, Bytes) -> Bytes raise MediaError) -> EncodedTransform raise MediaErrorfn EncodedTransformPipeline::add(self : EncodedTransformPipeline, stage : EncodedTransform) -> Unit raise MediaErrorfn EncodedTransformPipeline::process(self : EncodedTransformPipeline, context : EncodedFrameContext, payload : Bytes) -> Bytes raise MediaErrorfn IvfHeader::new(codec~ : IvfCodec, width~ : UInt16, height~ : UInt16, timebase_denominator~ : UInt, timebase_numerator~ : UInt, num_frames? : UInt) -> IvfHeader raise MediaErrorfn IvfWriter::write_frame(self : IvfWriter, frame : Bytes, timestamp : UInt64) -> Unit raise MediaErrorpub struct MediaTrack {
id : String
stream_id : String
kind : MediaKind
codec : CodecCapability
} derive(Debug)fn MediaTrack::new(id~ : String, stream_id~ : String, kind~ : MediaKind, codec~ : CodecCapability) -> MediaTrackpub struct OggWriter {
sample_rate : UInt
channels : Byte
pre_skip : UInt16
serial : UInt
output : Array[Byte]
sequence : UInt
last_granule_position : UInt64
last_rtp_timestamp : UInt?
closed : Bool
}fn OggWriter::new(sample_rate~ : UInt, channels~ : Byte, pre_skip? : UInt16, serial? : UInt, tags? : OpusTags) -> OggWriter raise MediaErrorfn OggWriter::write_opus_packet(self : OggWriter, payload : Bytes, granule_position : UInt64) -> Unit raise MediaErrorfn RtpEncodingParameters::new(ssrc? : UInt, payload_type? : Byte, rtx_ssrc? : UInt, rtx_payload_type? : Byte, rid? : String, active? : Bool, max_bitrate? : UInt64, scale_resolution_down_by? : Double, scalability_mode? : String) -> RtpEncodingParameters raise MediaErrorpub struct RtpParameters {
codec : CodecCapability
encodings : Array[RtpEncodingParameters]
} derive(Eq, Debug)fn RtpParameters::new(codec~ : CodecCapability, encodings? : Array[RtpEncodingParameters]) -> RtpParameters raise MediaErrorpub struct RtpReceiver {
kind : MediaKind
track : MediaTrack?
parameters : RtpParameters?
} derive(Debug)pub struct RtpSender {
kind : MediaKind
track : MediaTrack?
parameters : RtpParameters?
} derive(Debug)pub struct RtpTransceiver {
mid : String?
kind : MediaKind
direction : TransceiverDirection
current_direction : TransceiverDirection?
sender : RtpSender
receiver : RtpReceiver
} derive(Debug)fn RtpTransceiver::set_current_direction(self : RtpTransceiver, direction : TransceiverDirection) -> Unitfn RtpTransceiver::set_direction(self : RtpTransceiver, direction : TransceiverDirection) -> Unit raise MediaErrorpub struct SampleBuilder {
max_late : Int
codec : PayloadCodec
sample_rate : UInt
max_late_timestamp : UInt
packets : Array[Packet]
ready : Array[Sample]
next_sequence : UInt16?
consumed_any : Bool
last_sample_timestamp : UInt?
dropped_packets : UInt16
padding_packets : UInt16
generated_at : WallTime
}fn SampleBuilder::new(max_late~ : UInt16, codec~ : PayloadCodec, sample_rate~ : UInt, generated_at? : WallTime) -> SampleBuilder raise MediaErrorfn SampleBuilder::push_at(self : SampleBuilder, packet : Packet, generated_at : WallTime) -> Unit raise MediaErrorInstall
Download zipExperimental Sans-I/O WebRTC stack for MoonBit
Dependencies