void streaming_BufferEnd(object sender, ContextEventArgs e) { lock (mutex) { // Unset the bit for the completed buffer bufferStatus.Set((int)e.Context, false); // Signal to the DecoderThread System.Threading.Monitor.Pulse(mutex); } }