<< Click to display table of contents >> TRVBufferOptions |
Buffering options for TRVMediaServer.
Unit [VCL and LCL] MRVType;
Unit [FMX] fmxMRVType;
Syntax
TRVBufferOptions = class(TPersistent);
TObject TPersistent |
This is a type of TRVMediaServer.BufferOptions property.
This class has two sets of properties:
•properties defining where the server stores temporal data (in memory or files):
oVideo: TRVStreamType – buffering options for video streams (default value = rvstMemory)
oAudio: TRVStreamType – buffering options for audio streams (default value = rvstMemory)
oUserData: TRVStreamType – buffering options for custom data (default value = rvstMemory)
oCmd: TRVStreamType – buffering options for commands (default value = rvstMemory)
oFileData: TRVStreamType – buffering options for files (default value = rvstFile)
•properties defining buffer sizes:
o VideoBufferSize: Cardinal (default value=MAX_VIDEO_BUFFER)
o AudioBufferSize: Cardinal (default value=MAX_AUDIO_BUFFER)
o UserDataBufferSize: Cardinal (default value=MAX_USER_BUFFER)
o CmdBufferSize: Cardinal (default value=MAX_CMD_BUFFER)
o FileDataBufferSize: Cardinal (default value=MAX_FILE_BUFFER)
and LimitType: TRVBufferLimitType (default value rvbltLimitMemory) property.
where
type
TRVStreamType = (rvstMemory, rvstFile);
TRVBufferLimitType = (rvbltNo, rvbltLimitAll,
rvbltLimitMemory);
const
BUFFER_SIZE = 4096 * 2;
MAX_VIDEO_BUFFER = BUFFER_SIZE * 100;
MAX_AUDIO_BUFFER = BUFFER_SIZE * 200;
MAX_CMD_BUFFER = BUFFER_SIZE * 100;
MAX_USER_BUFFER = BUFFER_SIZE * 1000;
MAX_FILE_BUFFER = 1024*1024 * 10; // 10 Mb
When a buffer on the server exceeds the specified value, data in this buffer is dropped.
This behavior is controlled by LimitType property
Value |
Meaning |
rvbltNo |
All buffers are unlimited, *BufferSize properties are ignored |
rvbltLimitAll |
All buffers are limited by *BufferSize properties |
rvbltLimitMemory |
Only memory buffers are limited |