@Override @MainThread public void detachViews() { if (mSurfacesState.get() == SURFACE_STATE_INIT) return; mSurfacesState.set(SURFACE_STATE_INIT); mHandler.removeCallbacksAndMessages(null); synchronized (mBuffersGeometryCond) { mBuffersGeometryCond.abort = true; mBuffersGeometryCond.notifyAll(); } for (int id = 0; id < ID_MAX; ++id) { final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = null; } for (Callback cb : mIVLCVoutCallbacks) cb.onSurfacesDestroyed(this); if (mSurfaceCallback != null) mSurfaceCallback.onSurfacesDestroyed(this); }
@Override @MainThread public void detachViews() { if (mSurfacesState.get() == SURFACE_STATE_INIT) return; mSurfacesState.set(SURFACE_STATE_INIT); mHandler.removeCallbacksAndMessages(null); synchronized (mBuffersGeometryCond) { mBuffersGeometryCond.abort = true; mBuffersGeometryCond.notifyAll(); } for (int id = 0; id < ID_MAX; ++id) { final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = null; } for (IVLCVout.Callback cb : mIVLCVoutCallbacks) cb.onSurfacesDestroyed(this); if (mSurfaceCallback != null) mSurfaceCallback.onSurfacesDestroyed(this); }
@Override @MainThread public void detachViews() { if (mSurfacesState.get() == SURFACE_STATE_INIT) return; mSurfacesState.set(SURFACE_STATE_INIT); mHandler.removeCallbacksAndMessages(null); synchronized (mNativeLock) { mOnNewVideoLayoutListener = null; mNativeLock.buffersGeometryAbort = true; mNativeLock.notifyAll(); } for (int id = 0; id < ID_MAX; ++id) { final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = null; } for (IVLCVout.Callback cb : mIVLCVoutCallbacks) cb.onSurfacesDestroyed(this); if (mSurfaceCallback != null) mSurfaceCallback.onSurfacesDestroyed(this); if (AndroidUtil.isJellyBeanOrLater) mSurfaceTextureThread.release(); }
@Override @MainThread public void detachViews() { if (mSurfacesState.get() == SURFACE_STATE_INIT) return; mSurfacesState.set(SURFACE_STATE_INIT); mHandler.removeCallbacksAndMessages(null); synchronized (mNativeLock) { mOnNewVideoLayoutListener = null; mNativeLock.buffersGeometryAbort = true; mNativeLock.notifyAll(); } for (int id = 0; id < ID_MAX; ++id) { final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = null; } for (IVLCVout.Callback cb : mIVLCVoutCallbacks) cb.onSurfacesDestroyed(this); if (mSurfaceCallback != null) mSurfaceCallback.onSurfacesDestroyed(this); if (AndroidUtil.isJellyBeanOrLater) mSurfaceTextureThread.release(); }
@Override @MainThread public void detachViews() { if (mSurfacesState.get() == SURFACE_STATE_INIT) return; mSurfacesState.set(SURFACE_STATE_INIT); mHandler.removeCallbacksAndMessages(null); synchronized (mNativeLock) { mOnNewVideoLayoutListener = null; mNativeLock.buffersGeometryAbort = true; mNativeLock.notifyAll(); } for (int id = 0; id < ID_MAX; ++id) { final SurfaceHelper surfaceHelper = mSurfaceHelpers[id]; if (surfaceHelper != null) surfaceHelper.release(); mSurfaceHelpers[id] = null; } for (IVLCVout.Callback cb : mIVLCVoutCallbacks) cb.onSurfacesDestroyed(this); if (mSurfaceCallback != null) mSurfaceCallback.onSurfacesDestroyed(this); if (AndroidUtil.isJellyBeanOrLater) mSurfaceTextureThread.release(); }