<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: deviceapis/device/v1/deviceapis_device_video_v1.proto

namespace Deviceapis\Device\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Настройки видеоконфига
 *
 * Generated from protobuf message <code>deviceapis.device.v1.VideoChannel</code>
 */
class VideoChannel extends \Google\Protobuf\Internal\Message
{
    /**
     * Порядковый номер видеоконфига
     *
     * Generated from protobuf field <code>int32 chanel_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $chanel_number = 0;
    /**
     * Флаг активности
     *
     * Generated from protobuf field <code>bool is_enabled = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $is_enabled = false;
    /**
     * Тип разрешения видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ResolutionType resolution_type = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $resolution_type = 0;
    /**
     * Формат видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FormatType format_type = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $format_type = 0;
    /**
     * Профиль
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ProfileType profile_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $profile_type = 0;
    /**
     * Частота кадров
     *
     * Generated from protobuf field <code>int32 fps = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $fps = 0;
    /**
     * Периодичность опорного кадра
     *
     * Generated from protobuf field <code>int32 gop = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $gop = 0;
    /**
     * Режим FlowControlModeType
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FlowControlModeType flow_control_mode_type = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $flow_control_mode_type = 0;
    /**
     * Целевая скорость потока, килобит
     *
     * Generated from protobuf field <code>int32 biterate = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $biterate = 0;
    /**
     * Флаг rtsp_audio
     *
     * Generated from protobuf field <code>bool is_rtsp_audio = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $is_rtsp_audio = false;
    /**
     * Флаг use for sip
     *
     * Generated from protobuf field <code>bool is_used_for_sip = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     */
    protected $is_used_for_sip = false;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $chanel_number
     *           Порядковый номер видеоконфига
     *     @type bool $is_enabled
     *           Флаг активности
     *     @type int $resolution_type
     *           Тип разрешения видео
     *     @type int $format_type
     *           Формат видео
     *     @type int $profile_type
     *           Профиль
     *     @type int $fps
     *           Частота кадров
     *     @type int $gop
     *           Периодичность опорного кадра
     *     @type int $flow_control_mode_type
     *           Режим FlowControlModeType
     *     @type int $biterate
     *           Целевая скорость потока, килобит
     *     @type bool $is_rtsp_audio
     *           Флаг rtsp_audio
     *     @type bool $is_used_for_sip
     *           Флаг use for sip
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Deviceapis\Device\V1\DeviceapisDeviceVideoV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Порядковый номер видеоконфига
     *
     * Generated from protobuf field <code>int32 chanel_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getChanelNumber()
    {
        return $this->chanel_number;
    }

    /**
     * Порядковый номер видеоконфига
     *
     * Generated from protobuf field <code>int32 chanel_number = 1 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setChanelNumber($var)
    {
        GPBUtil::checkInt32($var);
        $this->chanel_number = $var;

        return $this;
    }

    /**
     * Флаг активности
     *
     * Generated from protobuf field <code>bool is_enabled = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return bool
     */
    public function getIsEnabled()
    {
        return $this->is_enabled;
    }

    /**
     * Флаг активности
     *
     * Generated from protobuf field <code>bool is_enabled = 2 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param bool $var
     * @return $this
     */
    public function setIsEnabled($var)
    {
        GPBUtil::checkBool($var);
        $this->is_enabled = $var;

        return $this;
    }

    /**
     * Тип разрешения видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ResolutionType resolution_type = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getResolutionType()
    {
        return $this->resolution_type;
    }

    /**
     * Тип разрешения видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ResolutionType resolution_type = 3 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setResolutionType($var)
    {
        GPBUtil::checkEnum($var, \Deviceapis\Device\V1\VideoChannel\ResolutionType::class);
        $this->resolution_type = $var;

        return $this;
    }

    /**
     * Формат видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FormatType format_type = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getFormatType()
    {
        return $this->format_type;
    }

    /**
     * Формат видео
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FormatType format_type = 4 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setFormatType($var)
    {
        GPBUtil::checkEnum($var, \Deviceapis\Device\V1\VideoChannel\FormatType::class);
        $this->format_type = $var;

        return $this;
    }

    /**
     * Профиль
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ProfileType profile_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getProfileType()
    {
        return $this->profile_type;
    }

    /**
     * Профиль
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.ProfileType profile_type = 5 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setProfileType($var)
    {
        GPBUtil::checkEnum($var, \Deviceapis\Device\V1\VideoChannel\ProfileType::class);
        $this->profile_type = $var;

        return $this;
    }

    /**
     * Частота кадров
     *
     * Generated from protobuf field <code>int32 fps = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getFps()
    {
        return $this->fps;
    }

    /**
     * Частота кадров
     *
     * Generated from protobuf field <code>int32 fps = 6 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setFps($var)
    {
        GPBUtil::checkInt32($var);
        $this->fps = $var;

        return $this;
    }

    /**
     * Периодичность опорного кадра
     *
     * Generated from protobuf field <code>int32 gop = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getGop()
    {
        return $this->gop;
    }

    /**
     * Периодичность опорного кадра
     *
     * Generated from protobuf field <code>int32 gop = 7 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setGop($var)
    {
        GPBUtil::checkInt32($var);
        $this->gop = $var;

        return $this;
    }

    /**
     * Режим FlowControlModeType
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FlowControlModeType flow_control_mode_type = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getFlowControlModeType()
    {
        return $this->flow_control_mode_type;
    }

    /**
     * Режим FlowControlModeType
     *
     * Generated from protobuf field <code>.deviceapis.device.v1.VideoChannel.FlowControlModeType flow_control_mode_type = 8 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setFlowControlModeType($var)
    {
        GPBUtil::checkEnum($var, \Deviceapis\Device\V1\VideoChannel\FlowControlModeType::class);
        $this->flow_control_mode_type = $var;

        return $this;
    }

    /**
     * Целевая скорость потока, килобит
     *
     * Generated from protobuf field <code>int32 biterate = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return int
     */
    public function getBiterate()
    {
        return $this->biterate;
    }

    /**
     * Целевая скорость потока, килобит
     *
     * Generated from protobuf field <code>int32 biterate = 9 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param int $var
     * @return $this
     */
    public function setBiterate($var)
    {
        GPBUtil::checkInt32($var);
        $this->biterate = $var;

        return $this;
    }

    /**
     * Флаг rtsp_audio
     *
     * Generated from protobuf field <code>bool is_rtsp_audio = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return bool
     */
    public function getIsRtspAudio()
    {
        return $this->is_rtsp_audio;
    }

    /**
     * Флаг rtsp_audio
     *
     * Generated from protobuf field <code>bool is_rtsp_audio = 10 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param bool $var
     * @return $this
     */
    public function setIsRtspAudio($var)
    {
        GPBUtil::checkBool($var);
        $this->is_rtsp_audio = $var;

        return $this;
    }

    /**
     * Флаг use for sip
     *
     * Generated from protobuf field <code>bool is_used_for_sip = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @return bool
     */
    public function getIsUsedForSip()
    {
        return $this->is_used_for_sip;
    }

    /**
     * Флаг use for sip
     *
     * Generated from protobuf field <code>bool is_used_for_sip = 11 [(.grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {</code>
     * @param bool $var
     * @return $this
     */
    public function setIsUsedForSip($var)
    {
        GPBUtil::checkBool($var);
        $this->is_used_for_sip = $var;

        return $this;
    }

}

