示例#1
0
        protected internal override void NewFrameReady(RecordingSession session)
        {
            if (!audioSettings.PreserveAudio)
            {
                return;
            }

            if (s_Handler == null)
            {
                s_Handler = this;
            }

            if (s_Handler == this)
            {
                var sampleFrameCount = AudioRenderer.GetSampleCountForCaptureFrame();
                if (RecorderOptions.VerboseMode)
                {
                    Debug.Log(string.Format("AudioInput.NewFrameReady {0} audio sample frames @ {1} ch",
                                            sampleFrameCount, m_ChannelCount));
                }

                const ushort bufferCount = 1;

                if (s_BufferManager != null)
                {
                    s_BufferManager.Dispose();
                }

                s_BufferManager = new BufferManager(bufferCount, sampleFrameCount, m_ChannelCount);

                AudioRenderer.Render(mainBuffer);
            }
        }
        /// <summary>
        /// Releases all Objects held by this socket. Will also
        /// shutdown the socket if its still running
        /// </summary>
        public void Dispose()
        {
            // no need to do this again
            if (IsDisposed)
            {
                return;
            }
            IsDisposed = true;

            // Shutdown sockets
            if (IsListening)
            {
                ShutdownSocket();
            }

            // Dispose all AcceptPool AysncEventArg objects
            while (SocketAcceptPool.Count > 0)
            {
                SocketAcceptPool.Pop().Dispose();
            }

            // Dispose all ReadWritePool AysncEventArg objects
            while (SocketReadWritePool.Count > 0)
            {
                SocketReadWritePool.Pop().Dispose();
            }

            // Dispose the buffer manager after disposing all EventArgs
            BufferManager.Dispose();
            MaxConnectionsEnforcer.Dispose();
            Listener.Dispose();
        }
示例#3
0
    public static void Terminate()
    {
        if (IsInitialized)
        {
            Logger.Trace <ID3D11Device>("Disposing managers");
            ReleaseBackbuffer();

            BufferManager.Dispose();
            BufferManager = null;
            TextureManager.Dispose();
            TextureManager = null;
            SamplerManager.Dispose();
            SamplerManager = null;
            ShaderManager.Dispose();
            ShaderManager = null;
            RasterizerManager.Dispose();
            RasterizerManager = null;
            SwapChain.Dispose();
            SwapChain = null;

            Logger.Trace <ID3D11Device>("Disposing resources");
            _swapChain.Dispose();
            _context.Dispose();
            _device.Dispose();
        }
        IsInitialized = false;
    }
示例#4
0
        /// <summary>
        /// Override this method to create own Dispose method
        /// </summary>
        /// <param name="disposing"></param>
        protected virtual void Dispose(bool disposing)
        {
            try
            {
                if (disposing)
                {
                    // no need to do this again
                    if (Disposed)
                    {
                        return;
                    }


                    // Shutdown sockets
                    if (IsRunning)
                    {
                        ShutdownSocket();
                    }

                    // Dispose all ReadWritePool AysncEventArg objects
                    while (SocketReadWritePool.Count > 0)
                    {
                        SocketReadWritePool.Pop().Dispose();
                    }

                    // Dispose the buffer manager after disposing all EventArgs
                    BufferManager.Dispose();
                    MaxConnectionsEnforcer.Dispose();
                    Listener.Dispose();

                    Disposed = true;
                }
            }
            catch { }
        }
示例#5
0
        public void DisposeWorks()
        {
            var settings = CreateSettings(1, 10, 1);
            var manager  = new BufferManager(settings);

            manager.Dispose();
        }
示例#6
0
 /// <summary>
 /// アンマネージ リソースの解放およびリセットに関連付けられているアプリケーション定義のタスクを実行します。
 /// </summary>
 public virtual void Dispose()
 {
     Effect.Dispose();
     BufferManager.Dispose();
     ToonManager.Dispose();
     SubsetManager.Dispose();
 }
示例#7
0
 public void Dispose()
 {
     if (!Disposed)
     {
         return;
     }
     manager.Dispose();
     Disposed = true;
 }
示例#8
0
        public override void FrameDone(RecordingSession session)
        {
            if (!audioSettings.m_PreserveAudio)
            {
                return;
            }

            m_BufferManager.Dispose();
            m_BufferManager = null;
        }
        public void all_buffers_are_released_by_manager()
        {
            var mgr  = new BufferManager("test");
            var buf1 = mgr.GetBuffer(30);
            var buf2 = mgr.GetBuffer(30);
            var buf3 = mgr.GetBuffer(40);

            mgr.Dispose();
            Assert.Throws <ObjectDisposedException>(() => buf1.Length);
            Assert.Throws <ObjectDisposedException>(() => buf2.Length);
            Assert.Throws <ObjectDisposedException>(() => buf3.Length);
        }
示例#10
0
 public virtual void Dispose()
 {
     BufferManager.Dispose();
 }
示例#11
0
 public void Dispose()
 {
     buffers.Dispose();
 }
 public void DisposeWorks()
 {
     var settings = CreateSettings(1, 10, 1);
     var manager = new BufferManager(settings);
     manager.Dispose();
 }