private void VideoThreadFunc() { try { int num = 0; while (this.videoThreadContinue_) { VideoDecoder videoDecoder = null; List <MediaKitProcessor.OGVControl> obj = this.controls_; lock (obj) { if (num < this.videoDecoders_.Count) { videoDecoder = this.videoDecoders_[num++]; } else { num = 0; if (num < this.videoDecoders_.Count) { videoDecoder = this.videoDecoders_[num++]; } } } if (videoDecoder != null) { videoDecoder.InBackground(); } else { Thread.Sleep(10); } } } catch (Exception ex) { this.exception_ = ex; } }