|
<< Нажмите, чтобы показать Содержание >> TRVBufferOptions |
Настройки буферизации в TRVMediaServer.
Модуль [VCL и LCL] MRVType;
Модуль [FMX] fmxMRVType;
Синтаксис
TRVBufferOptions = class(TPersistent);
TObject TPersistent |
Это тип свойства TRVMediaServer.BufferOptions.
Этот класс имеет два набора свойств:
•свойства, определяющие, где сервер хранит временные данные (в памяти или файлах):
oVideo: TRVStreamType – для видеопотоков (по умолчанию: rvstMemory)
oAudio: TRVStreamType – для аудиопотоков (по умолчанию: rvstMemory)
oUserData: TRVStreamType – для особых данных (по умолчанию: rvstMemory)
oCmd: TRVStreamType – для команд (по умолчанию: rvstMemory)
oFileData: TRVStreamType – для файлов (по умолчанию: rvstFile)
•свойства, определяющие размеры буферов:
oVideoBufferSize: Cardinal (по умолчанию: MAX_VIDEO_BUFFER)
oAudioBufferSize: Cardinal (по умолчанию: MAX_AUDIO_BUFFER)
oUserDataBufferSize: Cardinal (по умолчанию: MAX_USER_BUFFER)
oCmdBufferSize: Cardinal (по умолчанию: MAX_CMD_BUFFER)
oFileDataBufferSize: Cardinal по умолчанию: MAX_FILE_BUFFER)
и свойство LimitType: TRVBufferLimitType (по умолчанию: rvbltLimitMemory).
где
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
Когда буфер на сервере превышает указанное значение, данные в этом буфере отбрасываются.
Это поведение контролируется свойством LimitType.
Значение |
Описание |
rvbltNo |
Все буферы имеют неограниченный размер, свойства *BufferSize игнорируются. |
rvbltLimitAll |
Размер всех буферов ограничен свойствами *BufferSize. |
rvbltLimitMemory |
Ограничены только буферы в памяти. |