# DisplayBase

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
abstract class DisplayBase

Wrapper to stream display screen of your device and microphone. Can be executed in background. API requirements: API 21+. Created by pedro on 9/08/17.

#### Inheritors

GenericDisplay
MultiDisplay
RtmpDisplay
RtspDisplay
SrtDisplay
UdpDisplay

## Constructors

DisplayBase
Link copied to clipboard
constructor(context: Context, useOpengl: Boolean)

## Properties

glInterface
Link copied to clipboard
open val glInterface: GlInterface

## Functions

disableAudio
Link copied to clipboard
open fun disableAudio()
Mute microphone, can be called before, while and after stream.
enableAudio
Link copied to clipboard
open fun enableAudio()
Enable a muted microphone, can be called before, while and after stream.
forceBt709Color
Link copied to clipboard
open fun forceBt709Color(enabled: Boolean)
forceCodecType
Link copied to clipboard
open fun forceCodecType(codecTypeVideo: CodecUtil.CodecType, codecTypeAudio: CodecUtil.CodecType)
forceFpsLimit
Link copied to clipboard
open fun forceFpsLimit(enabled: Boolean)
Force stream to work with fps selected in prepareVideo method.
getBitrate
Link copied to clipboard
open fun getBitrate(): Int
getRecordStatus
Link copied to clipboard
open fun getRecordStatus(): RecordController.Status
getResolutionValue
Link copied to clipboard
open fun getResolutionValue(): Int
getStreamClient
Link copied to clipboard
abstract fun getStreamClient(): StreamBaseClient
getStreamHeight
Link copied to clipboard
open fun getStreamHeight(): Int
getStreamWidth
Link copied to clipboard
open fun getStreamWidth(): Int
isAudioMuted
Link copied to clipboard
open fun isAudioMuted(): Boolean
Get mute state of microphone.
isRecording
Link copied to clipboard
open fun isRecording(): Boolean
Get record state.
isStreaming
Link copied to clipboard
open fun isStreaming(): Boolean
Get stream state.
pauseRecord
Link copied to clipboard
open fun pauseRecord()
prepareAudio
Link copied to clipboard
open fun prepareAudio(): Boolean
Same to call: prepareAudio(64 * 1024, 32000, true, false, false);
open fun prepareAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean): Boolean
open fun prepareAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean, echoCanceler: Boolean, noiseSuppressor: Boolean): Boolean
open fun prepareAudio(audioSource: Int, bitrate: Int, sampleRate: Int, isStereo: Boolean, echoCanceler: Boolean, noiseSuppressor: Boolean): Boolean
Call this method before use @startStream.
prepareInternalAudio
Link copied to clipboard
@RequiresApi(api = Build.VERSION_CODES.Q)
open fun prepareInternalAudio(): Boolean
@RequiresApi(api = Build.VERSION_CODES.Q)
open fun prepareInternalAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean): Boolean
@RequiresApi(api = Build.VERSION_CODES.Q)
open fun prepareInternalAudio(bitrate: Int, sampleRate: Int, isStereo: Boolean, echoCanceler: Boolean, noiseSuppressor: Boolean): Boolean
Call this method before use @startStream for streaming internal audio only.
prepareVideo
Link copied to clipboard
open fun prepareVideo(): Boolean
Same to call: rotation = 0; if (Portrait) rotation = 90; prepareVideo(640, 480, 30, 1200 * 1024, true, 0);
open fun prepareVideo(width: Int, height: Int, bitrate: Int): Boolean
open fun prepareVideo(width: Int, height: Int, fps: Int, bitrate: Int, rotation: Int, dpi: Int): Boolean
open fun prepareVideo(width: Int, height: Int, fps: Int, bitrate: Int, rotation: Int, dpi: Int, profile: Int, level: Int, iFrameInterval: Int): Boolean
Call this method before use @startStream.
requestKeyFrame
Link copied to clipboard
open fun requestKeyFrame()
resetAudioEncoder
Link copied to clipboard
open fun resetAudioEncoder(): Boolean
resetVideoEncoder
Link copied to clipboard
open fun resetVideoEncoder(): Boolean
resumeRecord
Link copied to clipboard
open fun resumeRecord()
sendIntent
Link copied to clipboard
open fun sendIntent(): Intent
Create Intent used to init screen capture with startActivityForResult.
setAudioCodec
Link copied to clipboard
open fun setAudioCodec(codec: AudioCodec)
setCustomAudioEffect
Link copied to clipboard
open fun setCustomAudioEffect(customAudioEffect: CustomAudioEffect)
Set an audio effect modifying microphone's PCM buffer.
setEncoderErrorCallback
Link copied to clipboard
open fun setEncoderErrorCallback(encoderErrorCallback: CodecErrorCallback)
Set a callback to know errors related with Video/Audio encoders
setFpsListener
Link copied to clipboard
open fun setFpsListener(callback: FpsListener.Callback)
setIntentResult
Link copied to clipboard
open fun setIntentResult(resultCode: Int, data: Intent)
setMediaProjectionCallback
Link copied to clipboard
open fun setMediaProjectionCallback(mediaProjectionCallback: MediaProjection.Callback)
setRecordController
Link copied to clipboard
open fun setRecordController(recordController: RecordController)
setTimestampMode
Link copied to clipboard
open fun setTimestampMode(timestampModeVideo: TimestampMode, timestampModeAudio: TimestampMode)
Set the mode to calculate timestamp.
setVideoBitrateOnFly
Link copied to clipboard
open fun setVideoBitrateOnFly(bitrate: Int)
Set video bitrate of H264 in bits per second while stream.
setVideoCodec
Link copied to clipboard
open fun setVideoCodec(codec: VideoCodec)
startRecord
Link copied to clipboard
@RequiresApi(api = Build.VERSION_CODES.O)
open fun startRecord(@NonNull fd: FileDescriptor)
open fun startRecord(@NonNull path: String)
@RequiresApi(api = Build.VERSION_CODES.O)
open fun startRecord(@NonNull fd: FileDescriptor, @Nullable listener: RecordController.Listener)
open fun startRecord(@NonNull path: String, @Nullable listener: RecordController.Listener)
Starts recording a MP4 video.
startStream
Link copied to clipboard
open fun startStream(url: String)
Need be called after @prepareVideo or/and @prepareAudio.
stopRecord
Link copied to clipboard
open fun stopRecord()
Stop record MP4 video started with @startRecord.
stopStream
Link copied to clipboard
open fun stopStream()
Stop stream started with @startStream.