From fbf8cc833c441de8890998600be044296acfc783 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Tue, 21 Aug 2012 22:50:59 -0400 Subject: a few more async optimizations --- MediaBrowser.Controller/Kernel.cs | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'MediaBrowser.Controller/Kernel.cs') diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs index a24571d87..fa2baafbc 100644 --- a/MediaBrowser.Controller/Kernel.cs +++ b/MediaBrowser.Controller/Kernel.cs @@ -68,21 +68,17 @@ namespace MediaBrowser.Controller public async override Task Init(IProgress progress) { - await Task.Run(async () => - { - await base.Init(progress).ConfigureAwait(false); + ExtractFFMpeg(); + + await base.Init(progress).ConfigureAwait(false); - progress.Report(new TaskProgress() { Description = "Loading Users", PercentComplete = 15 }); - ReloadUsers(); + progress.Report(new TaskProgress() { Description = "Loading Users", PercentComplete = 15 }); + ReloadUsers(); - progress.Report(new TaskProgress() { Description = "Extracting FFMpeg", PercentComplete = 20 }); - await ExtractFFMpeg().ConfigureAwait(false); + progress.Report(new TaskProgress() { Description = "Loading Media Library", PercentComplete = 25 }); + await ReloadRoot().ConfigureAwait(false); - progress.Report(new TaskProgress() { Description = "Loading Media Library", PercentComplete = 25 }); - await ReloadRoot().ConfigureAwait(false); - - progress.Report(new TaskProgress() { Description = "Loading Complete", PercentComplete = 100 }); - }).ConfigureAwait(false); + progress.Report(new TaskProgress() { Description = "Loading Complete", PercentComplete = 100 }); } protected override void OnComposablePartsLoaded() @@ -245,22 +241,21 @@ namespace MediaBrowser.Controller continue; } - await provider.Fetch(item, args).ConfigureAwait(false); + await provider.FetchAsync(item, args).ConfigureAwait(false); } } + private void ExtractFFMpeg() + { + ExtractFFMpeg(ApplicationPaths.FFMpegPath); + ExtractFFMpeg(ApplicationPaths.FFProbePath); + } + /// /// Run these during Init. /// Can't run do this on-demand because there will be multiple workers accessing them at once and we'd have to lock them /// - private async Task ExtractFFMpeg() - { - // FFMpeg.exe - await ExtractFFMpeg(ApplicationPaths.FFMpegPath).ConfigureAwait(false); - await ExtractFFMpeg(ApplicationPaths.FFProbePath).ConfigureAwait(false); - } - - private async Task ExtractFFMpeg(string exe) + private async void ExtractFFMpeg(string exe) { if (File.Exists(exe)) { -- cgit v1.2.3