jgh- / VideoCore-Inactive

*No longer in development* Please see https://github.com/unpause-live/SwiftVideo
MIT License
1.47k stars 538 forks source link

Join mix thread before destroy OpenGL env #342

Open stayHF opened 8 years ago

stayHF commented 8 years ago

in function GLESVideoMixer::~GLESVideoMixer. we shoud join mix thread before destory opengl env.

Thread 25 Crashed: 0 libobjc.A.dylib 0x0000000198a87bd0 objc_msgSend + 16 1 OpenGLES 0x000000018be978f0 +[EAGLContext setCurrentContext:] + 112 2 mybaby 0x00000001010a047c std::1::function::__func, void ()()>::operator()() (GLESVideoMixer.mm:509) 3 mybaby 0x000000010109f6c4 _ZN9videocore8JobQueue7enqueueENSt3110shared_ptrINS_3JobEEE_block_invoke (JobQueue.hpp:59) 4 libdispatch.dylib 0x00000001990b93ac _dispatch_call_block_and_release + 24 5 libdispatch.dylib 0x00000001990b936c _dispatch_client_callout + 16 6 libdispatch.dylib 0x00000001990c34c0 _dispatch_queue_drain + 1216 7 libdispatch.dylib 0x00000001990bc474 _dispatch_queue_invoke + 132 8 libdispatch.dylib 0x00000001990c5224 _dispatch_root_queue_drain + 664 9 libdispatch.dylib 0x00000001990c675c _dispatch_worker_thread3 + 108 10 libsystem_pthread.dylib 0x00000001992952e4 _pthread_wqthread + 816 11 libsystem_pthread.dylib 0x0000000199294fa8 start_wqthread + 4

Thread 0: 0 libsystem_kernel.dylib 0x00000001991fb570 __semwait_signal + 8 1 libc++.1.dylib 0x0000000198248cf8 std::1::thread::join() + 28 2 mybaby 0x000000010109e408 videocore::iOS::GLESVideoMixer::~GLESVideoMixer() (GLESVideoMixer.mm:254) 3 libc++.1.dylib 0x000000019823d764 std::1::shared_weak_count::release_shared() + 64 4 mybaby 0x00000001010ae994 -VCSimpleSession dealloc