ia_css_isys_error_t ia_css_isys_stream_calculate_cfg(
	ia_css_isys_stream_h		isys_stream,
	ia_css_isys_descr_t		*isys_stream_descr,
	ia_css_isys_stream_cfg_t	*isys_stream_cfg)
{
	ia_css_isys_error_t rc;

	if (isys_stream_cfg == NULL		||
		isys_stream_descr == NULL	||
		isys_stream == NULL)
		return false;

	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
		"ia_css_isys_stream_calculate_cfg() enter:\n");

	rc  = calculate_input_system_channel_cfg(
			&(isys_stream->channel),
			&(isys_stream->input_port),
			isys_stream_descr,
			&(isys_stream_cfg->channel_cfg),
			false);
	if (rc == false)
		return false;

	/* configure metadata channel */
	if (isys_stream_descr->metadata.enable) {
		isys_stream_cfg->enable_metadata = true;
		rc  = calculate_input_system_channel_cfg(
				&isys_stream->md_channel,
				&isys_stream->input_port,
				isys_stream_descr,
				&isys_stream_cfg->md_channel_cfg,
				true);
		if (rc == false)
			return false;
	}

	rc = calculate_input_system_input_port_cfg(
			&(isys_stream->channel),
			&(isys_stream->input_port),
			isys_stream_descr,
			&(isys_stream_cfg->input_port_cfg));
	if (rc == false)
		return false;

	isys_stream->valid = 1;
	isys_stream_cfg->valid = 1;
	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
		"ia_css_isys_stream_calculate_cfg() leave:\n");
	return rc;
}
ia_css_isys_error_t ia_css_isys_stream_calculate_cfg(
    ia_css_isys_stream_h		isys_stream,
    ia_css_isys_descr_t		*isys_stream_descr,
    ia_css_isys_stream_cfg_t	*isys_stream_cfg)
{
    ia_css_isys_error_t rc;

    if (isys_stream_cfg == NULL	||
            isys_stream_descr == NULL	||
            isys_stream == NULL)
        return false;

    rc  = calculate_input_system_channel_cfg(
              &(isys_stream->channel),
              &(isys_stream->input_port),
              isys_stream_descr,
              &(isys_stream_cfg->channel_cfg));
    if (rc == false)
        return false;

    rc = calculate_input_system_input_port_cfg(
             &(isys_stream->channel),
             &(isys_stream->input_port),
             isys_stream_descr,
             &(isys_stream_cfg->input_port_cfg));
    if (rc == false)
        return false;

    return true;
}