From c1f79a3aca653b5fcc9ac6c8ec5cf7af4d020272 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Wed, 3 Jun 2026 12:29:43 -0400 Subject: [PATCH] fix: align player cascade type to IStreamingPlayerService so consumers stop receiving null --- .../Controls/AudioPlayerProvider.razor.cs | 8 ++++---- DeepDrftPublic.Client/Pages/Home.razor | 2 +- DeepDrftPublic.Client/Pages/TracksView.razor.cs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs b/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs index 707fe41..2e56bbf 100644 --- a/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs +++ b/DeepDrftPublic.Client/Controls/AudioPlayerProvider.razor.cs @@ -11,7 +11,7 @@ public partial class AudioPlayerProvider : ComponentBase, IAsyncDisposable [Inject] public required TrackMediaClient TrackMediaClient { get; set; } [Inject] public required ILogger Logger { get; set; } - private StreamingAudioPlayerService? _audioPlayerService; + private IStreamingPlayerService? _audioPlayerService; [Parameter] public RenderFragment? ChildContent { get; set; } @@ -38,10 +38,10 @@ public partial class AudioPlayerProvider : ComponentBase, IAsyncDisposable /// public async ValueTask DisposeAsync() { - if (_audioPlayerService != null) + if (_audioPlayerService is IAsyncDisposable disposable) { - await _audioPlayerService.DisposeAsync(); - _audioPlayerService = null; + await disposable.DisposeAsync(); } + _audioPlayerService = null; } } diff --git a/DeepDrftPublic.Client/Pages/Home.razor b/DeepDrftPublic.Client/Pages/Home.razor index 9e91c5b..385fa4e 100644 --- a/DeepDrftPublic.Client/Pages/Home.razor +++ b/DeepDrftPublic.Client/Pages/Home.razor @@ -226,5 +226,5 @@ @code { - [CascadingParameter] public IPlayerService? Player { get; set; } + [CascadingParameter] public IStreamingPlayerService? Player { get; set; } } diff --git a/DeepDrftPublic.Client/Pages/TracksView.razor.cs b/DeepDrftPublic.Client/Pages/TracksView.razor.cs index 95e661b..316e807 100644 --- a/DeepDrftPublic.Client/Pages/TracksView.razor.cs +++ b/DeepDrftPublic.Client/Pages/TracksView.razor.cs @@ -9,7 +9,7 @@ namespace DeepDrftPublic.Client.Pages; public partial class TracksView : ComponentBase { [Inject] public required TracksViewModel ViewModel { get; set; } - [CascadingParameter] public required IPlayerService PlayerService { get; set; } + [CascadingParameter] public required IStreamingPlayerService PlayerService { get; set; } private TrackDto? _selectedTrack = null; private int _clickCount = 0;