int PutLiveChannelRequest::validate()

in sdk/src/model/PutLiveChannelRequest.cc [107:161]


int PutLiveChannelRequest::validate() const
{
    int ret = LiveChannelRequest::validate();

    if(ret)
    {
        return ret;
    }

    if(!description_.empty() && 
        description_.size() > MaxLiveChannelDescriptionLength)
    {
        return ARG_ERROR_LIVECHANNEL_BAD_DESCRIPTION_PARAM;
    }

    if(status_ != LiveChannelStatus::EnabledStatus && 
        status_ != LiveChannelStatus::DisabledStatus)
    {
        return ARG_ERROR_LIVECHANNEL_BAD_STATUS_PARAM;
    }

    if(channelType_ != "HLS")
    {
        return ARG_ERROR_LIVECHANNEL_BAD_CHANNEL_TYPE_PARAM;
    }

    if(fragDuration_ < MinLiveChannelFragDuration || 
        fragDuration_ > MaxLiveChannelFragDuration)
    {
        return ARG_ERROR_LIVECHANNEL_BAD_FRAGDURATION_PARAM;
    }

    if(fragCount_ < MinLiveChannelFragCount || 
        fragCount_ > MaxLiveChannelFragCount)
    {
        return ARG_ERROR_LIVECHANNEL_BAD_FRAGCOUNT_PARAM;
    }

    if(!IsValidPlayListName(playListName_))
    {
        return ARG_ERROR_LIVECHANNEL_BAD_PALYLIST_PARAM;
    }

    if(snapshot_)
    {
        if(roleName_.empty() || notifyTopic_.empty() || 
            destBucket_.empty() || !IsValidBucketName(bucket_) || 
            interval_ < MinLiveChannelInterval ||
            interval_ > MaxLiveChannelInterval)
        {
            return ARG_ERROR_LIVECHANNEL_BAD_SNAPSHOT_PARAM;
        }
    }
    return 0;
}