update FFME to fix IsDisposed issue: unosquare/ffmediaelement#147

This commit is contained in:
Paddy Xu
2018-02-01 20:35:17 +02:00
parent 804876a987
commit aa716dd04b
6 changed files with 2125 additions and 1549 deletions

View File

@@ -111,26 +111,7 @@ namespace QuickLook.Plugin.VideoViewer
try
{
CoverArt = null;
if (mediaElement.IsOpening)
{
void DelayedDisposeEvent(object sender, PropertyChangedEventArgs propertyChangedEventArgs)
{
var me = (Unosquare.FFME.MediaElement) sender;
if (propertyChangedEventArgs.PropertyName != nameof(me.IsPlaying))
return;
if (me.IsPlaying != true)
return;
me.PropertyChanged -= DelayedDisposeEvent;
me.IsMuted = true;
Task.Delay(200).ContinueWith(t => me.Dispose());
}
mediaElement.PropertyChanged += DelayedDisposeEvent;
}
else
mediaElement.Dispose();
mediaElement.Dispose();
mediaElement = null;
}
@@ -252,11 +233,11 @@ namespace QuickLook.Plugin.VideoViewer
public void LoadAndPlay(string path)
{
UpdateMeta(path);
mediaElement.Source = new Uri(path);
mediaElement.Volume = 0.5;
mediaElement.Source = new Uri(path);
mediaElement.Play();
mediaElement.MediaOpened += (sender, e) => mediaElement?.Play();
}
[NotifyPropertyChangedInvocator]

File diff suppressed because it is too large Load Diff