API Reference
Engine lifecycle, control and observability interfaces generated from the public Linux recording interfaces.
API reference
Frozen C++ surface
Generated from the public Linux recording interface into the public SDK header:
| Type | Role |
|---|---|
IRecordingEngine / IRecordingEngineEventHandler | Legacy 3.x face (joining starts recording) |
RecordingConfig / RecordingEngineProperties | Legacy configuration and properties |
IAgoraService / AgoraServiceConfiguration | 4.x service object |
IAgoraMediaRtcRecorder / IAgoraMediaRtcRecorderEventHandler | 4.x recorder with explicit start/stop |
IAgoraMediaComponentFactory / IRecorderVideoFrameObserver | 4.x factory and frame observer |
| 45 structs / 48 enums | VideoMixingLayout, WatermarkConfig, RecordingStats, ERROR_CODE_TYPE… |
Each interface also has an agora::Default<InterfaceName> implementation: real members are overridden, the rest throw NotSupportedException(4, "Owner.member").
Extension API (not part of the frozen surface)
| Member | Purpose |
|---|---|
SetSinkFactory | Inject an IRecordingSink |
PushVideoFrame / PushAudioFrame | Host pushes decoded frames |
SetFrameSource + PumpFrames | Pull frames from an IFrameSource |
InjectUser / RemoveUser | Maintain the participant directory used by getUserInfoByUid |
RecordingPipeline / VerifyRecordingFile | State machine and output verification |
Local REST control plane (egress sink)
EgressWorkerSink uses the co-located egress worker:
| Method | Path | Purpose |
|---|---|---|
POST | /jobs | Submit a recording job |
GET | /jobs/{id} | Poll state and files[] |
DELETE | /jobs/{id} | Cancel |
Stop polls until a terminal state and only reports success for completed with a verifiable file record.