CHECK_HANDLE(hPipeSrcHandle, "ml_pipeline_src_get_handle");
nRet = ml_pipeline_src_get_tensors_info (hPipeSrcHandle, &hTensorinfo);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_tensors_info", NnStreamerGetError(nRet), ml_pipeline_src_release_handle (hPipeSrcHandle));
- CHECK_HANDLE_CLEANUP(hTensorinfo, "ml_pipeline_src_get_tensors_info", ml_pipeline_src_release_handle (hPipeSrcHandle));
+ PRINT_RESULT(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_tensors_info", NnStreamerGetError(nRet));
+ CHECK_HANDLE(hTensorinfo, "ml_pipeline_src_get_tensors_info");
- nRet = ml_pipeline_src_release_handle (hPipeSrcHandle);
- PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_pipeline_src_release_handle", NnStreamerGetError(nRet));
+ nRet = ml_tensors_info_destroy (hTensorinfo);
+ PRINT_RESULT(ML_ERROR_NONE, nRet, "ml_tensors_info_destroy", NnStreamerGetError(nRet));
return 0;
}
CHECK_HANDLE(hPipeSrcHandle, "ml_pipeline_src_get_handle");
nRet = ml_pipeline_src_get_tensors_info (hPipeSrcHandle, &hTensorinfo);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_tensors_info", NnStreamerGetError(nRet), ml_pipeline_src_release_handle (hPipeSrcHandle));
- CHECK_HANDLE_CLEANUP(hTensorinfo, "ml_pipeline_src_get_tensors_info", ml_pipeline_src_release_handle (hPipeSrcHandle));
+ PRINT_RESULT(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_tensors_info", NnStreamerGetError(nRet));
+ CHECK_HANDLE(hTensorinfo, "ml_pipeline_src_get_tensors_info");
nRet = ml_tensors_data_create (hTensorinfo, &hTensorData);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_tensors_data_create", NnStreamerGetError(nRet), ml_pipeline_src_release_handle (hPipeSrcHandle));
- CHECK_HANDLE_CLEANUP(hTensorData, "ml_tensors_data_create", ml_pipeline_src_release_handle (hPipeSrcHandle));
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_tensors_data_create", NnStreamerGetError(nRet), ml_tensors_info_destroy (hTensorinfo));
+ CHECK_HANDLE_CLEANUP(hTensorData, "ml_tensors_data_create", ml_tensors_info_destroy (hTensorinfo));
nRet = ml_tensors_data_set_tensor_data (hTensorData, 0, uintarray, 4);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_tensors_data_set_tensor_data", NnStreamerGetError(nRet), ml_tensors_data_destroy (hTensorData);ml_pipeline_src_release_handle (hPipeSrcHandle));
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_tensors_data_set_tensor_data", NnStreamerGetError(nRet), ml_tensors_data_destroy (hTensorData); ml_tensors_info_destroy (hTensorinfo));
nRet = ml_pipeline_src_input_data (hPipeSrcHandle, hTensorData, ML_PIPELINE_BUF_POLICY_DO_NOT_FREE);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_input_data", NnStreamerGetError(nRet), ml_tensors_data_destroy (hTensorData);ml_pipeline_src_release_handle (hPipeSrcHandle));
-
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_input_data", NnStreamerGetError(nRet), ml_tensors_data_destroy (hTensorData); ml_tensors_info_destroy (hTensorinfo));
nRet = ml_tensors_data_destroy (hTensorData);
PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_tensors_data_destroy", NnStreamerGetError(nRet));
- nRet = ml_pipeline_src_release_handle (hPipeSrcHandle);
- PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_pipeline_src_release_handle", NnStreamerGetError(nRet));
+ nRet = ml_tensors_info_destroy (hTensorinfo);
+ PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_tensors_info_destroy", NnStreamerGetError(nRet));
return 0;
}
CHECK_HANDLE_CLEANUP(hPipeSinkHandle, "ml_pipeline_sink_register",FREE_MEMORY(pszCountSink));
nRet = ml_pipeline_src_get_handle(g_hPipelinehandle, "srcx", &hPipeSrcHandle);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_handle", NnStreamerGetError(nRet),ml_pipeline_src_release_handle (hPipeSinkHandle);FREE_MEMORY(pszCountSink));
- CHECK_HANDLE_CLEANUP(hPipeSrcHandle, "ml_pipeline_src_get_handle",ml_pipeline_src_release_handle (hPipeSinkHandle);FREE_MEMORY(pszCountSink));
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_get_handle", NnStreamerGetError(nRet), FREE_MEMORY(pszCountSink));
+ CHECK_HANDLE_CLEANUP(hPipeSrcHandle, "ml_pipeline_src_get_handle", FREE_MEMORY(pszCountSink));
nRet = ml_pipeline_src_set_event_cb (hPipeSrcHandle, &callback, NULL);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_set_event_cb", NnStreamerGetError(nRet),ml_pipeline_src_release_handle (hPipeSrcHandle);ml_pipeline_src_release_handle (hPipeSinkHandle);FREE_MEMORY(pszCountSink));
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_src_set_event_cb", NnStreamerGetError(nRet), FREE_MEMORY(pszCountSink));
nRet = ml_pipeline_start (g_hPipelinehandle);
- PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_start", NnStreamerGetError(nRet) ,ml_pipeline_src_release_handle (hPipeSrcHandle);ml_pipeline_src_release_handle (hPipeSinkHandle);FREE_MEMORY(pszCountSink));
+ PRINT_RESULT_CLEANUP(ML_ERROR_NONE, nRet, "ml_pipeline_start", NnStreamerGetError(nRet), FREE_MEMORY(pszCountSink));
PushDummySrcApp(hPipeSrcHandle);
g_usleep(50000);
nRet = ml_pipeline_stop (g_hPipelinehandle);
PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_pipeline_stop", NnStreamerGetError(nRet));
- nRet = ml_pipeline_src_release_handle (hPipeSrcHandle);
- PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_pipeline_src_release_handle", NnStreamerGetError(nRet));
+ /** Wait while the pipeline processes the buffers and flush the data */
+ g_usleep (200000);
+ ml_pipeline_flush (g_hPipelinehandle, false);
+ g_usleep (200000);
- nRet = ml_pipeline_src_release_handle (hPipeSinkHandle);
- PRINT_RESULT_NORETURN(ML_ERROR_NONE, nRet, "ml_pipeline_src_release_handle", NnStreamerGetError(nRet));
FREE_MEMORY(pszCountSink);
return 0;
-}
\ No newline at end of file
+}
count_sink = (guint *) g_malloc0 (sizeof (guint));
assert_neq (count_sink, NULL);
- status = ml_pipeline_construct (pipeline, NULL, NULL, &handle);
- assert_eq (status, ML_ERROR_NONE);
-
status = ml_pipeline_src_get_handle (handle, "srcx", &srchandle);
assert_eq (status, ML_ERROR_NONE);
handle, "sinkx", test_sink_callback_count, count_sink, &sinkhandle);
assert_eq (status, ML_ERROR_NONE);
- status = ml_pipeline_start (handle);
- assert_eq (status, ML_ERROR_NONE);
-
test_src_cb_push_dummy (srchandle);
g_usleep (100000);
status = ml_pipeline_stop (handle);
assert_eq (status, ML_ERROR_NONE);
+ g_usleep (200000);
assert_gt (*count_sink, 1U);
status = ml_pipeline_src_release_handle (srchandle);
assert_eq (status, ML_ERROR_NONE);
- status = ml_pipeline_src_release_handle (sinkhandle);
+ status = ml_pipeline_sink_unregister (sinkhandle);
assert_eq (status, ML_ERROR_NONE);
g_free (count_sink);