コード例 #1
0
        private void Reset()
        {
            lock (queue) {
                if (user_job != null)
                {
                    user_job.CancelRequested -= OnCancelRequested;
                    user_job.Finished        -= OnFinished;
                    user_job.Finish();
                    user_job = null;
                }

                if (transcoder != null)
                {
                    transcoder.Finish();
                    transcoder = null;
                }

                foreach (TranscodeContext context in queue)
                {
                    context.CancelledHandler();
                }

                if (transcoding)
                {
                    current_context.CancelledHandler();
                    transcoding = false;
                }

                queue.Clear();
            }
        }