/// <summary>
        /// Stop the broadcaster and close the outlet
        /// </summary>
        /// <returns></returns>
        public async Task StopLslBroadcastAsync()
        {
            if (CancelTokenSource != null)
            {
                CancelTokenSource.Cancel();
                if (RunTask != null)
                {
                    await RunTask;
                }

                CancelTokenSource = null;
                RunTask           = null;
            }

            DataToBroadcast.RemoveAll();
        }
 /// <summary>
 /// Add data sample to the broadcast queue
 /// </summary>
 public void AddData(IBFSample sample)
 {
     DataToBroadcast.Enqueue(sample);
 }
 /// <summary>
 /// Add data chunk to broadcast queue
 /// </summary>
 public void AddData(IEnumerable <IBFSample> chunk)
 {
     DataToBroadcast.AddRange(chunk);
 }