protected override Future <object> DoStop()
        {
            var promise = new Promise <object>();

            if (_NdiReceiver != null)
            {
                _NdiReceiver.VideoFrameReceived -= ProcessFrameReceived;

                if (_BufferAllocated)
                {
                    _Buffer.Free();
                    _BufferAllocated = false;
                }

                promise.Resolve(null);
            }
            else
            {
                promise.Reject(new Exception("NDI.Receiver already gone."));
            }
            return(promise);
        }