2
我編寫了解碼許多.flv視頻文件的代碼。每個視頻文件都由一個單獨的線程解碼。 當我嘗試1線程時,一切正常。但是當我嘗試使用2個以上的線程時,總會出現錯誤「avcodec_open/close()周圍的線程鎖定不足」。使用帶多線程的FFMPEG解碼h264文件時出錯?
我已搜查,我知道()avcodec_open的功能和avcodec_close()不是線程安全的。 之後,我將互斥鎖鎖定在兩個函數被調用的地方。
lockObj.Lock();
avcodec_open/close();
lockObj.UnLock();
但是仍然發生錯誤「圍繞avcodec_open/close()的線程鎖定不足」。
有人能告訴我該如何解決?
非常感謝,
牛逼& T組
感謝您的回覆,niahnke! 我確定lockObj是每個線程中的同一個對象,因爲lockObj和所有線程都在同一個文件中聲明。 – TTGroup 2013-09-15 03:16:26