static ngx_int_t
ngx_http_vod_hds_parse_drm_info(
	ngx_http_vod_submodule_context_t* submodule_context,
	ngx_str_t* drm_info,
	void** output)
{
	drm_info_t* result;
	ngx_int_t rc;
	
	rc = udrm_parse_response(
		&submodule_context->request_context,
		drm_info,
		FALSE,
		(void**)&result);
	if (rc != VOD_OK)
	{
		return NGX_ERROR;
	}

	if (result->pssh_array.count != 1)
	{
		ngx_log_error(NGX_LOG_ERR, submodule_context->request_context.log, 0,
			"ngx_http_vod_hds_parse_drm_info: pssh array must contain a single element");
		return NGX_ERROR;
	}

	*output = result;

	return NGX_OK;
}
static ngx_int_t
ngx_http_vod_dash_parse_drm_info(
	ngx_http_vod_submodule_context_t* submodule_context,
	ngx_str_t* drm_info,
	void** output)
{
	return udrm_parse_response(
		&submodule_context->request_context,
		drm_info,
		output);
}
ngx_int_t
ngx_http_vod_hls_parse_drm_info(
	ngx_http_vod_submodule_context_t* submodule_context,
	ngx_str_t* drm_info,
	void** output)
{
	vod_status_t rc;

	rc = udrm_parse_response(
		&submodule_context->request_context,
		drm_info,
		TRUE,
		output);
	if (rc != VOD_OK)
	{
		return NGX_ERROR;
	}

	return NGX_OK;
}