IOpenableStreamer

An interface for a component that can be opened.

Inheritors

Properties

Link copied to clipboard
abstract val isOpenFlow: StateFlow<Boolean>

Returns true if output is opened. For example, if the streamer is connected to a server if the endpoint is SRT or RTMP.

Link copied to clipboard
abstract val isStreamingFlow: StateFlow<Boolean>

Returns true if stream is running.

Link copied to clipboard
abstract val throwableFlow: StateFlow<Throwable?>

Returns the last throwable that occurred.

Functions

Link copied to clipboard
abstract suspend fun close()

Closes the streamer endpoint.

Link copied to clipboard
abstract suspend fun open(descriptor: MediaDescriptor)

Opens the streamer endpoint.

Link copied to clipboard
suspend fun IOpenableStreamer.open(uri: Uri)
suspend fun IOpenableStreamer.open(uriString: String)

Opens the streamer endpoint.

Link copied to clipboard
abstract suspend fun release()

Clean and reset the streamer.

Link copied to clipboard
fun IStreamer.releaseBlocking(dispatcher: CoroutineDispatcher = Dispatchers.Default)

Clean and reset the streamer synchronously.

Link copied to clipboard
abstract suspend fun startStream()

Starts audio/video stream.

Link copied to clipboard
suspend fun IOpenableStreamer.startStream(uriString: String)

Starts audio/video stream.

Link copied to clipboard
abstract suspend fun stopStream()

Stops audio/video stream.