Esempio n. 1
0
        protected virtual async void Dispose(bool disposeSafe)
        {
            if (!disposed && !disposing)
            {
                disposing = true;
                if (disposeSafe)
                {
                    Terminate = true;
                    await Task.WhenAll(ControlTasks);
                    //if (audioControlTask != null) await audioControlTask;
                    //if (controllerCleanTask != null) await controllerCleanTask;

                    //ControlTasks.ForEach(i => i?.Dispose());
                    //audioControlTask.Dispose();
                    //controllerCleanTask.Dispose();

                    try { core?.Dispose(); }
                    catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); }
                    finally { core = null; }

                    //await Task.Delay(50);
                }
                disposed = true;
            }
        }
Esempio n. 2
0
        protected virtual async void Dispose(bool disposeSafe)
        {
            if (!disposed && !disposing)
            {
                disposing = true;
                if (disposeSafe)
                {
                    Terminate = true;
                    await Task.WhenAll(ControlTasks);
                    //if (audioControlTask != null) await audioControlTask;
                    //if (controllerCleanTask != null) await controllerCleanTask;

                    ControlTasks.ForEach(i => i?.Dispose());
                    //audioControlTask.Dispose();
                    //controllerCleanTask.Dispose();

                    core?.Dispose();

                    await Task.Delay(250);
                }
                disposed = true;
            }
        }