/// <summary>
        /// Raises a captured video buffer for processing to specific peers.
        /// </summary>
        /// <param name="buffer">The buffer.</param>
        /// <param name="peerIds">Peer identifiers.</param>
        protected override void RaiseFrame(VideoBuffer buffer, string[] peerIds)
        {
            // encode
            var encodedFrame = buffer.Encode(_Codec);

            // record
            _Recorder.Write(encodedFrame, buffer.Width, buffer.Height);

            // send to peers (if any)
            base.RaiseFrame(new VideoBuffer(buffer.Width, buffer.Height, new VideoPlane(encodedFrame))
            {
                Encoded = true
            }, peerIds);
        }