Track.kt
1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package io.livekit.android.room.track
import livekit.LivekitModels
import org.webrtc.DataChannel
import org.webrtc.MediaStreamTrack
open class Track(
name: String,
kind: LivekitModels.TrackType
) {
var name = name
internal set
var kind = kind
internal set
var sid: String? = null
internal set
open fun stop() {
// subclasses override to provide stop behavior
}
}
sealed class TrackException(message: String? = null, cause: Throwable? = null) :
Exception(message, cause) {
class InvalidTrackTypeException(message: String? = null, cause: Throwable? = null) :
TrackException(message, cause)
class DuplicateTrackException(message: String? = null, cause: Throwable? = null) :
TrackException(message, cause)
class InvalidTrackStateException(message: String? = null, cause: Throwable? = null) :
TrackException(message, cause)
class MediaException(message: String? = null, cause: Throwable? = null) :
TrackException(message, cause)
class PublishException(message: String? = null, cause: Throwable? = null) :
TrackException(message, cause)
}