private void CleanupAppContext() { Logger.LogTrace("DeezerRenderer::CleanupAppContext => Cleaning up app context ..."); dz_error_t err; if (_dzPlayer != IntPtr.Zero) { //_evtPlayerDeactivated.Reset(); //_dzPlayerDeactivatedCB = new dz_activity_operation_callback(OnPlayerDeactivated); err = DeezerApi.dz_player_deactivate(_dzPlayer, _dzPlayerDeactivatedCB, IntPtr.Zero); DeezerApi.HandleDzErrorCode("dz_player_deactivate", err, false); //_evtPlayerDeactivated.WaitOne(DZ_OPERATION_TIMEOUT); Thread.Sleep(2000); Logger.LogTrace("dz_player_deactivate => Assuming Success"); DeezerApi.dz_object_release(_dzPlayer); _dzPlayer = IntPtr.Zero; } if (_dzConnect != IntPtr.Zero) { //_evtConnectDeactivated.Reset(); //_dzConnectDeactivatedCB = new dz_activity_operation_callback(OnConnectDeactivated); err = DeezerApi.dz_connect_deactivate(_dzConnect, _dzConnectDeactivatedCB, IntPtr.Zero); DeezerApi.HandleDzErrorCode("dz_connect_deactivate", err, false); //_evtConnectDeactivated.WaitOne(DZ_OPERATION_TIMEOUT); Thread.Sleep(2000); Logger.LogTrace("dz_connect_deactivate => Assuming Success"); DeezerApi.dz_object_release(_dzConnect); _dzConnect = IntPtr.Zero; } }