/// </summary>\r
public const string HandBrakeBuild = "HandBrakeBuild";\r
\r
- /// <summary>\r
- /// Disable Libdvdnav\r
- /// </summary>\r
- public const string DisableLibDvdNav = "DisableLibDvdNav";\r
-\r
/// <summary>\r
/// Min Title Scan Duration\r
/// </summary>\r
<Compile Include="Isolation\BackgroundServiceConnector.cs" />\r
<Compile Include="Isolation\IsolatedEncodeService.cs" />\r
<Compile Include="LibHb\AudioVideoHelpers.cs" />\r
+ <Compile Include="Model\HBConfiguration.cs" />\r
<Compile Include="Model\VideoScaler.cs" />\r
<Compile Include="Services\Interfaces\IEncodeServiceWrapper.cs" />\r
<Compile Include="Services\Interfaces\IHbServiceCallback.cs" />\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable Logging.\r
- /// </param>\r
- public void Start(QueueTask job, bool enableLogging)\r
+ public void Start(QueueTask job)\r
{\r
ThreadPool.QueueUserWorkItem(\r
- delegate { this.Service.StartEncode(job, enableLogging); });\r
+ delegate { this.Service.StartEncode(job); });\r
}\r
\r
/// <summary>\r
--- /dev/null
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="HBConfiguration.cs" company="HandBrake Project (http://handbrake.fr)">\r
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+// HandBrakes Configuration options\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrake.ApplicationServices.Model\r
+{\r
+ /// <summary>\r
+ /// HandBrakes configuration options\r
+ /// </summary>\r
+ public class HBConfiguration\r
+ {\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether is logging enabled.\r
+ /// </summary>\r
+ public bool IsLoggingEnabled { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether is dvd nav disabled.\r
+ /// </summary>\r
+ public bool IsDvdNavDisabled { get; set; }\r
+ }\r
+}\r
}\r
\r
/// <summary>\r
- /// Gets or sets ScannedSource.\r
+ /// Initializes a new instance of the <see cref="QueueTask"/> class.\r
/// </summary>\r
- public Source ScannedSource { get; set; } \r
+ /// <param name="task">\r
+ /// The task.\r
+ /// </param>\r
+ /// <param name="configuration">\r
+ /// The configuration.\r
+ /// </param>\r
+ public QueueTask(EncodeTask task, HBConfiguration configuration)\r
+ {\r
+ this.Task = task;\r
+ this.Configuration = configuration;\r
+ this.Status = QueueItemStatus.Waiting;\r
+ }\r
\r
/// <summary>\r
- /// Gets or sets a value indicating whether if this is a user or GUI generated query\r
+ /// Gets or sets ScannedSource.\r
/// </summary>\r
- public bool CustomQuery { get; set; }\r
+ public Source ScannedSource { get; set; } \r
\r
/// <summary>\r
/// Gets or sets Status.\r
}\r
\r
/// <summary>\r
- /// Gets or sets the Encode Task.\r
+ /// Gets the task.\r
/// </summary>\r
public EncodeTask Task { get; set; }\r
\r
+ /// <summary>\r
+ /// Gets the configuration.\r
+ /// </summary>\r
+ public HBConfiguration Configuration { get; set; }\r
+\r
#endregion\r
\r
/// <summary>\r
/// </returns>\r
protected bool Equals(QueueTask other)\r
{\r
- return Equals(this.ScannedSource, other.ScannedSource) && this.CustomQuery.Equals(other.CustomQuery) && Equals(this.Task, other.Task) && this.status == other.status;\r
+ return Equals(this.ScannedSource, other.ScannedSource) && Equals(this.Task, other.Task) && this.status == other.status;\r
}\r
\r
/// <summary>\r
unchecked\r
{\r
int hashCode = (this.ScannedSource != null ? this.ScannedSource.GetHashCode() : 0);\r
- hashCode = (hashCode * 397) ^ this.CustomQuery.GetHashCode();\r
hashCode = (hashCode * 397) ^ (this.Task != null ? this.Task.GetHashCode() : 0);\r
hashCode = (hashCode * 397) ^ (int)this.status;\r
return hashCode;\r
string query = QueryGeneratorUtility.GenerateQuery(new EncodeTask(encodeQueueTask.Task),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.Verbosity),\r
- userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav),\r
+ encodeQueueTask.Configuration.IsDvdNavDisabled,\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableQuickSyncDecoding),\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.EnableDxva),\r
userSettingService.GetUserSetting<VideoScaler>(ASUserSettingConstants.ScalingMode) == VideoScaler.BicubicCl);\r
this.logBuffer = new StringBuilder();\r
this.logBuffer.AppendLine(String.Format("CLI Query: {0}", query));\r
- this.logBuffer.AppendLine(String.Format("User Query: {0}", encodeQueueTask.CustomQuery));\r
this.logBuffer.AppendLine();\r
\r
// Clear the current Encode Logs)\r
this.fileWriter = new StreamWriter(logFile) { AutoFlush = true };\r
this.fileWriter.WriteLine(header);\r
this.fileWriter.WriteLine(string.Format("CLI Query: {0}", query));\r
- this.fileWriter.WriteLine(string.Format("User Query: {0}", encodeQueueTask.CustomQuery));\r
this.fileWriter.WriteLine();\r
}\r
catch (Exception)\r
/// <param name="encodeQueueTask">\r
/// The encodeQueueTask.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// Enable Logging. When Disabled we onlt parse Standard Ouput for progress info. Standard Error log data is ignored.\r
- /// </param>\r
- public void Start(QueueTask encodeQueueTask, bool enableLogging)\r
+ public void Start(QueueTask encodeQueueTask)\r
{\r
try\r
{\r
this.IsEncoding = true;\r
this.currentTask = encodeQueueTask;\r
\r
- if (enableLogging)\r
+ if (encodeQueueTask.Configuration.IsLoggingEnabled)\r
{\r
try\r
{\r
this.currentTask.Task.PreviewEncodeStartAt,\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.Verbosity),\r
- userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav),\r
+ encodeQueueTask.Configuration.IsDvdNavDisabled,\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableQuickSyncDecoding))\r
: QueryGeneratorUtility.GenerateQuery(new EncodeTask(this.currentTask.Task),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.Verbosity),\r
- userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav),\r
+ encodeQueueTask.Configuration.IsDvdNavDisabled,\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableQuickSyncDecoding),\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.EnableDxva),\r
userSettingService.GetUserSetting<VideoScaler>(ASUserSettingConstants.ScalingMode) == VideoScaler.BicubicCl);\r
ProcessStartInfo cliStart = new ProcessStartInfo(handbrakeCLIPath, query)\r
{\r
RedirectStandardOutput = true,\r
- RedirectStandardError = enableLogging,\r
+ RedirectStandardError = encodeQueueTask.Configuration.IsLoggingEnabled,\r
UseShellExecute = false,\r
CreateNoWindow = true\r
};\r
\r
this.startTime = DateTime.Now;\r
\r
- if (enableLogging)\r
+ if (encodeQueueTask.Configuration.IsLoggingEnabled)\r
{\r
this.HbProcess.ErrorDataReceived += this.HbProcErrorDataReceived;\r
this.HbProcess.BeginErrorReadLine();\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable Logging.\r
- /// </param>\r
- void Start(QueueTask job, bool enableLogging);\r
+ void Start(QueueTask job);\r
\r
/// <summary>\r
/// The pause.\r
using System;\r
\r
using HandBrake.ApplicationServices.EventArgs;\r
+ using HandBrake.ApplicationServices.Model;\r
using HandBrake.ApplicationServices.Parsing;\r
\r
/// <summary>\r
/// <param name="postAction">\r
/// The post Action.\r
/// </param>\r
- void Scan(string sourcePath, int title, int previewCount, Action<bool> postAction);\r
+ /// <param name="configuration">\r
+ /// The configuraiton.\r
+ /// </param>\r
+ void Scan(string sourcePath, int title, int previewCount, Action<bool> postAction, HBConfiguration configuration);\r
\r
/// <summary>\r
/// Kill the scan\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable logging.\r
- /// </param>\r
[OperationContract]\r
- void StartEncode(QueueTask job, bool enableLogging);\r
+ void StartEncode(QueueTask job);\r
\r
/// <summary>\r
/// The process encode logs.\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable Logging.\r
- /// </param>\r
- public void Start(QueueTask job, bool enableLogging)\r
+ public void Start(QueueTask job)\r
{\r
// Setup\r
this.startTime = DateTime.Now;\r
- this.loggingEnabled = enableLogging;\r
+ this.loggingEnabled = job.Configuration.IsLoggingEnabled;\r
this.currentTask = job;\r
\r
// Create a new HandBrake instance\r
this.IsEncoding = true;\r
\r
// Enable logging if required.\r
- if (enableLogging)\r
+ if (job.Configuration.IsLoggingEnabled)\r
{\r
try\r
{\r
using System.Text;\r
\r
using HandBrake.ApplicationServices.EventArgs;\r
+ using HandBrake.ApplicationServices.Model;\r
using HandBrake.ApplicationServices.Model.Encoding;\r
using HandBrake.ApplicationServices.Parsing;\r
using HandBrake.ApplicationServices.Services.Interfaces;\r
/// <param name="postAction">\r
/// The post Action.\r
/// </param>\r
- public void Scan(string sourcePath, int title, int previewCount, Action<bool> postAction)\r
+ /// <param name="configuraiton">\r
+ /// The configuraiton.\r
+ /// </param>\r
+ public void Scan(string sourcePath, int title, int previewCount, Action<bool> postAction, HBConfiguration configuraiton)\r
{\r
// Try to cleanup any previous scan instances.\r
if (instance != null)\r
instance.ScanCompleted += this.InstanceScanCompleted;\r
\r
// Start the scan on a back\r
- this.ScanSource(sourcePath, title, previewCount);\r
+ this.ScanSource(sourcePath, title, previewCount, configuraiton);\r
}\r
\r
/// <summary>\r
/// <param name="previewCount">\r
/// The preview Count.\r
/// </param>\r
- private void ScanSource(object sourcePath, int title, int previewCount)\r
+ /// <param name="configuraiton">\r
+ /// The configuraiton.\r
+ /// </param>\r
+ private void ScanSource(object sourcePath, int title, int previewCount, HBConfiguration configuraiton)\r
{\r
try\r
{\r
TimeSpan.FromSeconds(\r
this.userSettingService.GetUserSetting<int>(ASUserSettingConstants.MinScanDuration));\r
\r
- HandBrakeUtils.SetDvdNav(!this.userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav));\r
+ HandBrakeUtils.SetDvdNav(!configuraiton.IsDvdNavDisabled);\r
\r
this.instance.StartScan(sourcePath.ToString(), previewCount, minDuration, title != 0 ? title : 0);\r
}\r
if (job != null)\r
{\r
this.InvokeJobProcessingStarted(new QueueProgressEventArgs(job));\r
- this.EncodeService.Start(job, true);\r
+ this.EncodeService.Start(job);\r
}\r
else\r
{\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable logging.\r
- /// </param>\r
- public void StartEncode(QueueTask job, bool enableLogging)\r
+ public void StartEncode(QueueTask job)\r
{\r
Console.WriteLine("Starting Source Encode for: " + job.Task.Source);\r
encodeService.EncodeCompleted += this.EncodeServiceEncodeCompleted;\r
encodeService.EncodeStarted += this.encodeService_EncodeStarted;\r
encodeService.EncodeStatusChanged += this.encodeService_EncodeStatusChanged;\r
- encodeService.Start(job, enableLogging);\r
+ encodeService.Start(job);\r
}\r
\r
/// <summary>\r
{\r
query += string.Format(" -x {0}", task.ExtraAdvancedArguments);\r
}\r
- }
- }
-
- // QSV Only
- if (task.VideoEncoder == VideoEncoder.QuickSync)
- {
- query += string.Format(" --qsv-preset={0}", task.QsvPreset.ToString().ToLower());
- }
-
- // options that apply to all encoders
- if (!string.IsNullOrEmpty(task.AdvancedEncoderOptions))
- {
- query += string.Format(" -x {0}", task.AdvancedEncoderOptions);
- }
-
- // Options that apply to both x264 and QuickSync
- if (task.VideoEncoder == VideoEncoder.QuickSync || task.VideoEncoder == VideoEncoder.X264)
- {
+ }\r
+ }\r
+\r
+ // QSV Only\r
+ if (task.VideoEncoder == VideoEncoder.QuickSync)\r
+ {\r
+ query += string.Format(" --qsv-preset={0}", task.QsvPreset.ToString().ToLower());\r
+ }\r
+\r
+ // options that apply to all encoders\r
+ if (!string.IsNullOrEmpty(task.AdvancedEncoderOptions))\r
+ {\r
+ query += string.Format(" -x {0}", task.AdvancedEncoderOptions);\r
+ }\r
+\r
+ // Options that apply to both x264 and QuickSync\r
+ if (task.VideoEncoder == VideoEncoder.QuickSync || task.VideoEncoder == VideoEncoder.X264)\r
+ {\r
// when using x264 with the advanced panel, the H.264 profile/level widgets are disabled\r
if (!(task.VideoEncoder == VideoEncoder.X264 && task.ShowAdvancedTab))\r
{\r
if (task.H264Profile != x264Profile.None)\r
{\r
query += string.Format(\r
- " --h264-profile={0} ", task.H264Profile.ToString().ToLower().Replace(" ", string.Empty));
- }
- }
- }
-
- return query;
- }
-
- /// <summary>
+ " --h264-profile={0} ", task.H264Profile.ToString().ToLower().Replace(" ", string.Empty));\r
+ }\r
+ }\r
+ }\r
+\r
+ return query;\r
+ }\r
+\r
+ /// <summary>\r
/// Generate the Command Line Arguments for any additional advanced options.\r
/// </summary>\r
/// <param name="verbosity">\r
--- /dev/null
+// --------------------------------------------------------------------------------------------------------------------\r
+// <copyright file="HBConfigurationFactory.cs" company="HandBrake Project (http://handbrake.fr)">\r
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.\r
+// </copyright>\r
+// <summary>\r
+// HBConfiguration Factory\r
+// </summary>\r
+// --------------------------------------------------------------------------------------------------------------------\r
+\r
+namespace HandBrakeWPF.Factories\r
+{\r
+ using Caliburn.Micro;\r
+\r
+ using HandBrake.ApplicationServices.Model;\r
+ using HandBrake.ApplicationServices.Services.Interfaces;\r
+\r
+ /// <summary>\r
+ /// HBConfiguration Factory\r
+ /// </summary>\r
+ public class HBConfigurationFactory\r
+ {\r
+ /// <summary>\r
+ /// The user setting service.\r
+ /// </summary>\r
+ private static readonly IUserSettingService UserSettingService = IoC.Get<IUserSettingService>();\r
+\r
+ /// <summary>\r
+ /// The create.\r
+ /// </summary>\r
+ /// <param name="isLoggingEnabled">\r
+ /// The is logging enabled.\r
+ /// </param>\r
+ /// <returns>\r
+ /// The <see cref="HBConfiguration"/>.\r
+ /// </returns>\r
+ public static HBConfiguration Create(bool isLoggingEnabled)\r
+ {\r
+ HBConfiguration config = new HBConfiguration\r
+ {\r
+ IsDvdNavDisabled = UserSettingService.GetUserSetting<bool>(UserSettingConstants.DisableLibDvdNav),\r
+ IsLoggingEnabled = isLoggingEnabled\r
+ };\r
+\r
+ return config;\r
+ }\r
+\r
+ /// <summary>\r
+ /// The create.\r
+ /// </summary>\r
+ /// <returns>\r
+ /// The <see cref="HBConfiguration"/>.\r
+ /// </returns>\r
+ public static HBConfiguration Create()\r
+ {\r
+ return Create(true);\r
+ }\r
+ }\r
+}\r
<Compile Include="Constants.cs" />\r
<Compile Include="Controls\SplitButton\SplitMenuButton.cs" />\r
<Compile Include="Converters\Video\ScalingConverter.cs" />\r
+ <Compile Include="Factories\HBConfigurationFactory.cs" />\r
<Compile Include="ViewModels\CountdownAlertViewModel.cs" />\r
<Compile Include="ViewModels\Interfaces\ICountdownAlertViewModel.cs" />\r
<Compile Include="Views\CountdownAlertView.xaml.cs">\r
/// <param name="job">\r
/// The job.\r
/// </param>\r
- /// <param name="enableLogging">\r
- /// The enable Logging.\r
- /// </param>\r
- public void Start(QueueTask job, bool enableLogging)\r
+ public void Start(QueueTask job)\r
{\r
- this.encodeService.Start(job, enableLogging);\r
+ this.encodeService.Start(job);\r
}\r
\r
/// <summary>\r
/// </summary>\r
public const string AddForeignAudioScanTrack = "AddForeignAudioScanTrack";\r
\r
+ /// <summary>\r
+ /// The disable lib dvd nav.\r
+ /// </summary>\r
+ public const string DisableLibDvdNav = "DisableLibDvdNav";\r
+\r
#endregion\r
}\r
}
\ No newline at end of file
using HandBrake.ApplicationServices.Utilities;\r
\r
using HandBrakeWPF.Commands;\r
+ using HandBrakeWPF.Factories;\r
using HandBrakeWPF.Helpers;\r
using HandBrakeWPF.Model;\r
using HandBrakeWPF.Services.Interfaces;\r
filename, \r
title, \r
this.UserSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount), \r
- null);\r
+ null,\r
+ HBConfigurationFactory.Create());\r
}\r
}\r
\r
using HandBrake.ApplicationServices.Utilities;\r
\r
using HandBrakeWPF.Commands;\r
+ using HandBrakeWPF.Factories;\r
using HandBrakeWPF.Helpers;\r
using HandBrakeWPF.Model;\r
using HandBrakeWPF.Properties;\r
return;\r
}\r
\r
- QueueTask task = new QueueTask { Task = new EncodeTask(this.CurrentTask) };\r
+ QueueTask task = new QueueTask(new EncodeTask(this.CurrentTask), HBConfigurationFactory.Create());\r
if (!this.queueProcessor.CheckForDestinationPathDuplicates(task.Task.Destination))\r
{\r
this.queueProcessor.Add(task);\r
}\r
\r
// Create the Queue Task and Start Processing\r
- QueueTask task = new QueueTask\r
- {\r
- Task = new EncodeTask(this.CurrentTask),\r
- CustomQuery = false\r
- };\r
+ QueueTask task = new QueueTask(new EncodeTask(this.CurrentTask), HBConfigurationFactory.Create());\r
this.queueProcessor.Add(task);\r
this.queueProcessor.Start();\r
this.IsEncoding = true;\r
{\r
// Rescan the source to make sure it's still valid\r
this.queueEditTask = task;\r
- this.scanService.Scan(task.Source, task.Title, this.UserSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount), QueueEditAction);\r
+ this.scanService.Scan(task.Source, task.Title, this.UserSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount), QueueEditAction, HBConfigurationFactory.Create());\r
}\r
\r
/// <summary>\r
QueryGeneratorUtility.GenerateQuery(this.CurrentTask,\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount),\r
userSettingService.GetUserSetting<int>(ASUserSettingConstants.Verbosity),\r
- userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav),\r
+ HBConfigurationFactory.Create().IsDvdNavDisabled,\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableQuickSyncDecoding),\r
userSettingService.GetUserSetting<bool>(ASUserSettingConstants.EnableDxva),\r
userSettingService.GetUserSetting<VideoScaler>(ASUserSettingConstants.ScalingMode) == VideoScaler.BicubicCl),\r
{\r
if (!string.IsNullOrEmpty(filename))\r
{\r
- this.scanService.Scan(filename, title, this.UserSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount), null);\r
+ this.scanService.Scan(filename, title, this.UserSettingService.GetUserSetting<int>(ASUserSettingConstants.PreviewScanCount), null, HBConfigurationFactory.Create());\r
}\r
}\r
\r
this.MinLength = this.userSettingService.GetUserSetting<int>(ASUserSettingConstants.MinScanDuration);\r
\r
// Use dvdnav\r
- this.DisableLibdvdNav = userSettingService.GetUserSetting<bool>(ASUserSettingConstants.DisableLibDvdNav);\r
+ this.DisableLibdvdNav = userSettingService.GetUserSetting<bool>(UserSettingConstants.DisableLibDvdNav);\r
\r
int port;\r
int.TryParse(userSettingService.GetUserSetting<string>(UserSettingConstants.ServerPort), out port);\r
this.userSettingService.SetUserSetting(ASUserSettingConstants.MinScanDuration, value);\r
}\r
\r
- userSettingService.SetUserSetting(ASUserSettingConstants.DisableLibDvdNav, this.DisableLibdvdNav);\r
+ userSettingService.SetUserSetting(UserSettingConstants.DisableLibDvdNav, this.DisableLibdvdNav);\r
userSettingService.SetUserSetting(UserSettingConstants.EnableProcessIsolation, this.EnableProcessIsolation);\r
userSettingService.SetUserSetting(UserSettingConstants.ServerPort, this.ServerPort.ToString(CultureInfo.InvariantCulture));\r
userSettingService.SetUserSetting(UserSettingConstants.EnableLibHb, this.EnableLibHb);\r
using HandBrake.ApplicationServices.Model.Encoding;\r
using HandBrake.ApplicationServices.Services.Interfaces;\r
\r
+ using HandBrakeWPF.Factories;\r
using HandBrakeWPF.Services;\r
using HandBrakeWPF.Services.Interfaces;\r
using HandBrakeWPF.ViewModels.Interfaces;\r
encodeTask.IsPreviewEncode = true;\r
encodeTask.PreviewEncodeStartAt = this.StartAt.ToString(CultureInfo.InvariantCulture);\r
encodeTask.PreviewEncodeDuration = this.Duration;\r
- QueueTask task = new QueueTask\r
- {\r
- Task = encodeTask,\r
- };\r
-\r
+ QueueTask task = new QueueTask(encodeTask, HBConfigurationFactory.Create(false));\r
ThreadPool.QueueUserWorkItem(this.CreatePreview, task);\r
}\r
\r
this.encodeService.EncodeCompleted += this.encodeService_EncodeCompleted;\r
this.encodeService.EncodeStatusChanged += this.encodeService_EncodeStatusChanged;\r
\r
- this.encodeService.Start((QueueTask)state, false);\r
+ this.encodeService.Start((QueueTask)state);\r
this.userSettingService.SetUserSetting(UserSettingConstants.LastPreviewDuration, this.Duration);\r
}\r
#endregion\r