我正在使用ffmpeg解码文件并在Android设备上播放。我有这个工作,现在想要同时解码两个流。我已经阅读了一些关于需要使用ffmpeg进行av_lockmgr_register()调用的注释,遗憾的是我不知道如何使用这些以及使用这些锁时流程如何工作。
目前我在java端有单独的线程,通过JNI向与ffmpeg通信的本机代码发出请求。
线程是否需要在本机(NDK)端,或者我可以在java端管理它们吗?我是否需要进行任何锁定,如果是这样,那对ffmpeg有什么作用?
*** UPDATE 我现在有这个工作,似乎在java sdk级别设置线程转移到本机级别的单独线程。有了这个,我就可以用我的变量创建一个结构,然后将一个变量传递给本机层,以指定每个视频使用的结构。因此,我需要在本机级别使用任何互斥锁或锁,并且没有任何问题。
有没有人知道我可能遇到的潜在问题,因为没有使用ffmpeg?
答案 0 :(得分:2)
我会回答这个问题,我的最新更新方法似乎有效。通过控制java层中的线程并在不同的线程上进行本机调用,一切正常,我没有遇到任何问题。