in src/client/src/StreamEvent.c [12:126]
STATUS serviceCallResultCheck(SERVICE_CALL_RESULT callResult)
{
switch (callResult) {
case SERVICE_CALL_INVALID_ARG:
// Invalid args
return STATUS_SERVICE_CALL_INVALID_ARG_ERROR;
case SERVICE_CALL_DEVICE_NOT_FOUND:
// Device not found error
return STATUS_SERVICE_CALL_DEVICE_NOT_FOND_ERROR;
case SERVICE_CALL_DEVICE_NOT_PROVISIONED:
// Device not provisioned
return STATUS_SERVICE_CALL_DEVICE_NOT_PROVISIONED_ERROR;
case SERVICE_CALL_NOT_AUTHORIZED:
case SERVICE_CALL_FORBIDDEN:
// might be provisioning issue
return STATUS_SERVICE_CALL_NOT_AUTHORIZED_ERROR;
case SERVICE_CALL_RESOURCE_NOT_FOUND:
// No streams found
return STATUS_SERVICE_CALL_RESOURCE_NOT_FOUND_ERROR;
case SERVICE_CALL_RESOURCE_IN_USE:
// No streams found
return STATUS_SERVICE_CALL_RESOURCE_IN_USE_ERROR;
case SERVICE_CALL_REQUEST_TIMEOUT:
case SERVICE_CALL_GATEWAY_TIMEOUT:
case SERVICE_CALL_NETWORK_READ_TIMEOUT:
case SERVICE_CALL_NETWORK_CONNECTION_TIMEOUT:
// Timeout
return STATUS_SERVICE_CALL_TIMEOUT_ERROR;
case SERVICE_CALL_RESOURCE_DELETED:
// Resource deleted
return STATUS_SERVICE_CALL_RESOURCE_DELETED_ERROR;
case SERVICE_CALL_CLIENT_LIMIT:
// Client limit reached
return STATUS_SERVICE_CALL_CLIENT_LIMIT_ERROR;
case SERVICE_CALL_DEVICE_LIMIT:
// Device limit reached
return STATUS_SERVICE_CALL_DEVICE_LIMIT_ERROR;
case SERVICE_CALL_STREAM_LIMIT:
// Device limit reached
return STATUS_SERVICE_CALL_STREAM_LIMIT_ERROR;
case SERVICE_CALL_STREAM_AUTH_IN_GRACE_PERIOD:
// We are still in a grace period, should be OK
// Explicit fall-through
case SERVICE_CALL_RESULT_OK:
// All OK result
return STATUS_SUCCESS;
// ACK errors
case SERVICE_CALL_RESULT_STREAM_READ_ERROR:
return STATUS_ACK_ERR_STREAM_READ_ERROR;
case SERVICE_CALL_RESULT_FRAGMENT_SIZE_REACHED:
return STATUS_ACK_ERR_FRAGMENT_SIZE_REACHED;
case SERVICE_CALL_RESULT_FRAGMENT_DURATION_REACHED:
return STATUS_ACK_ERR_FRAGMENT_DURATION_REACHED;
case SERVICE_CALL_RESULT_CONNECTION_DURATION_REACHED:
return STATUS_ACK_ERR_CONNECTION_DURATION_REACHED;
case SERVICE_CALL_RESULT_FRAGMENT_TIMECODE_NOT_MONOTONIC:
return STATUS_ACK_ERR_FRAGMENT_TIMECODE_NOT_MONOTONIC;
case SERVICE_CALL_RESULT_MULTI_TRACK_MKV:
return STATUS_ACK_ERR_MULTI_TRACK_MKV;
case SERVICE_CALL_RESULT_INVALID_MKV_DATA:
return STATUS_ACK_ERR_INVALID_MKV_DATA;
case SERVICE_CALL_RESULT_INVALID_PRODUCER_TIMESTAMP:
return STATUS_ACK_ERR_INVALID_PRODUCER_TIMESTAMP;
case SERVICE_CALL_RESULT_STREAM_NOT_ACTIVE:
return STATUS_ACK_ERR_STREAM_NOT_ACTIVE;
case SERVICE_CALL_RESULT_FRAGMENT_METADATA_LIMIT_REACHED:
return STATUS_ACK_ERR_FRAGMENT_METADATA_LIMIT_REACHED;
case SERVICE_CALL_RESULT_TRACK_NUMBER_MISMATCH:
return STATUS_ACK_ERR_TRACK_NUMBER_MISMATCH;
case SERVICE_CALL_RESULT_FRAMES_MISSING_FOR_TRACK:
return STATUS_ACK_ERR_FRAMES_MISSING_FOR_TRACK;
case SERVICE_CALL_RESULT_MORE_THAN_ALLOWED_TRACKS_FOUND:
return STATUS_ACK_ERR_MORE_THAN_ALLOWED_TRACKS_FOUND;
case SERVICE_CALL_RESULT_KMS_KEY_ACCESS_DENIED:
return STATUS_ACK_ERR_KMS_KEY_ACCESS_DENIED;
case SERVICE_CALL_RESULT_KMS_KEY_DISABLED:
return STATUS_ACK_ERR_KMS_KEY_DISABLED;
case SERVICE_CALL_RESULT_KMS_KEY_VALIDATION_ERROR:
return STATUS_ACK_ERR_KMS_KEY_VALIDATION_ERROR;
case SERVICE_CALL_RESULT_KMS_KEY_UNAVAILABLE:
return STATUS_ACK_ERR_KMS_KEY_UNAVAILABLE;
case SERVICE_CALL_RESULT_KMS_KEY_INVALID_USAGE:
return STATUS_ACK_ERR_KMS_KEY_INVALID_USAGE;
case SERVICE_CALL_RESULT_KMS_KEY_INVALID_STATE:
return STATUS_ACK_ERR_KMS_KEY_INVALID_STATE;
case SERVICE_CALL_RESULT_KMS_KEY_NOT_FOUND:
return STATUS_ACK_ERR_KMS_KEY_NOT_FOUND;
case SERVICE_CALL_RESULT_STREAM_DELETED:
return STATUS_ACK_ERR_STREAM_DELETED;
case SERVICE_CALL_RESULT_ACK_INTERNAL_ERROR:
return STATUS_ACK_ERR_ACK_INTERNAL_ERROR;
case SERVICE_CALL_RESULT_FRAGMENT_ARCHIVAL_ERROR:
return STATUS_ACK_ERR_FRAGMENT_ARCHIVAL_ERROR;
case SERVICE_CALL_RESULT_UNKNOWN_ACK_ERROR:
return STATUS_ACK_ERR_UNKNOWN_ACK_ERROR;
case SERVICE_CALL_UNKNOWN:
// Explicit fall-through
default:
// Unknown error
return STATUS_SERVICE_CALL_UNKOWN_ERROR;
}
}