# AsyncBaseRecordController

abstract class AsyncBaseRecordController : RecordController

Record async to avoid block the thread used to send frames to protocol module.

#### Inheritors

AacMuxerRecordController
AndroidMuxerRecordController
AndroidMuxerWebmRecordController
FlvMuxerRecordController
Mpeg2TsMuxerRecordController

## Constructors

AsyncBaseRecordController
Link copied to clipboard
constructor()

## Types

Companion
Link copied to clipboard
object Companion

## Functions

getAudioCodec
Link copied to clipboard
open override fun getAudioCodec(): AudioCodec
getStatus
Link copied to clipboard
open override fun getStatus(): RecordController.Status
getVideoCodec
Link copied to clipboard
open override fun getVideoCodec(): VideoCodec
isRecording
Link copied to clipboard
open override fun isRecording(): Boolean
isRunning
Link copied to clipboard
open override fun isRunning(): Boolean
onWriteFrame
Link copied to clipboard
abstract suspend fun onWriteFrame(frame: MediaFrame)
pauseRecord
Link copied to clipboard
open override fun pauseRecord()
recordAudio
Link copied to clipboard
open override fun recordAudio(audioBuffer: ByteBuffer, audioInfo: MediaCodec.BufferInfo)
recordVideo
Link copied to clipboard
open override fun recordVideo(videoBuffer: ByteBuffer, videoInfo: MediaCodec.BufferInfo)
resetFormats
Link copied to clipboard
abstract fun resetFormats()
resumeRecord
Link copied to clipboard
open override fun resumeRecord()
setAudioCodec
Link copied to clipboard
open override fun setAudioCodec(audioCodec: AudioCodec)
setAudioFormat
Link copied to clipboard
abstract fun setAudioFormat(audioFormat: MediaFormat)
setRequestKeyFrame
Link copied to clipboard
open override fun setRequestKeyFrame(requestKeyFrame: RecordController.RequestKeyFrame?)
setVideoCodec
Link copied to clipboard
open override fun setVideoCodec(videoCodec: VideoCodec)
setVideoFormat
Link copied to clipboard
abstract fun setVideoFormat(videoFormat: MediaFormat)
startRecord
Link copied to clipboard
open override fun startRecord(fd: FileDescriptor, listener: RecordController.Listener?, tracks: RecordController.RecordTracks)
open override fun startRecord(path: String, listener: RecordController.Listener?, tracks: RecordController.RecordTracks)
startRecordImp
Link copied to clipboard
abstract fun startRecordImp(fd: FileDescriptor, listener: RecordController.Listener?, tracks: RecordController.RecordTracks)
abstract fun startRecordImp(path: String, listener: RecordController.Listener?, tracks: RecordController.RecordTracks)
stopRecord
Link copied to clipboard
open override fun stopRecord()
stopRecordImp
Link copied to clipboard
abstract fun stopRecordImp()
updateInfo
Link copied to clipboard
open override fun updateInfo(videoCodec: VideoCodec, audioCodec: AudioCodec)