/************************************************** * * Public Methods * **************************************************/ ia_css_isys_error_t ia_css_isys_stream_create( ia_css_isys_descr_t *isys_stream_descr, ia_css_isys_stream_h isys_stream, uint32_t isys_stream_id) { ia_css_isys_error_t rc; if (isys_stream_descr == NULL || isys_stream == NULL || isys_stream_id >= SH_CSS_MAX_ISYS_CHANNEL_NODES) return false; ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_isys_stream_create() enter:\n"); /*Reset isys_stream to 0*/ memset(isys_stream, 0, sizeof(*isys_stream)); isys_stream->enable_metadata = isys_stream_descr->metadata.enable; isys_stream->id = isys_stream_id; isys_stream->linked_isys_stream_id = isys_stream_descr->linked_isys_stream_id; rc = create_input_system_input_port(isys_stream_descr, &(isys_stream->input_port)); if (rc == false) return false; rc = create_input_system_channel(isys_stream_descr, false, &(isys_stream->channel)); if (rc == false) { destroy_input_system_input_port(&isys_stream->input_port); return false; } /* create metadata channel */ if (isys_stream_descr->metadata.enable) { rc = create_input_system_channel(isys_stream_descr, true, &isys_stream->md_channel); if (rc == false) { destroy_input_system_input_port(&isys_stream->input_port); destroy_input_system_channel(&isys_stream->channel); return false; } } ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_isys_stream_create() leave:\n"); return true; }
void ia_css_isys_stream_destroy( ia_css_isys_stream_h isys_stream) { destroy_input_system_input_port(&isys_stream->input_port); destroy_input_system_channel(&(isys_stream->channel)); if (isys_stream->enable_metadata) { /* Destroy metadata channel only if its allocated*/ destroy_input_system_channel(&isys_stream->md_channel); } }
/************************************************** * * Public Methods * **************************************************/ ia_css_isys_error_t ia_css_isys_stream_create( ia_css_isys_descr_t *isys_stream_descr, ia_css_isys_stream_h isys_stream) { ia_css_isys_error_t rc; if (isys_stream_descr == NULL || isys_stream == NULL) return false; ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_isys_stream_create() enter:\n"); isys_stream->linked_isys_stream_id = isys_stream_descr->linked_isys_stream_id; rc = create_input_system_input_port(isys_stream_descr, &(isys_stream->input_port)); if (rc == false) return false; rc = create_input_system_channel(isys_stream_descr, false, &(isys_stream->channel)); if (rc == false) { destroy_input_system_input_port(&(isys_stream->input_port)); return false; } /* create metadata channel */ if (isys_stream_descr->metadata.enable) { rc = create_input_system_channel(isys_stream_descr, true, &isys_stream->md_channel); if (rc == false) { destroy_input_system_input_port(&isys_stream->input_port); destroy_input_system_channel(&isys_stream->channel); return false; } } ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_isys_stream_create() leave:\n"); return true; }
/************************************************** * * Public Method * **************************************************/ ia_css_isys_error_t ia_css_isys_stream_create( ia_css_isys_descr_t *isys_stream_descr, ia_css_isys_stream_h isys_stream) { ia_css_isys_error_t rc; if (isys_stream_descr == NULL || isys_stream == NULL) return false; rc = create_input_system_input_port(isys_stream_descr, &(isys_stream->input_port)); if (rc == false) return false; rc = create_input_system_channel(isys_stream_descr, &(isys_stream->channel)); if (rc == false) { destroy_input_system_input_port(&(isys_stream->input_port)); return false; } return true; }
void ia_css_isys_stream_destroy( ia_css_isys_stream_h isys_stream) { destroy_input_system_input_port(&(isys_stream->input_port)); destroy_input_system_channel(&(isys_stream->channel)); }