Skip to content

Commit 69936ec

Browse files
committed
Fix potential threading issues
1 parent 9347a3a commit 69936ec

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

src/CommunityToolkit.Maui.MediaElement/Primitives/Metadata.macios.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public async Task SetMetadata(AVPlayerItem? playerItem, IMediaElement? mediaElem
7777
return;
7878
}
7979
ClearNowPlaying();
80-
var artwork = await MetadataArtworkUrl(mediaElement.MetadataArtworkSource).ConfigureAwait(false);
80+
var artwork = await MetadataArtworkUrl(mediaElement.MetadataArtworkSource);
8181

8282
if (artwork is UIImage image)
8383
{
@@ -184,12 +184,12 @@ MPRemoteCommandHandlerStatus ToggleCommand(MPRemoteCommandEvent? commandEvent)
184184
{
185185
var uri = fileMediaSource.Path;
186186

187-
return await GetBitmapFromFile(uri, cancellationToken).ConfigureAwait(false);
187+
return await GetBitmapFromFile(uri, cancellationToken);
188188
}
189189
else if (artworkUrl is ResourceMediaSource resourceMediaSource)
190190
{
191191
var path = resourceMediaSource.Path;
192-
return await GetBitmapFromResource(path, cancellationToken).ConfigureAwait(false);
192+
return await GetBitmapFromResource(path, cancellationToken);
193193
}
194194
return null;
195195
}
@@ -202,7 +202,7 @@ MPRemoteCommandHandlerStatus ToggleCommand(MPRemoteCommandEvent? commandEvent)
202202
}
203203
using var fileStream = File.OpenRead(resource);
204204
using var memoryStream = new MemoryStream();
205-
await fileStream.CopyToAsync(memoryStream, cancellationToken).ConfigureAwait(false);
205+
await fileStream.CopyToAsync(memoryStream, cancellationToken);
206206
memoryStream.Position = 0;
207207
NSData temp = NSData.FromStream(memoryStream) ?? new NSData();
208208
return UIImage.LoadFromData(temp);
@@ -221,14 +221,14 @@ MPRemoteCommandHandlerStatus ToggleCommand(MPRemoteCommandEvent? commandEvent)
221221
{
222222
return null;
223223
}
224-
using var inputStream = await FileSystem.OpenAppPackageFileAsync(resource).ConfigureAwait(false);
224+
using var inputStream = await FileSystem.OpenAppPackageFileAsync(resource);
225225
using var memoryStream = new MemoryStream();
226226
if (inputStream is null)
227227
{
228228
System.Diagnostics.Trace.TraceInformation($"{inputStream} is null.");
229229
return null;
230230
}
231-
await inputStream.CopyToAsync(memoryStream, cancellationToken).ConfigureAwait(false);
231+
await inputStream.CopyToAsync(memoryStream, cancellationToken);
232232
memoryStream.Position = 0;
233233
NSData? nsdata = NSData.FromStream(memoryStream);
234234
if (nsdata is null)

src/CommunityToolkit.Maui.MediaElement/Views/MediaManager.android.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ protected virtual async partial ValueTask PlatformUpdateSource()
339339
Player.PlayWhenReady = MediaElement.ShouldAutoPlay;
340340
cancellationTokenSource ??= new();
341341
// ConfigureAwait(true) is required to prevent crash on startup
342-
var result = await SetPlayerData(cancellationTokenSource.Token).ConfigureAwait(true);
342+
var result = await SetPlayerData(cancellationTokenSource.Token);
343343
var item = result?.Build();
344344

345345
if (item?.MediaMetadata is not null)
@@ -541,7 +541,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
541541
var uri = uriMediaSource.Uri;
542542
if (!string.IsNullOrWhiteSpace(uri?.AbsoluteUri))
543543
{
544-
return await CreateMediaItem(uri.AbsoluteUri, cancellationToken).ConfigureAwait(false);
544+
return await CreateMediaItem(uri.AbsoluteUri, cancellationToken);
545545
}
546546

547547
break;
@@ -551,7 +551,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
551551
var filePath = fileMediaSource.Path;
552552
if (!string.IsNullOrWhiteSpace(filePath))
553553
{
554-
return await CreateMediaItem(filePath, cancellationToken).ConfigureAwait(false);
554+
return await CreateMediaItem(filePath, cancellationToken);
555555
}
556556

557557
break;
@@ -563,7 +563,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
563563
if (!string.IsNullOrWhiteSpace(path))
564564
{
565565
var assetFilePath = $"asset://{package}{System.IO.Path.PathSeparator}{path}";
566-
return await CreateMediaItem(assetFilePath, cancellationToken).ConfigureAwait(false);
566+
return await CreateMediaItem(assetFilePath, cancellationToken);
567567
}
568568

569569
break;
@@ -580,7 +580,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
580580
MediaMetadata.Builder mediaMetaData = new();
581581
mediaMetaData.SetArtist(MediaElement.MetadataArtist);
582582
mediaMetaData.SetTitle(MediaElement.MetadataTitle);
583-
var data = await GetImageFromMediaSource(MediaElement.MetadataArtworkSource, cancellationToken).ConfigureAwait(true) ?? BlankByteArray();
583+
var data = await GetImageFromMediaSource(MediaElement.MetadataArtworkSource, cancellationToken) ?? BlankByteArray();
584584
mediaMetaData.SetArtworkData(data, (Java.Lang.Integer)MediaMetadata.PictureTypeFrontCover);
585585

586586
mediaItem = new MediaItem.Builder();
@@ -606,7 +606,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
606606
System.Diagnostics.Trace.TraceInformation("Arkwork Uri is null or empty");
607607
return null;
608608
}
609-
return await client.GetByteArrayAsync(uri, cancellationToken).ConfigureAwait(false);
609+
return await client.GetByteArrayAsync(uri, cancellationToken);
610610
}
611611
else if (artworkUrl is FileMediaSource fileMediaSource)
612612
{
@@ -616,7 +616,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
616616
System.Diagnostics.Trace.TraceInformation("Arkwork File path is null or empty");
617617
return null;
618618
}
619-
return await GetByteArrayFromFile(filePath, cancellationToken).ConfigureAwait(false);
619+
return await GetByteArrayFromFile(filePath, cancellationToken);
620620
}
621621
else if (artworkUrl is ResourceMediaSource resourceMediaSource)
622622
{
@@ -627,7 +627,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
627627
System.Diagnostics.Trace.TraceInformation("Arkwork Resource path is null or empty");
628628
return null;
629629
}
630-
return await GetByteArrayFromResource(item).ConfigureAwait(false);
630+
return await GetByteArrayFromResource(item);
631631
}
632632
return null;
633633
}
@@ -641,7 +641,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
641641
return null;
642642
}
643643
using var memoryStream = new MemoryStream();
644-
await stream.CopyToAsync(memoryStream, CancellationToken.None).ConfigureAwait(false);
644+
await stream.CopyToAsync(memoryStream, CancellationToken.None);
645645
var bytes = memoryStream.ToArray();
646646
return bytes;
647647
}
@@ -655,7 +655,7 @@ void StopService(in BoundServiceConnection boundServiceConnection)
655655
}
656656
var stream = File.OpenRead(filePath);
657657
var memoryStream = new MemoryStream();
658-
await stream.CopyToAsync(memoryStream, cancellationToken).ConfigureAwait(false);
658+
await stream.CopyToAsync(memoryStream, cancellationToken);
659659
var bytes = memoryStream.ToArray();
660660
return bytes;
661661
}

src/CommunityToolkit.Maui.MediaElement/Views/MediaManager.macios.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ async ValueTask SetPoster(CancellationToken cancellationToken = default)
503503
{
504504
return;
505505
}
506-
var artwork = await Metadata.MetadataArtworkUrl(MediaElement.MetadataArtworkSource, cancellationToken).ConfigureAwait(false);
506+
var artwork = await Metadata.MetadataArtworkUrl(MediaElement.MetadataArtworkSource, cancellationToken);
507507
if (artwork is null)
508508
{
509509
System.Diagnostics.Trace.TraceInformation($"{artwork} is null.");

0 commit comments

Comments
 (0)