This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:vxProcessGraph()在使用已验证的空图时挂起

Guru**** 633805 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1182739/tda4vm-vxprocessgraph-hangs-when-using-a-verified-empty-graph

器件型号:TDA4VM

在实施某些单元测试时,我发现在 没有节点的图形上调用 vxProcessGraph()会导致进程在没有反馈的情况下挂起,即使 vxVerifyGraph()成功。

我在文档中没有看到过这种行为、这是不是要这么做?

下面是 Catch2测试。 如果您注释 vxProcessGraph()调用,则如果有效。 否则、它就会挂起。

TEST_CASE("Empty graph")
{
	// Init
	REQUIRE(0 == appInit());
	vx_context ctx = vxCreateContext();
	REQUIRE(nullptr != ctx);

	// Create
	vx_graph graph = vxCreateGraph(ctx);
	REQUIRE(VX_SUCCESS == vxGetStatus((vx_reference) graph));
	REQUIRE(nullptr != graph);
	REQUIRE(VX_SUCCESS == vxSetReferenceName((vx_reference) graph, "MyGraph"));

	// Verify
	REQUIRE(VX_SUCCESS == vxVerifyGraph(graph));
	
	// Run
	REQUIRE(VX_SUCCESS == vxProcessGraph(graph));

	// Cleanup
	REQUIRE(VX_SUCCESS == vxReleaseGraph(&graph));
	REQUIRE(VX_SUCCESS == vxReleaseContext(&ctx));
	REQUIRE(0 == appDeInit());
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好

    当然、我们将对此进行检查。  这很可能是一个错误。 但通常情况下、我们在图形中至少有一个节点、 您是否有任何特定的原因想要在没有任何节点的情况下运行图形?

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Brijesh。

    我只是在实施 C++包装程序并测试图形的虚拟类、这就是它没有任何节点的原因。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 FredC_LT、

    我建议在调用 vxProcessGraph 之前在图中至少保留一个节点。

    此致、

    Brijesh