/// <summary> /// Starts an encode, given a VidCoder job and some extra data. /// </summary> /// <param name="job">The VidCoder job to run.</param> /// <param name="previewNumber">The preview number to run.</param> /// <param name="previewSeconds">The number of seconds the preview should be.</param> /// <param name="defaultChapterNameFormat">The default format for chapter names.</param> public void StartEncode( VCJob job, int previewNumber, int previewSeconds, string defaultChapterNameFormat) { this.StartEncodeInternal( job.SourcePath, job.Title, scanObject => { SourceTitle encodeTitle = scanObject.TitleList.FirstOrDefault(title => title.Index == job.Title); if (encodeTitle != null) { JsonEncodeFactory factory = new JsonEncodeFactory(ServiceLocator.Current.GetInstance <ILogger>()); JsonEncodeObject encodeObject = factory.CreateJsonObject( job, encodeTitle, defaultChapterNameFormat, previewNumber, previewSeconds, this.passedPreviewCount); return(JsonConvert.SerializeObject(encodeObject, JsonSettings.HandBrakeJsonSerializerSettings)); } else { return(null); } }); }
public Task StartEncodeAsync( VCJob job, IAppLogger logger, bool preview, int previewNumber, int previewSeconds, double overallSelectedLengthSeconds) { this.logger = logger; this.StartEncodeInternal( job.SourcePath, job.Title, scanObject => { SourceTitle encodeTitle = scanObject.TitleList.FirstOrDefault(title => title.Index == job.Title); if (encodeTitle != null) { JsonEncodeFactory factory = new JsonEncodeFactory(logger); JsonEncodeObject jsonEncodeObject = factory.CreateJsonObject( job, encodeTitle, EncodingRes.DefaultChapterName, preview ? previewNumber : -1, previewSeconds, Config.PreviewCount); return(JsonConvert.SerializeObject(jsonEncodeObject, JsonSettings.HandBrakeJsonSerializerSettings)); } else { return(null); } }); return(Task.CompletedTask); }