public class OdinMedia: Hashable, ObservableObject
Class to handle ODIN media.
A media represents an audio stream that was added to an ODIN room by a peer.
public internal(set) var streamHandle: OdinMediaStreamHandle
The underlying media stream handle to interact with.
public internal(set) var audioNode: AVAudioNode!
The underlying object that supplies/receives audio data on the media stream.
@Published public internal(set) var activityStatus: Bool = false
Indicates for whether or not the media stream is sending/receiving data.
public var id: UInt16
The ID of the media stream.
public var peerId: UInt64
The ID of the peer that owns the media stream.
Note: This will always be
0 if the media is owned by your own peer.
public var remote: Bool
Indicates whether or not this media is owned by a remote peer.
public var type: OdinMediaStreamType
The type of the specified media stream.
Destroys the media stream if necessary.
public func hash(into hasher: inout Hasher)
Hashes the essential components of the media by feeding them into the given hasher.
public static func ==(lhs: OdinMedia, rhs: OdinMedia) -> Bool
Returns a value indicating whether two type-erased hashable instances wrap the same media.