// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/webrtc-encoded-transform
///|
/// RTCRtpSenderTransform typedef
pub type RTCRtpSenderTransform
///|
pub extern "js" fn RTCRtpSenderTransform::to_js_value(
self : RTCRtpSenderTransform,
) -> JsValue =
#| (self) => self
///|
/// Create RTCRtpSenderTransform from SFrameSenderTransform
pub extern "js" fn RTCRtpSenderTransform::from_s_frame_sender_transform(
v : SFrameSenderTransform,
) -> RTCRtpSenderTransform =
#| (v) => v
///|
/// Create RTCRtpSenderTransform from RTCRtpScriptTransform
pub extern "js" fn RTCRtpSenderTransform::from_rtc_rtp_script_transform(
v : RTCRtpScriptTransform,
) -> RTCRtpSenderTransform =
#| (v) => v
///|
/// Check if this RTCRtpSenderTransform is SFrameSenderTransform
pub extern "js" fn RTCRtpSenderTransform::is_s_frame_sender_transform(
self : RTCRtpSenderTransform,
) -> Bool =
#| (self) => self instanceof SFrameSenderTransform
///|
/// Check if this RTCRtpSenderTransform is RTCRtpScriptTransform
pub extern "js" fn RTCRtpSenderTransform::is_rtc_rtp_script_transform(
self : RTCRtpSenderTransform,
) -> Bool =
#| (self) => self instanceof RTCRtpScriptTransform
///|
/// Try to get RTCRtpSenderTransform as SFrameSenderTransform
pub extern "js" fn RTCRtpSenderTransform::as_s_frame_sender_transform(
self : RTCRtpSenderTransform,
) -> SFrameSenderTransform? =
#| (self) => (self instanceof SFrameSenderTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Try to get RTCRtpSenderTransform as RTCRtpScriptTransform
pub extern "js" fn RTCRtpSenderTransform::as_rtc_rtp_script_transform(
self : RTCRtpSenderTransform,
) -> RTCRtpScriptTransform? =
#| (self) => (self instanceof RTCRtpScriptTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Flatten Option[RTCRtpSenderTransform] to SFrameSenderTransform?
pub fn RTCRtpSenderTransform::bind_as_s_frame_sender_transform(
value : RTCRtpSenderTransform?,
) -> SFrameSenderTransform? {
match value {
Some(v) => v.as_s_frame_sender_transform()
None => None
}
}
///|
/// Flatten Option[RTCRtpSenderTransform] to RTCRtpScriptTransform?
pub fn RTCRtpSenderTransform::bind_as_rtc_rtp_script_transform(
value : RTCRtpSenderTransform?,
) -> RTCRtpScriptTransform? {
match value {
Some(v) => v.as_rtc_rtp_script_transform()
None => None
}
}
///|
/// RTCRtpReceiverTransform typedef
pub type RTCRtpReceiverTransform
///|
pub extern "js" fn RTCRtpReceiverTransform::to_js_value(
self : RTCRtpReceiverTransform,
) -> JsValue =
#| (self) => self
///|
/// Create RTCRtpReceiverTransform from SFrameReceiverTransform
pub extern "js" fn RTCRtpReceiverTransform::from_s_frame_receiver_transform(
v : SFrameReceiverTransform,
) -> RTCRtpReceiverTransform =
#| (v) => v
///|
/// Create RTCRtpReceiverTransform from RTCRtpScriptTransform
pub extern "js" fn RTCRtpReceiverTransform::from_rtc_rtp_script_transform(
v : RTCRtpScriptTransform,
) -> RTCRtpReceiverTransform =
#| (v) => v
///|
/// Check if this RTCRtpReceiverTransform is SFrameReceiverTransform
pub extern "js" fn RTCRtpReceiverTransform::is_s_frame_receiver_transform(
self : RTCRtpReceiverTransform,
) -> Bool =
#| (self) => self instanceof SFrameReceiverTransform
///|
/// Check if this RTCRtpReceiverTransform is RTCRtpScriptTransform
pub extern "js" fn RTCRtpReceiverTransform::is_rtc_rtp_script_transform(
self : RTCRtpReceiverTransform,
) -> Bool =
#| (self) => self instanceof RTCRtpScriptTransform
///|
/// Try to get RTCRtpReceiverTransform as SFrameReceiverTransform
pub extern "js" fn RTCRtpReceiverTransform::as_s_frame_receiver_transform(
self : RTCRtpReceiverTransform,
) -> SFrameReceiverTransform? =
#| (self) => (self instanceof SFrameReceiverTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Try to get RTCRtpReceiverTransform as RTCRtpScriptTransform
pub extern "js" fn RTCRtpReceiverTransform::as_rtc_rtp_script_transform(
self : RTCRtpReceiverTransform,
) -> RTCRtpScriptTransform? =
#| (self) => (self instanceof RTCRtpScriptTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Flatten Option[RTCRtpReceiverTransform] to SFrameReceiverTransform?
pub fn RTCRtpReceiverTransform::bind_as_s_frame_receiver_transform(
value : RTCRtpReceiverTransform?,
) -> SFrameReceiverTransform? {
match value {
Some(v) => v.as_s_frame_receiver_transform()
None => None
}
}
///|
/// Flatten Option[RTCRtpReceiverTransform] to RTCRtpScriptTransform?
pub fn RTCRtpReceiverTransform::bind_as_rtc_rtp_script_transform(
value : RTCRtpReceiverTransform?,
) -> RTCRtpScriptTransform? {
match value {
Some(v) => v.as_rtc_rtp_script_transform()
None => None
}
}
///|
/// SmallCryptoKeyID typedef
pub type SmallCryptoKeyID = Int64
///|
/// CryptoKeyID typedef
pub type CryptoKeyID
///|
pub extern "js" fn CryptoKeyID::to_js_value(self : CryptoKeyID) -> JsValue =
#| (self) => self
///|
/// Create CryptoKeyID from SmallCryptoKeyID
pub extern "js" fn CryptoKeyID::from_small_crypto_key_id(
v : SmallCryptoKeyID,
) -> CryptoKeyID =
#| (v) => v
///|
/// Check if this CryptoKeyID is SmallCryptoKeyID
pub extern "js" fn CryptoKeyID::is_small_crypto_key_id(
self : CryptoKeyID,
) -> Bool =
#| (self) => typeof self === 'number'
///|
/// Try to get CryptoKeyID as SmallCryptoKeyID
pub extern "js" fn CryptoKeyID::as_small_crypto_key_id(
self : CryptoKeyID,
) -> SmallCryptoKeyID? =
#| (self) => (typeof self === 'number') ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Flatten Option[CryptoKeyID] to SmallCryptoKeyID?
pub fn CryptoKeyID::bind_as_small_crypto_key_id(
value : CryptoKeyID?,
) -> SmallCryptoKeyID? {
match value {
Some(v) => v.as_small_crypto_key_id()
None => None
}
}
///|
/// SFrameCipherSuite enum
pub(all) enum SFrameCipherSuite {
AES128CTRHMACSHA25680
AES128CTRHMACSHA25664
AES128CTRHMACSHA25632
AES128GCMSHA256128
AES256GCMSHA512128
} derive(Eq, Show)
///|
/// Convert to string value
pub fn SFrameCipherSuite::to_string(self : SFrameCipherSuite) -> String {
match self {
SFrameCipherSuite::AES128CTRHMACSHA25680 => "AES_128_CTR_HMAC_SHA256_80"
SFrameCipherSuite::AES128CTRHMACSHA25664 => "AES_128_CTR_HMAC_SHA256_64"
SFrameCipherSuite::AES128CTRHMACSHA25632 => "AES_128_CTR_HMAC_SHA256_32"
SFrameCipherSuite::AES128GCMSHA256128 => "AES_128_GCM_SHA256_128"
SFrameCipherSuite::AES256GCMSHA512128 => "AES_256_GCM_SHA512_128"
}
}
///|
/// Parse from string value
pub fn SFrameCipherSuite::from_string(s : String) -> SFrameCipherSuite? {
match s {
"AES_128_CTR_HMAC_SHA256_80" =>
Some(SFrameCipherSuite::AES128CTRHMACSHA25680)
"AES_128_CTR_HMAC_SHA256_64" =>
Some(SFrameCipherSuite::AES128CTRHMACSHA25664)
"AES_128_CTR_HMAC_SHA256_32" =>
Some(SFrameCipherSuite::AES128CTRHMACSHA25632)
"AES_128_GCM_SHA256_128" => Some(SFrameCipherSuite::AES128GCMSHA256128)
"AES_256_GCM_SHA512_128" => Some(SFrameCipherSuite::AES256GCMSHA512128)
_ => None
}
}
///|
/// SFrameTransformErrorEventType enum
pub(all) enum SFrameTransformErrorEventType {
Authentication
KeyID
Syntax
} derive(Eq, Show)
///|
/// Convert to string value
pub fn SFrameTransformErrorEventType::to_string(
self : SFrameTransformErrorEventType,
) -> String {
match self {
SFrameTransformErrorEventType::Authentication => "authentication"
SFrameTransformErrorEventType::KeyID => "keyID"
SFrameTransformErrorEventType::Syntax => "syntax"
}
}
///|
/// Parse from string value
pub fn SFrameTransformErrorEventType::from_string(
s : String,
) -> SFrameTransformErrorEventType? {
match s {
"authentication" => Some(SFrameTransformErrorEventType::Authentication)
"keyID" => Some(SFrameTransformErrorEventType::KeyID)
"syntax" => Some(SFrameTransformErrorEventType::Syntax)
_ => None
}
}
///|
/// SFrameTransformOptions dictionary
pub(all) struct SFrameTransformOptions {
cipherSuite : SFrameCipherSuite
}
///|
/// Create a new SFrameTransformOptions
pub fn SFrameTransformOptions::new(
cipherSuite~ : SFrameCipherSuite,
) -> SFrameTransformOptions {
SFrameTransformOptions::{ cipherSuite, }
}
///|
extern "js" fn SFrameTransformOptions::to_js_ffi(
self : SFrameTransformOptions,
) -> JsValue =
#| (self) => ({
#| cipherSuite: ['AES_128_CTR_HMAC_SHA256_80', 'AES_128_CTR_HMAC_SHA256_64', 'AES_128_CTR_HMAC_SHA256_32', 'AES_128_GCM_SHA256_128', 'AES_256_GCM_SHA512_128'][self.cipherSuite]
#| })
///|
/// Convert to JsValue
pub fn SFrameTransformOptions::to_js(self : SFrameTransformOptions) -> JsValue {
SFrameTransformOptions::to_js_ffi(self)
}
///|
extern "js" fn SFrameTransformOptions::from_js_ffi(
value : JsValue,
) -> SFrameTransformOptions =
#| (v) => ({
#| cipherSuite: ['AES_128_CTR_HMAC_SHA256_80', 'AES_128_CTR_HMAC_SHA256_64', 'AES_128_CTR_HMAC_SHA256_32', 'AES_128_GCM_SHA256_128', 'AES_256_GCM_SHA512_128'].indexOf(v.cipherSuite)
#| })
///|
/// Convert from JsValue
pub fn SFrameTransformOptions::from_js(
value : JsValue,
) -> SFrameTransformOptions {
SFrameTransformOptions::from_js_ffi(value)
}
///|
/// SFrameTransformErrorEventInit dictionary
pub(all) struct SFrameTransformErrorEventInit {
errorType : SFrameTransformErrorEventType
frame : JsValue
keyID : Nullable[CryptoKeyID]
}
///|
/// Create a new SFrameTransformErrorEventInit
pub fn SFrameTransformErrorEventInit::new(
errorType~ : SFrameTransformErrorEventType,
frame~ : JsValue,
) -> SFrameTransformErrorEventInit {
SFrameTransformErrorEventInit::{
errorType,
frame,
keyID: Nullable::Undefined,
}
}
///|
extern "js" fn SFrameTransformErrorEventInit::to_js_ffi(
self : SFrameTransformErrorEventInit,
) -> JsValue =
#| (self) => ({
#| errorType: ['authentication', 'keyID', 'syntax'][self.errorType],
#| frame: self.frame,
#| keyID: ((() => { const v = self.keyID; if (v.$tag === 0) return undefined; if (v.$tag === 1) return null; return v._0.to_js_value(); })())
#| })
///|
/// Convert to JsValue
pub fn SFrameTransformErrorEventInit::to_js(
self : SFrameTransformErrorEventInit,
) -> JsValue {
SFrameTransformErrorEventInit::to_js_ffi(self)
}
///|
extern "js" fn SFrameTransformErrorEventInit::from_js_ffi(
value : JsValue,
) -> SFrameTransformErrorEventInit =
#| (v) => ({
#| errorType: ['authentication', 'keyID', 'syntax'].indexOf(v.errorType),
#| frame: v.frame,
#| keyID: (v.keyID === undefined ? { $tag: 0 } : v.keyID === null ? { $tag: 1 } : { $tag: 2, _0: v.keyID })
#| })
///|
/// Convert from JsValue
pub fn SFrameTransformErrorEventInit::from_js(
value : JsValue,
) -> SFrameTransformErrorEventInit {
SFrameTransformErrorEventInit::from_js_ffi(value)
}
///|
/// RTCEncodedFrameMetadata dictionary
pub(all) struct RTCEncodedFrameMetadata {
synchronizationSource : Int?
payloadType : Int?
contributingSources : Array[Int]?
rtpTimestamp : Int?
receiveTime : DOMHighResTimeStamp?
captureTime : DOMHighResTimeStamp?
senderCaptureTimeOffset : DOMHighResTimeStamp?
mimeType : String?
}
///|
/// Create a new RTCEncodedFrameMetadata with default values
pub fn RTCEncodedFrameMetadata::default() -> RTCEncodedFrameMetadata {
RTCEncodedFrameMetadata::{
synchronizationSource: None,
payloadType: None,
contributingSources: None,
rtpTimestamp: None,
receiveTime: None,
captureTime: None,
senderCaptureTimeOffset: None,
mimeType: None,
}
}
///|
extern "js" fn RTCEncodedFrameMetadata::to_js_ffi(
self : RTCEncodedFrameMetadata,
) -> JsValue =
#| (self) => ({
#| synchronizationSource: self.synchronizationSource,
#| payloadType: self.payloadType,
#| contributingSources: ((() => { const v = self.contributingSources; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| rtpTimestamp: self.rtpTimestamp,
#| receiveTime: ((() => { const v = self.receiveTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| captureTime: ((() => { const v = self.captureTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| senderCaptureTimeOffset: ((() => { const v = self.senderCaptureTimeOffset; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| mimeType: self.mimeType
#| })
///|
/// Convert to JsValue
pub fn RTCEncodedFrameMetadata::to_js(
self : RTCEncodedFrameMetadata,
) -> JsValue {
RTCEncodedFrameMetadata::to_js_ffi(self)
}
///|
extern "js" fn RTCEncodedFrameMetadata::from_js_ffi(
value : JsValue,
) -> RTCEncodedFrameMetadata =
#| (v) => ({
#| synchronizationSource: v.synchronizationSource,
#| payloadType: v.payloadType,
#| contributingSources: (v.contributingSources === undefined ? { $tag: 0 } : { $tag: 1, _0: v.contributingSources }),
#| rtpTimestamp: v.rtpTimestamp,
#| receiveTime: (v.receiveTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.receiveTime }),
#| captureTime: (v.captureTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.captureTime }),
#| senderCaptureTimeOffset: (v.senderCaptureTimeOffset === undefined ? { $tag: 0 } : { $tag: 1, _0: v.senderCaptureTimeOffset }),
#| mimeType: v.mimeType
#| })
///|
/// Convert from JsValue
pub fn RTCEncodedFrameMetadata::from_js(
value : JsValue,
) -> RTCEncodedFrameMetadata {
RTCEncodedFrameMetadata::from_js_ffi(value)
}
///|
/// RTCEncodedVideoFrameMetadata dictionary
pub(all) struct RTCEncodedVideoFrameMetadata {
synchronizationSource : Int?
payloadType : Int?
contributingSources : Array[Int]?
rtpTimestamp : Int?
receiveTime : DOMHighResTimeStamp?
captureTime : DOMHighResTimeStamp?
senderCaptureTimeOffset : DOMHighResTimeStamp?
mimeType : String?
frameId : Int64?
dependencies : Array[Int64]?
width : Int?
height : Int?
spatialIndex : Int?
temporalIndex : Int?
timestamp : Int64?
}
///|
/// Create a new RTCEncodedVideoFrameMetadata with default values
pub fn RTCEncodedVideoFrameMetadata::default() -> RTCEncodedVideoFrameMetadata {
RTCEncodedVideoFrameMetadata::{
synchronizationSource: None,
payloadType: None,
contributingSources: None,
rtpTimestamp: None,
receiveTime: None,
captureTime: None,
senderCaptureTimeOffset: None,
mimeType: None,
frameId: None,
dependencies: None,
width: None,
height: None,
spatialIndex: None,
temporalIndex: None,
timestamp: None,
}
}
///|
extern "js" fn RTCEncodedVideoFrameMetadata::to_js_ffi(
self : RTCEncodedVideoFrameMetadata,
) -> JsValue =
#| (self) => ({
#| synchronizationSource: self.synchronizationSource,
#| payloadType: self.payloadType,
#| contributingSources: ((() => { const v = self.contributingSources; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| rtpTimestamp: self.rtpTimestamp,
#| receiveTime: ((() => { const v = self.receiveTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| captureTime: ((() => { const v = self.captureTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| senderCaptureTimeOffset: ((() => { const v = self.senderCaptureTimeOffset; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| mimeType: self.mimeType,
#| frameId: self.frameId,
#| dependencies: ((() => { const v = self.dependencies; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| width: self.width,
#| height: self.height,
#| spatialIndex: self.spatialIndex,
#| temporalIndex: self.temporalIndex,
#| timestamp: self.timestamp
#| })
///|
/// Convert to JsValue
pub fn RTCEncodedVideoFrameMetadata::to_js(
self : RTCEncodedVideoFrameMetadata,
) -> JsValue {
RTCEncodedVideoFrameMetadata::to_js_ffi(self)
}
///|
extern "js" fn RTCEncodedVideoFrameMetadata::from_js_ffi(
value : JsValue,
) -> RTCEncodedVideoFrameMetadata =
#| (v) => ({
#| synchronizationSource: v.synchronizationSource,
#| payloadType: v.payloadType,
#| contributingSources: (v.contributingSources === undefined ? { $tag: 0 } : { $tag: 1, _0: v.contributingSources }),
#| rtpTimestamp: v.rtpTimestamp,
#| receiveTime: (v.receiveTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.receiveTime }),
#| captureTime: (v.captureTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.captureTime }),
#| senderCaptureTimeOffset: (v.senderCaptureTimeOffset === undefined ? { $tag: 0 } : { $tag: 1, _0: v.senderCaptureTimeOffset }),
#| mimeType: v.mimeType,
#| frameId: v.frameId,
#| dependencies: (v.dependencies === undefined ? { $tag: 0 } : { $tag: 1, _0: v.dependencies }),
#| width: v.width,
#| height: v.height,
#| spatialIndex: v.spatialIndex,
#| temporalIndex: v.temporalIndex,
#| timestamp: v.timestamp
#| })
///|
/// Convert from JsValue
pub fn RTCEncodedVideoFrameMetadata::from_js(
value : JsValue,
) -> RTCEncodedVideoFrameMetadata {
RTCEncodedVideoFrameMetadata::from_js_ffi(value)
}
///|
/// RTCEncodedVideoFrameOptions dictionary
pub(all) struct RTCEncodedVideoFrameOptions {
metadata : RTCEncodedVideoFrameMetadata?
}
///|
/// Create a new RTCEncodedVideoFrameOptions with default values
pub fn RTCEncodedVideoFrameOptions::default() -> RTCEncodedVideoFrameOptions {
RTCEncodedVideoFrameOptions::{ metadata: None }
}
///|
extern "js" fn RTCEncodedVideoFrameOptions::to_js_ffi(
self : RTCEncodedVideoFrameOptions,
) -> JsValue =
#| (self) => ({
#| metadata: ((() => { const v = self.metadata; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn RTCEncodedVideoFrameOptions::to_js(
self : RTCEncodedVideoFrameOptions,
) -> JsValue {
RTCEncodedVideoFrameOptions::to_js_ffi(self)
}
///|
extern "js" fn RTCEncodedVideoFrameOptions::from_js_ffi(
value : JsValue,
) -> RTCEncodedVideoFrameOptions =
#| (v) => ({
#| metadata: (v.metadata === undefined ? { $tag: 0 } : { $tag: 1, _0: v.metadata })
#| })
///|
/// Convert from JsValue
pub fn RTCEncodedVideoFrameOptions::from_js(
value : JsValue,
) -> RTCEncodedVideoFrameOptions {
RTCEncodedVideoFrameOptions::from_js_ffi(value)
}
///|
/// RTCEncodedAudioFrameMetadata dictionary
pub(all) struct RTCEncodedAudioFrameMetadata {
synchronizationSource : Int?
payloadType : Int?
contributingSources : Array[Int]?
rtpTimestamp : Int?
receiveTime : DOMHighResTimeStamp?
captureTime : DOMHighResTimeStamp?
senderCaptureTimeOffset : DOMHighResTimeStamp?
mimeType : String?
sequenceNumber : Int?
audioLevel : Double?
}
///|
/// Create a new RTCEncodedAudioFrameMetadata with default values
pub fn RTCEncodedAudioFrameMetadata::default() -> RTCEncodedAudioFrameMetadata {
RTCEncodedAudioFrameMetadata::{
synchronizationSource: None,
payloadType: None,
contributingSources: None,
rtpTimestamp: None,
receiveTime: None,
captureTime: None,
senderCaptureTimeOffset: None,
mimeType: None,
sequenceNumber: None,
audioLevel: None,
}
}
///|
extern "js" fn RTCEncodedAudioFrameMetadata::to_js_ffi(
self : RTCEncodedAudioFrameMetadata,
) -> JsValue =
#| (self) => ({
#| synchronizationSource: self.synchronizationSource,
#| payloadType: self.payloadType,
#| contributingSources: ((() => { const v = self.contributingSources; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| rtpTimestamp: self.rtpTimestamp,
#| receiveTime: ((() => { const v = self.receiveTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| captureTime: ((() => { const v = self.captureTime; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| senderCaptureTimeOffset: ((() => { const v = self.senderCaptureTimeOffset; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })()),
#| mimeType: self.mimeType,
#| sequenceNumber: self.sequenceNumber,
#| audioLevel: ((() => { const v = self.audioLevel; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn RTCEncodedAudioFrameMetadata::to_js(
self : RTCEncodedAudioFrameMetadata,
) -> JsValue {
RTCEncodedAudioFrameMetadata::to_js_ffi(self)
}
///|
extern "js" fn RTCEncodedAudioFrameMetadata::from_js_ffi(
value : JsValue,
) -> RTCEncodedAudioFrameMetadata =
#| (v) => ({
#| synchronizationSource: v.synchronizationSource,
#| payloadType: v.payloadType,
#| contributingSources: (v.contributingSources === undefined ? { $tag: 0 } : { $tag: 1, _0: v.contributingSources }),
#| rtpTimestamp: v.rtpTimestamp,
#| receiveTime: (v.receiveTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.receiveTime }),
#| captureTime: (v.captureTime === undefined ? { $tag: 0 } : { $tag: 1, _0: v.captureTime }),
#| senderCaptureTimeOffset: (v.senderCaptureTimeOffset === undefined ? { $tag: 0 } : { $tag: 1, _0: v.senderCaptureTimeOffset }),
#| mimeType: v.mimeType,
#| sequenceNumber: v.sequenceNumber,
#| audioLevel: (v.audioLevel === undefined ? { $tag: 0 } : { $tag: 1, _0: v.audioLevel })
#| })
///|
/// Convert from JsValue
pub fn RTCEncodedAudioFrameMetadata::from_js(
value : JsValue,
) -> RTCEncodedAudioFrameMetadata {
RTCEncodedAudioFrameMetadata::from_js_ffi(value)
}
///|
/// RTCEncodedAudioFrameOptions dictionary
pub(all) struct RTCEncodedAudioFrameOptions {
metadata : RTCEncodedAudioFrameMetadata?
}
///|
/// Create a new RTCEncodedAudioFrameOptions with default values
pub fn RTCEncodedAudioFrameOptions::default() -> RTCEncodedAudioFrameOptions {
RTCEncodedAudioFrameOptions::{ metadata: None }
}
///|
extern "js" fn RTCEncodedAudioFrameOptions::to_js_ffi(
self : RTCEncodedAudioFrameOptions,
) -> JsValue =
#| (self) => ({
#| metadata: ((() => { const v = self.metadata; if (v === undefined || v.$tag !== 1) return undefined; return v._0; })())
#| })
///|
/// Convert to JsValue
pub fn RTCEncodedAudioFrameOptions::to_js(
self : RTCEncodedAudioFrameOptions,
) -> JsValue {
RTCEncodedAudioFrameOptions::to_js_ffi(self)
}
///|
extern "js" fn RTCEncodedAudioFrameOptions::from_js_ffi(
value : JsValue,
) -> RTCEncodedAudioFrameOptions =
#| (v) => ({
#| metadata: (v.metadata === undefined ? { $tag: 0 } : { $tag: 1, _0: v.metadata })
#| })
///|
/// Convert from JsValue
pub fn RTCEncodedAudioFrameOptions::from_js(
value : JsValue,
) -> RTCEncodedAudioFrameOptions {
RTCEncodedAudioFrameOptions::from_js_ffi(value)
}
///|
/// SFrameSenderTransform interface
pub type SFrameSenderTransform
///|
pub extern "js" fn SFrameSenderTransform::to_js_value(
self : SFrameSenderTransform,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SFrameSenderTransform (unchecked)
pub extern "js" fn SFrameSenderTransform::from_js_value(
v : JsValue,
) -> SFrameSenderTransform =
#| (v) => v
///|
/// Safely cast JsValue to SFrameSenderTransform (checked with instanceof)
pub extern "js" fn SFrameSenderTransform::from_js_value_opt(
v : JsValue,
) -> SFrameSenderTransform? =
#| (v) => (v instanceof SFrameSenderTransform) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SFrameSenderTransform (checked with instanceof)
pub extern "js" fn JsValue::as_s_frame_sender_transform(
self : JsValue,
) -> SFrameSenderTransform? =
#| (self) => (self instanceof SFrameSenderTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SFrameSenderTransform (unchecked)
pub extern "js" fn JsValue::to_s_frame_sender_transform(
self : JsValue,
) -> SFrameSenderTransform =
#| (self) => self
///|
pub extern "js" fn SFrameSenderTransform::new() -> SFrameSenderTransform =
#| () => new SFrameSenderTransform()
///|
extern "js" fn SFrameSenderTransform::new_with_options_ffi(
options : JsValue,
) -> SFrameSenderTransform =
#| (options) => new SFrameSenderTransform(options)
///|
pub fn SFrameSenderTransform::new_with_options(
options : SFrameTransformOptions,
) -> SFrameSenderTransform {
SFrameSenderTransform::new_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn SFrameSenderTransform::set_encryption_key(
self : SFrameSenderTransform,
key : CryptoKey,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.setEncryptionKey(key, key_id)
///|
pub extern "js" fn SFrameSenderTransform::set_onerror(
self : SFrameSenderTransform,
handler : (Event) -> Unit,
) -> Unit =
#| (self, handler) => { self.onerror = (e) => handler(e) }
///|
pub extern "js" fn SFrameSenderTransform::clear_onerror(
self : SFrameSenderTransform,
) -> Unit =
#| (self) => { self.onerror = null }
///|
pub extern "js" fn SFrameSenderTransform::set_encryption_key_with_small_crypto_key_id(
self : SFrameSenderTransform,
key : CryptoKey,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.setEncryptionKey(key, key_id)
///|
/// SFrameReceiverTransform interface
pub type SFrameReceiverTransform
///|
pub extern "js" fn SFrameReceiverTransform::to_js_value(
self : SFrameReceiverTransform,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SFrameReceiverTransform (unchecked)
pub extern "js" fn SFrameReceiverTransform::from_js_value(
v : JsValue,
) -> SFrameReceiverTransform =
#| (v) => v
///|
/// Safely cast JsValue to SFrameReceiverTransform (checked with instanceof)
pub extern "js" fn SFrameReceiverTransform::from_js_value_opt(
v : JsValue,
) -> SFrameReceiverTransform? =
#| (v) => (v instanceof SFrameReceiverTransform) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SFrameReceiverTransform (checked with instanceof)
pub extern "js" fn JsValue::as_s_frame_receiver_transform(
self : JsValue,
) -> SFrameReceiverTransform? =
#| (self) => (self instanceof SFrameReceiverTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SFrameReceiverTransform (unchecked)
pub extern "js" fn JsValue::to_s_frame_receiver_transform(
self : JsValue,
) -> SFrameReceiverTransform =
#| (self) => self
///|
pub extern "js" fn SFrameReceiverTransform::to_event_target(
self : SFrameReceiverTransform,
) -> EventTarget =
#| (self) => self
///|
pub extern "js" fn SFrameReceiverTransform::new() -> SFrameReceiverTransform =
#| () => new SFrameReceiverTransform()
///|
extern "js" fn SFrameReceiverTransform::new_with_options_ffi(
options : JsValue,
) -> SFrameReceiverTransform =
#| (options) => new SFrameReceiverTransform(options)
///|
pub fn SFrameReceiverTransform::new_with_options(
options : SFrameTransformOptions,
) -> SFrameReceiverTransform {
SFrameReceiverTransform::new_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn SFrameReceiverTransform::add_decryption_key(
self : SFrameReceiverTransform,
key : CryptoKey,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.addDecryptionKey(key, key_id)
///|
pub extern "js" fn SFrameReceiverTransform::remove_decryption_key(
self : SFrameReceiverTransform,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key_id) => self.removeDecryptionKey(key_id)
///|
pub extern "js" fn SFrameReceiverTransform::set_onerror(
self : SFrameReceiverTransform,
handler : (Event) -> Unit,
) -> Unit =
#| (self, handler) => { self.onerror = (e) => handler(e) }
///|
pub extern "js" fn SFrameReceiverTransform::clear_onerror(
self : SFrameReceiverTransform,
) -> Unit =
#| (self) => { self.onerror = null }
///|
pub extern "js" fn SFrameReceiverTransform::add_decryption_key_with_small_crypto_key_id(
self : SFrameReceiverTransform,
key : CryptoKey,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.addDecryptionKey(key, key_id)
///|
pub extern "js" fn SFrameReceiverTransform::remove_decryption_key_with_small_crypto_key_id(
self : SFrameReceiverTransform,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key_id) => self.removeDecryptionKey(key_id)
///|
/// SFrameEncrypterStream interface
pub type SFrameEncrypterStream
///|
pub extern "js" fn SFrameEncrypterStream::to_js_value(
self : SFrameEncrypterStream,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SFrameEncrypterStream (unchecked)
pub extern "js" fn SFrameEncrypterStream::from_js_value(
v : JsValue,
) -> SFrameEncrypterStream =
#| (v) => v
///|
/// Safely cast JsValue to SFrameEncrypterStream (checked with instanceof)
pub extern "js" fn SFrameEncrypterStream::from_js_value_opt(
v : JsValue,
) -> SFrameEncrypterStream? =
#| (v) => (v instanceof SFrameEncrypterStream) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SFrameEncrypterStream (checked with instanceof)
pub extern "js" fn JsValue::as_s_frame_encrypter_stream(
self : JsValue,
) -> SFrameEncrypterStream? =
#| (self) => (self instanceof SFrameEncrypterStream) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SFrameEncrypterStream (unchecked)
pub extern "js" fn JsValue::to_s_frame_encrypter_stream(
self : JsValue,
) -> SFrameEncrypterStream =
#| (self) => self
///|
pub extern "js" fn SFrameEncrypterStream::to_event_target(
self : SFrameEncrypterStream,
) -> EventTarget =
#| (self) => self
///|
pub extern "js" fn SFrameEncrypterStream::new() -> SFrameEncrypterStream =
#| () => new SFrameEncrypterStream()
///|
extern "js" fn SFrameEncrypterStream::new_with_options_ffi(
options : JsValue,
) -> SFrameEncrypterStream =
#| (options) => new SFrameEncrypterStream(options)
///|
pub fn SFrameEncrypterStream::new_with_options(
options : SFrameTransformOptions,
) -> SFrameEncrypterStream {
SFrameEncrypterStream::new_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn SFrameEncrypterStream::get_readable(
self : SFrameEncrypterStream,
) -> ReadableStream =
#| (self) => self.readable
///|
pub extern "js" fn SFrameEncrypterStream::get_writable(
self : SFrameEncrypterStream,
) -> WritableStream =
#| (self) => self.writable
///|
pub extern "js" fn SFrameEncrypterStream::set_encryption_key(
self : SFrameEncrypterStream,
key : CryptoKey,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.setEncryptionKey(key, key_id)
///|
pub extern "js" fn SFrameEncrypterStream::set_onerror(
self : SFrameEncrypterStream,
handler : (Event) -> Unit,
) -> Unit =
#| (self, handler) => { self.onerror = (e) => handler(e) }
///|
pub extern "js" fn SFrameEncrypterStream::clear_onerror(
self : SFrameEncrypterStream,
) -> Unit =
#| (self) => { self.onerror = null }
///|
pub extern "js" fn SFrameEncrypterStream::set_encryption_key_with_small_crypto_key_id(
self : SFrameEncrypterStream,
key : CryptoKey,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.setEncryptionKey(key, key_id)
///|
/// SFrameDecrypterStream interface
pub type SFrameDecrypterStream
///|
pub extern "js" fn SFrameDecrypterStream::to_js_value(
self : SFrameDecrypterStream,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SFrameDecrypterStream (unchecked)
pub extern "js" fn SFrameDecrypterStream::from_js_value(
v : JsValue,
) -> SFrameDecrypterStream =
#| (v) => v
///|
/// Safely cast JsValue to SFrameDecrypterStream (checked with instanceof)
pub extern "js" fn SFrameDecrypterStream::from_js_value_opt(
v : JsValue,
) -> SFrameDecrypterStream? =
#| (v) => (v instanceof SFrameDecrypterStream) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SFrameDecrypterStream (checked with instanceof)
pub extern "js" fn JsValue::as_s_frame_decrypter_stream(
self : JsValue,
) -> SFrameDecrypterStream? =
#| (self) => (self instanceof SFrameDecrypterStream) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SFrameDecrypterStream (unchecked)
pub extern "js" fn JsValue::to_s_frame_decrypter_stream(
self : JsValue,
) -> SFrameDecrypterStream =
#| (self) => self
///|
pub extern "js" fn SFrameDecrypterStream::to_event_target(
self : SFrameDecrypterStream,
) -> EventTarget =
#| (self) => self
///|
pub extern "js" fn SFrameDecrypterStream::new() -> SFrameDecrypterStream =
#| () => new SFrameDecrypterStream()
///|
extern "js" fn SFrameDecrypterStream::new_with_options_ffi(
options : JsValue,
) -> SFrameDecrypterStream =
#| (options) => new SFrameDecrypterStream(options)
///|
pub fn SFrameDecrypterStream::new_with_options(
options : SFrameTransformOptions,
) -> SFrameDecrypterStream {
SFrameDecrypterStream::new_with_options_ffi(options.to_js())
}
///|
pub extern "js" fn SFrameDecrypterStream::get_readable(
self : SFrameDecrypterStream,
) -> ReadableStream =
#| (self) => self.readable
///|
pub extern "js" fn SFrameDecrypterStream::get_writable(
self : SFrameDecrypterStream,
) -> WritableStream =
#| (self) => self.writable
///|
pub extern "js" fn SFrameDecrypterStream::add_decryption_key(
self : SFrameDecrypterStream,
key : CryptoKey,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.addDecryptionKey(key, key_id)
///|
pub extern "js" fn SFrameDecrypterStream::remove_decryption_key(
self : SFrameDecrypterStream,
key_id : CryptoKeyID,
) -> Promise[Unit] =
#| (self, key_id) => self.removeDecryptionKey(key_id)
///|
pub extern "js" fn SFrameDecrypterStream::set_onerror(
self : SFrameDecrypterStream,
handler : (Event) -> Unit,
) -> Unit =
#| (self, handler) => { self.onerror = (e) => handler(e) }
///|
pub extern "js" fn SFrameDecrypterStream::clear_onerror(
self : SFrameDecrypterStream,
) -> Unit =
#| (self) => { self.onerror = null }
///|
pub extern "js" fn SFrameDecrypterStream::add_decryption_key_with_small_crypto_key_id(
self : SFrameDecrypterStream,
key : CryptoKey,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key, key_id) => self.addDecryptionKey(key, key_id)
///|
pub extern "js" fn SFrameDecrypterStream::remove_decryption_key_with_small_crypto_key_id(
self : SFrameDecrypterStream,
key_id : SmallCryptoKeyID,
) -> Promise[Unit] =
#| (self, key_id) => self.removeDecryptionKey(key_id)
///|
/// SFrameTransformErrorEvent interface
pub type SFrameTransformErrorEvent
///|
pub extern "js" fn SFrameTransformErrorEvent::to_js_value(
self : SFrameTransformErrorEvent,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to SFrameTransformErrorEvent (unchecked)
pub extern "js" fn SFrameTransformErrorEvent::from_js_value(
v : JsValue,
) -> SFrameTransformErrorEvent =
#| (v) => v
///|
/// Safely cast JsValue to SFrameTransformErrorEvent (checked with instanceof)
pub extern "js" fn SFrameTransformErrorEvent::from_js_value_opt(
v : JsValue,
) -> SFrameTransformErrorEvent? =
#| (v) => (v instanceof SFrameTransformErrorEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to SFrameTransformErrorEvent (checked with instanceof)
pub extern "js" fn JsValue::as_s_frame_transform_error_event(
self : JsValue,
) -> SFrameTransformErrorEvent? =
#| (self) => (self instanceof SFrameTransformErrorEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to SFrameTransformErrorEvent (unchecked)
pub extern "js" fn JsValue::to_s_frame_transform_error_event(
self : JsValue,
) -> SFrameTransformErrorEvent =
#| (self) => self
///|
pub extern "js" fn SFrameTransformErrorEvent::to_event(
self : SFrameTransformErrorEvent,
) -> Event =
#| (self) => self
///|
extern "js" fn SFrameTransformErrorEvent::new_ffi(
type_ : String,
event_init_dict : JsValue,
) -> SFrameTransformErrorEvent =
#| (type_, event_init_dict) => new SFrameTransformErrorEvent(type_, event_init_dict)
///|
pub fn SFrameTransformErrorEvent::new(
type_ : String,
event_init_dict : SFrameTransformErrorEventInit,
) -> SFrameTransformErrorEvent {
SFrameTransformErrorEvent::new_ffi(type_, event_init_dict.to_js())
}
///|
pub extern "js" fn SFrameTransformErrorEvent::get_error_type(
self : SFrameTransformErrorEvent,
) -> SFrameTransformErrorEventType =
#| (self) => ['authentication', 'keyID', 'syntax'].indexOf(self.errorType)
///|
pub extern "js" fn SFrameTransformErrorEvent::get_key_id(
self : SFrameTransformErrorEvent,
) -> CryptoKeyID? =
#| (self) => (() => { const v = self.keyID; return v == null ? { $tag: 0 } : { $tag: 1, _0: v }; })()
///|
pub extern "js" fn SFrameTransformErrorEvent::get_frame(
self : SFrameTransformErrorEvent,
) -> JsValue =
#| (self) => self.frame
///|
/// RTCEncodedVideoFrame interface
pub type RTCEncodedVideoFrame
///|
pub extern "js" fn RTCEncodedVideoFrame::to_js_value(
self : RTCEncodedVideoFrame,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to RTCEncodedVideoFrame (unchecked)
pub extern "js" fn RTCEncodedVideoFrame::from_js_value(
v : JsValue,
) -> RTCEncodedVideoFrame =
#| (v) => v
///|
/// Safely cast JsValue to RTCEncodedVideoFrame (checked with instanceof)
pub extern "js" fn RTCEncodedVideoFrame::from_js_value_opt(
v : JsValue,
) -> RTCEncodedVideoFrame? =
#| (v) => (v instanceof RTCEncodedVideoFrame) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to RTCEncodedVideoFrame (checked with instanceof)
pub extern "js" fn JsValue::as_rtc_encoded_video_frame(
self : JsValue,
) -> RTCEncodedVideoFrame? =
#| (self) => (self instanceof RTCEncodedVideoFrame) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to RTCEncodedVideoFrame (unchecked)
pub extern "js" fn JsValue::to_rtc_encoded_video_frame(
self : JsValue,
) -> RTCEncodedVideoFrame =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum RTCEncodedVideoFrameConstructorError {
TypeError(JsError)
RangeError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn RTCEncodedVideoFrame::new(
original_frame : RTCEncodedVideoFrame,
) -> Result[RTCEncodedVideoFrame, RTCEncodedVideoFrameConstructorError] =
#| (original_frame) => (() => { try { return { $tag: 1, _0: new RTCEncodedVideoFrame(original_frame) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'RangeError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }; } })()
///|
extern "js" fn RTCEncodedVideoFrame::new_with_options_ffi(
original_frame : RTCEncodedVideoFrame,
options : JsValue,
) -> Result[RTCEncodedVideoFrame, RTCEncodedVideoFrameConstructorError] =
#| (original_frame, options) => (() => { try { return { $tag: 1, _0: new RTCEncodedVideoFrame(original_frame, options) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'RangeError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }; } })()
///|
pub fn RTCEncodedVideoFrame::new_with_options(
original_frame : RTCEncodedVideoFrame,
options : RTCEncodedVideoFrameOptions,
) -> Result[RTCEncodedVideoFrame, RTCEncodedVideoFrameConstructorError] {
RTCEncodedVideoFrame::new_with_options_ffi(original_frame, options.to_js())
}
///|
pub extern "js" fn RTCEncodedVideoFrame::get_type(
self : RTCEncodedVideoFrame,
) -> EncodedVideoChunkType =
#| (self) => ['key', 'delta'].indexOf(self.type)
///|
pub extern "js" fn RTCEncodedVideoFrame::get_data(
self : RTCEncodedVideoFrame,
) -> ArrayBuffer =
#| (self) => self.data
///|
pub extern "js" fn RTCEncodedVideoFrame::set_data(
self : RTCEncodedVideoFrame,
value : ArrayBuffer,
) -> Unit =
#| (self, value) => { self.data = value }
///|
pub extern "js" fn RTCEncodedVideoFrame::get_metadata(
self : RTCEncodedVideoFrame,
) -> RTCEncodedVideoFrameMetadata =
#| (self) => self.getMetadata()
///|
/// RTCEncodedAudioFrame interface
pub type RTCEncodedAudioFrame
///|
pub extern "js" fn RTCEncodedAudioFrame::to_js_value(
self : RTCEncodedAudioFrame,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to RTCEncodedAudioFrame (unchecked)
pub extern "js" fn RTCEncodedAudioFrame::from_js_value(
v : JsValue,
) -> RTCEncodedAudioFrame =
#| (v) => v
///|
/// Safely cast JsValue to RTCEncodedAudioFrame (checked with instanceof)
pub extern "js" fn RTCEncodedAudioFrame::from_js_value_opt(
v : JsValue,
) -> RTCEncodedAudioFrame? =
#| (v) => (v instanceof RTCEncodedAudioFrame) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to RTCEncodedAudioFrame (checked with instanceof)
pub extern "js" fn JsValue::as_rtc_encoded_audio_frame(
self : JsValue,
) -> RTCEncodedAudioFrame? =
#| (self) => (self instanceof RTCEncodedAudioFrame) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to RTCEncodedAudioFrame (unchecked)
pub extern "js" fn JsValue::to_rtc_encoded_audio_frame(
self : JsValue,
) -> RTCEncodedAudioFrame =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum RTCEncodedAudioFrameConstructorError {
TypeError(JsError)
RangeError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn RTCEncodedAudioFrame::new(
original_frame : RTCEncodedAudioFrame,
) -> Result[RTCEncodedAudioFrame, RTCEncodedAudioFrameConstructorError] =
#| (original_frame) => (() => { try { return { $tag: 1, _0: new RTCEncodedAudioFrame(original_frame) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'RangeError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }; } })()
///|
extern "js" fn RTCEncodedAudioFrame::new_with_options_ffi(
original_frame : RTCEncodedAudioFrame,
options : JsValue,
) -> Result[RTCEncodedAudioFrame, RTCEncodedAudioFrameConstructorError] =
#| (original_frame, options) => (() => { try { return { $tag: 1, _0: new RTCEncodedAudioFrame(original_frame, options) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'RangeError') return { $tag: 1, _0: e }; return { $tag: 2, _0: e }; })() }; } })()
///|
pub fn RTCEncodedAudioFrame::new_with_options(
original_frame : RTCEncodedAudioFrame,
options : RTCEncodedAudioFrameOptions,
) -> Result[RTCEncodedAudioFrame, RTCEncodedAudioFrameConstructorError] {
RTCEncodedAudioFrame::new_with_options_ffi(original_frame, options.to_js())
}
///|
pub extern "js" fn RTCEncodedAudioFrame::get_data(
self : RTCEncodedAudioFrame,
) -> ArrayBuffer =
#| (self) => self.data
///|
pub extern "js" fn RTCEncodedAudioFrame::set_data(
self : RTCEncodedAudioFrame,
value : ArrayBuffer,
) -> Unit =
#| (self, value) => { self.data = value }
///|
pub extern "js" fn RTCEncodedAudioFrame::get_metadata(
self : RTCEncodedAudioFrame,
) -> RTCEncodedAudioFrameMetadata =
#| (self) => self.getMetadata()
///|
/// RTCRtpScriptTransform interface
pub type RTCRtpScriptTransform
///|
pub extern "js" fn RTCRtpScriptTransform::to_js_value(
self : RTCRtpScriptTransform,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to RTCRtpScriptTransform (unchecked)
pub extern "js" fn RTCRtpScriptTransform::from_js_value(
v : JsValue,
) -> RTCRtpScriptTransform =
#| (v) => v
///|
/// Safely cast JsValue to RTCRtpScriptTransform (checked with instanceof)
pub extern "js" fn RTCRtpScriptTransform::from_js_value_opt(
v : JsValue,
) -> RTCRtpScriptTransform? =
#| (v) => (v instanceof RTCRtpScriptTransform) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to RTCRtpScriptTransform (checked with instanceof)
pub extern "js" fn JsValue::as_rtc_rtp_script_transform(
self : JsValue,
) -> RTCRtpScriptTransform? =
#| (self) => (self instanceof RTCRtpScriptTransform) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to RTCRtpScriptTransform (unchecked)
pub extern "js" fn JsValue::to_rtc_rtp_script_transform(
self : JsValue,
) -> RTCRtpScriptTransform =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum RTCRtpScriptTransformConstructorError {
DataCloneError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn RTCRtpScriptTransform::new(
worker : Worker,
) -> Result[RTCRtpScriptTransform, RTCRtpScriptTransformConstructorError] =
#| (worker) => (() => { try { return { $tag: 1, _0: new RTCRtpScriptTransform(worker) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'DataCloneError') return { $tag: 0, _0: e }; return { $tag: 1, _0: e }; })() }; } })()
///|
pub extern "js" fn RTCRtpScriptTransform::new_with_transfer(
worker : Worker,
options : JsValue,
transfer : Array[JsValue],
) -> Result[RTCRtpScriptTransform, RTCRtpScriptTransformConstructorError] =
#| (worker, options, transfer) => (() => { try { return { $tag: 1, _0: new RTCRtpScriptTransform(worker, options, transfer) }; } catch(e) { return { $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'DataCloneError') return { $tag: 0, _0: e }; return { $tag: 1, _0: e }; })() }; } })()
///|
/// RTCRtpScriptTransformer interface
pub type RTCRtpScriptTransformer
///|
pub extern "js" fn RTCRtpScriptTransformer::to_js_value(
self : RTCRtpScriptTransformer,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to RTCRtpScriptTransformer (unchecked)
pub extern "js" fn RTCRtpScriptTransformer::from_js_value(
v : JsValue,
) -> RTCRtpScriptTransformer =
#| (v) => v
///|
/// Safely cast JsValue to RTCRtpScriptTransformer (checked with instanceof)
pub extern "js" fn RTCRtpScriptTransformer::from_js_value_opt(
v : JsValue,
) -> RTCRtpScriptTransformer? =
#| (v) => (v instanceof RTCRtpScriptTransformer) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to RTCRtpScriptTransformer (checked with instanceof)
pub extern "js" fn JsValue::as_rtc_rtp_script_transformer(
self : JsValue,
) -> RTCRtpScriptTransformer? =
#| (self) => (self instanceof RTCRtpScriptTransformer) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to RTCRtpScriptTransformer (unchecked)
pub extern "js" fn JsValue::to_rtc_rtp_script_transformer(
self : JsValue,
) -> RTCRtpScriptTransformer =
#| (self) => self
///|
pub extern "js" fn RTCRtpScriptTransformer::to_event_target(
self : RTCRtpScriptTransformer,
) -> EventTarget =
#| (self) => self
///|
/// Error type for throwing methods
pub(all) enum RTCRtpScriptTransformerGenerateKeyFrameError {
TypeError(JsError)
NotFoundError(JsError)
InvalidStateError(JsError)
OtherError(JsError)
} derive(Show)
///|
/// Error type for throwing methods
pub(all) enum RTCRtpScriptTransformerSendKeyFrameRequestError {
InvalidStateError(JsError)
OtherError(JsError)
} derive(Show)
///|
pub extern "js" fn RTCRtpScriptTransformer::get_readable(
self : RTCRtpScriptTransformer,
) -> ReadableStream =
#| (self) => self.readable
///|
pub extern "js" fn RTCRtpScriptTransformer::generate_key_frame(
self : RTCRtpScriptTransformer,
) -> Promise[Result[Unit, RTCRtpScriptTransformerGenerateKeyFrameError]] =
#| (self) => self.generateKeyFrame().then(r => ({ $tag: 1, _0: undefined })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'NotFoundError') return { $tag: 1, _0: e }; if (n === 'InvalidStateError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub extern "js" fn RTCRtpScriptTransformer::generate_key_frame_with_rid(
self : RTCRtpScriptTransformer,
rid : String,
) -> Promise[Result[Unit, RTCRtpScriptTransformerGenerateKeyFrameError]] =
#| (self, rid) => self.generateKeyFrame(rid).then(r => ({ $tag: 1, _0: undefined })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'TypeError') return { $tag: 0, _0: e }; if (n === 'NotFoundError') return { $tag: 1, _0: e }; if (n === 'InvalidStateError') return { $tag: 2, _0: e }; return { $tag: 3, _0: e }; })() }))
///|
pub extern "js" fn RTCRtpScriptTransformer::send_key_frame_request(
self : RTCRtpScriptTransformer,
) -> Promise[Result[Unit, RTCRtpScriptTransformerSendKeyFrameRequestError]] =
#| (self) => self.sendKeyFrameRequest().then(r => ({ $tag: 1, _0: undefined })).catch(e => ({ $tag: 0, _0: (() => { const n = (e && e.name) || ''; if (n === 'InvalidStateError') return { $tag: 0, _0: e }; return { $tag: 1, _0: e }; })() }))
///|
pub extern "js" fn RTCRtpScriptTransformer::get_writable(
self : RTCRtpScriptTransformer,
) -> WritableStream =
#| (self) => self.writable
///|
pub extern "js" fn RTCRtpScriptTransformer::set_onkeyframerequest(
self : RTCRtpScriptTransformer,
handler : (Event) -> Unit,
) -> Unit =
#| (self, handler) => { self.onkeyframerequest = (e) => handler(e) }
///|
pub extern "js" fn RTCRtpScriptTransformer::clear_onkeyframerequest(
self : RTCRtpScriptTransformer,
) -> Unit =
#| (self) => { self.onkeyframerequest = null }
///|
pub extern "js" fn RTCRtpScriptTransformer::get_options(
self : RTCRtpScriptTransformer,
) -> JsValue =
#| (self) => self.options
///|
/// RTCTransformEvent interface
pub type RTCTransformEvent
///|
pub extern "js" fn RTCTransformEvent::to_js_value(
self : RTCTransformEvent,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to RTCTransformEvent (unchecked)
pub extern "js" fn RTCTransformEvent::from_js_value(
v : JsValue,
) -> RTCTransformEvent =
#| (v) => v
///|
/// Safely cast JsValue to RTCTransformEvent (checked with instanceof)
pub extern "js" fn RTCTransformEvent::from_js_value_opt(
v : JsValue,
) -> RTCTransformEvent? =
#| (v) => (v instanceof RTCTransformEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to RTCTransformEvent (checked with instanceof)
pub extern "js" fn JsValue::as_rtc_transform_event(
self : JsValue,
) -> RTCTransformEvent? =
#| (self) => (self instanceof RTCTransformEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to RTCTransformEvent (unchecked)
pub extern "js" fn JsValue::to_rtc_transform_event(
self : JsValue,
) -> RTCTransformEvent =
#| (self) => self
///|
pub extern "js" fn RTCTransformEvent::to_event(
self : RTCTransformEvent,
) -> Event =
#| (self) => self
///|
pub extern "js" fn RTCTransformEvent::get_transformer(
self : RTCTransformEvent,
) -> RTCRtpScriptTransformer =
#| (self) => self.transformer
///|
/// KeyFrameRequestEvent interface
pub type KeyFrameRequestEvent
///|
pub extern "js" fn KeyFrameRequestEvent::to_js_value(
self : KeyFrameRequestEvent,
) -> JsValue =
#| (self) => self
///|
/// Cast JsValue to KeyFrameRequestEvent (unchecked)
pub extern "js" fn KeyFrameRequestEvent::from_js_value(
v : JsValue,
) -> KeyFrameRequestEvent =
#| (v) => v
///|
/// Safely cast JsValue to KeyFrameRequestEvent (checked with instanceof)
pub extern "js" fn KeyFrameRequestEvent::from_js_value_opt(
v : JsValue,
) -> KeyFrameRequestEvent? =
#| (v) => (v instanceof KeyFrameRequestEvent) ? { $tag: 1, _0: v } : { $tag: 0 }
///|
/// Safely cast JsValue to KeyFrameRequestEvent (checked with instanceof)
pub extern "js" fn JsValue::as_key_frame_request_event(
self : JsValue,
) -> KeyFrameRequestEvent? =
#| (self) => (self instanceof KeyFrameRequestEvent) ? { $tag: 1, _0: self } : { $tag: 0 }
///|
/// Cast JsValue to KeyFrameRequestEvent (unchecked)
pub extern "js" fn JsValue::to_key_frame_request_event(
self : JsValue,
) -> KeyFrameRequestEvent =
#| (self) => self
///|
pub extern "js" fn KeyFrameRequestEvent::to_event(
self : KeyFrameRequestEvent,
) -> Event =
#| (self) => self
///|
pub extern "js" fn KeyFrameRequestEvent::new(
type_ : String,
) -> KeyFrameRequestEvent =
#| (type_) => new KeyFrameRequestEvent(type_)
///|
pub extern "js" fn KeyFrameRequestEvent::new_with_rid(
type_ : String,
rid : String,
) -> KeyFrameRequestEvent =
#| (type_, rid) => new KeyFrameRequestEvent(type_, rid)
///|
pub extern "js" fn KeyFrameRequestEvent::get_rid(
self : KeyFrameRequestEvent,
) -> String? =
#| (self) => (self.rid) ?? undefined