Example #1
0
 /// <summary>Shutdown the tracker so that no further capture can be added to the input queue.</summary>
 /// <remarks><para>
 /// Once the tracker is shutdown, <see cref="TryEnqueueCapture(Capture, Timeout)"/> method will always immediately return failure.
 /// </para><para>
 /// If there are remaining captures in the tracker queue after the tracker is shutdown, <see cref="TryPopResult(out BodyFrame, Timeout)"/> can
 /// still return successfully. Once the tracker queue is empty, the <see cref="TryPopResult(out BodyFrame, Timeout)"/> call will always immediately
 /// return failure.
 /// </para><para>
 /// This function may be called while another thread is blocking in <see cref="TryEnqueueCapture(Capture, Timeout)"/> or <see cref="TryPopResult(out BodyFrame, Timeout)"/>.
 /// Calling this function while another thread is in that function will result in that function raising an exception.
 /// </para></remarks>
 public void Shutdown()
 {
     NativeApi.TrackerShutdown(handle.Value);
     queueSize = 0;
 }