我正在使用ffmpeg解码文件并在android设备上播放。目前已经可以工作,现在希望同时解码两个流。我已经阅读了一些有关需要使用av_lockmgr_register()调用与ffmpeg合作的评论,但不幸的是我不知道如何使用这些锁以及在使用这些锁时流程如何运作。
目前,在Java侧有单独的线程通过JNI向与ffmpeg通信的本机代码发出请求。
这些线程需要在本机(NDK)侧还是可以在Java侧进行管理?如果需要锁定,是否需要在ffmpeg中进行锁定?
***更新 现在我已经做到了这一点,似乎在Java SDK级别设置线程会转换为在本机级别分离的线程。通过这种方式,我能够创建一个带有我的变量的结构体,并传递一个变量到本机层以指定每个视频要使用哪个结构体。到目前为止,我没有在本机层使用任何互斥体或锁定,并且没有遇到任何问题。
有人知道不在ffmpeg中使用锁可能遇到的潜在问题吗?