private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (whenStarted.Ticks > 0)
{
TimeSpan ts = DateTime.Now.Subtract(whenStarted);
this.RemuxProgressTimeTextBox.Text = "elapsed: " + ts.TotalSeconds.ToString("#.00") + " sec.";
}
RemuxButton.Text = "Remux";
InputFileBrowseButton.Enabled = true;
OutputFileBrowseButton.Enabled = true;
InputFileTextBox.Enabled = true;
OutputFileTextBox.Enabled = true;
FormatBox.Enabled = true;
TsFormatRadioButton.Enabled = true;
MKVFormatRadioButton.Enabled = true;
DemuxFormatRadioButton.Enabled = true;
cbxUseAsyncIO.Enabled = true;
cbxBypassAudioProcessing.Enabled = true;
EnableCbxMlp();
if (length > TimeSpan.Zero)
{
M2tsFormatRadioButton.Enabled = true;
BluRayFormatRadioButton.Enabled = true;
}
Quit.Enabled = true;
ElementaryStreamsListBox.Enabled = true;
if (length > TimeSpan.Zero)
EnableNumerics();
this.Cursor = Cursors.Default;
state = SaveState.Remux;
elmName = String.Empty;
elmPid = 0;
/***********
* some artifact of the remux process causes extreme performance degradation, IF
* you just re-remux the same file over again. re-opening the input seems to
* clear this condition. So here we force user to do that in order to re-remux
*/
if (InputFileTextBox.Text.Length > 0 && OutputFileTextBox.Text.Length > 0)
RemuxButton.Enabled = true;
else
RemuxButton.Enabled = false;
// * *********/
//RemuxButton.Enabled = false;
if (e.Error != null)
MessageBox.Show(e.Error.Message + "\n" + e.Error.StackTrace);
}