Blazored / Video

The easiest html5 video implementation for Blazor applications
https://blazored.github.io/Video
MIT License
124 stars 28 forks source link

[Bug] NullReferenceException occurs on events when no VideoStateOptions is configured. #31

Open Mike-FB opened 9 months ago

Mike-FB commented 9 months ago

Describe the bug When an event occurs while no VideoStateOptions is set up for the current BlazoredVideo component, a System.NullReferenceException is thrown, caught, and logged in BlazoredVideo.OnChange on line 202. This seems to be because videoData.State is null after being deserialized. I would imagine the fix is to either always initialize the property in the VideoEventData constructor, or not attempt to set the videoData.State.Video property when videoData.State is null.

To Reproduce Steps to reproduce the behavior:

  1. Go to the file 'AllEventsAllOptions.razor' in the project 'SharedRCL' from your own samples.
  2. Change the first line in OnInitialized to var allOptionsEnabled = new VideoStateOptions() { All = false };, setting All from true to false.
  3. Open the devtools and look in console. There should be an System.NullReferenceException.

Expected behavior I would expect it would not attempt to set a property on a null object or that the resulting NullReferenceException is not logged.

Screenshots image

Hosting Model (is this issue happening with a certain hosting model?):

isaranghi commented 2 months ago

I am having the save issue.... I am trying to get the VideoState OnTimeUpdate (as discribed in the readme) and it's always null... I am using

.Net 8 Blazor Server (InteractiveServer) is having the issue Blazor Standalone is having the issue too

any solutions?

Thanks