gpt4 book ai didi

android - 在 Android 上的测试用例之外运行 ExtractDecodeEditEncodeMuxTest

转载 作者:行者123 更新时间:2023-11-29 21:05:26 24 4
gpt4 key购买 nike

我正在尝试添加功能以在 Android 上提取、解码、编辑、编码和混合视频。因此,我找到了一些非常有用的实现,它是 Android CTS 的一部分 ExtractDecodeEditEncodeMuxTest .不幸的是,代码只有在作为测试用例的一部分执行时才有效。我尝试从正常 Activity 中执行它并得到:

E/ExtractDecodeEditEncodeMuxTest (18781): java.lang.IllegalStateException: Failed to stop the muxer

W/System.err(18781): java.lang.RuntimeException: Surface frame wait timed out W/System.err(18781): at ...OutputSurface.awaitNewImage(OutputSurface.java:216)

任何想法,为什么输出表面不接收帧?

更新:以下是工作测试用例和非工作实现的日志文件。两者的代码完全相同。唯一的区别是工作的一个是 AndroidTestCase,另一个在 IntentService 内的应用程序中运行。

似乎整个过程在大约 6 帧后停止提取和解码。有什么想法吗?

Working Testcase Logoutput

Non-Working Log Output

最佳答案

更有可能你需要在单独的线程中运行它

    public static void runTest(ExtractDecodeEditEncodeMuxTest test) throws Throwable {
test.setOutputFile();
TestWrapper wrapper = new TestWrapper(test);
Thread th = new Thread(wrapper, "codec test");
th.start();
th.join();
if (wrapper.mThrowable != null) {
throw wrapper.mThrowable;
}
}

关于android - 在 Android 上的测试用例之外运行 ExtractDecodeEditEncodeMuxTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24733805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com