TRVBufferOptions

<< Нажмите, чтобы показать Содержание >>

TRVBufferOptions

Настройки буферизации в TRVMediaServer.

Модуль [VCL и LCL] MRVType;

Модуль [FMX] fmxMRVType;

Синтаксис

TRVBufferOptions = class(TPersistent);

hmtoggle_arrow1Иерархия

Описание

Это тип свойства 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

Ограничены только буферы в памяти.