From b9e89c35dac3c19e026d2a0161649a065b3dceee Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sat, 22 Feb 2014 07:48:03 +0100
Subject: Bug 927 - Multithreading (MT) issues libav/ffmpeg

FFMPEG Natives:

  - Move 'mutex_avcodec_openclose' to local static and initialize at initSymbols0

  - setStream0:
    - Add another locked mutex block around:
       - [ sp_avformat_open_input .. sp_avformat_find_stream_info ]

  This solves the issue of:

    [NULL @ 0x89d20c60] insufficient thread locking around avcodec_open/close()
---
 src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java')

diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java
index 19bc10f5f..f35fb29dc 100644
--- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java
+++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGv10Natives.java
@@ -29,7 +29,7 @@ package jogamp.opengl.util.av.impl;
 
 class FFMPEGv10Natives extends FFMPEGNatives {
     @Override
-    native boolean initSymbols0(long[] symbols, int count);
+    native boolean initSymbols0(Object mutex_avcodec_openclose, long[] symbols, int count);
 
     @Override
     native int getAvUtilMajorVersionCC0();
@@ -47,7 +47,7 @@ class FFMPEGv10Natives extends FFMPEGNatives {
     native int getSwResampleMajorVersionCC0();
 
     @Override
-    native long createInstance0(Object mutex_avcodec_openclose, FFMPEGMediaPlayer upstream, boolean verbose);
+    native long createInstance0(FFMPEGMediaPlayer upstream, boolean verbose);
 
     @Override
     native void destroyInstance0(long moviePtr);
-- 
cgit v1.2.3