diff --git a/.github/workflows/package_on_release.yml b/.github/workflows/package_on_release.yml index fd1e97b..9126742 100644 --- a/.github/workflows/package_on_release.yml +++ b/.github/workflows/package_on_release.yml @@ -28,18 +28,18 @@ jobs: run: dotnet restore - name: Build - run: dotnet build --configuration Debug --no-restore + run: dotnet build --configuration Release --no-restore - name: Test run: dotnet test --no-build --verbosity normal - name: Pack - run: dotnet pack --no-build --configuration Debug + run: dotnet pack --no-build --configuration Release - name: Push NuGet run: dotnet nuget push "**/*.nupkg" --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate - name: Push GitHub - run: nuget.exe push "**/*.nupkg" -NoSymbols -SkipDuplicate + run: nuget.exe push "**/*.nupkg" -SkipDuplicate env: NUGET_AUTH_TOKEN: ${{ github.token }} diff --git a/BlazorCameraStreamer/BlazorCameraStreamer.csproj b/BlazorCameraStreamer/BlazorCameraStreamer.csproj index 7c7614a..70141cf 100644 --- a/BlazorCameraStreamer/BlazorCameraStreamer.csproj +++ b/BlazorCameraStreamer/BlazorCameraStreamer.csproj @@ -3,20 +3,25 @@ net6.0;net7.0 BlazorCameraStreamer + BlazorCameraStreamer BlazorCameraStreamer - 3.0.0 + 3.0.1 Baltermia Clopath LICENSE.md - https://github.com/baltermia/blazor-camera-streamer/ - git A Blazor Component library that adds a easy-to-use camera-streaming functionality, which allows you to receive the streamed data. Updated to support .NET6 and .NET7. .NET5 support is deprecated. Copyright (c) 2023 Baltermia Clopath true - BlazorCameraStreamer NUGET-README.md + + true + snupkg + true + true - + true + + https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json; https://dotnet.myget.org/F/blazor-dev/api/v3/index.json; @@ -40,6 +45,7 @@ + diff --git a/BlazorCameraStreamer/Components/CameraStreamer.razor.cs b/BlazorCameraStreamer/Components/CameraStreamer.razor.cs index 378a177..65c5c86 100644 --- a/BlazorCameraStreamer/Components/CameraStreamer.razor.cs +++ b/BlazorCameraStreamer/Components/CameraStreamer.razor.cs @@ -71,6 +71,7 @@ namespace BlazorCameraStreamer private CameraStreamerController streamerApi; + /// protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) @@ -98,24 +99,31 @@ public async Task ReloadAsync() await StartAsync(); } + /// public async Task StartAsync(string camera = null) => await streamerApi.StartAsync(camera ?? CameraID); + /// public async Task StopAsync() => await streamerApi.StopAsync(); + /// public async Task ChangeCameraAsync(string newId) => await streamerApi.ChangeCameraAsync(CameraID = newId); + /// public async Task GetCameraAccessAsync() => await streamerApi.GetCameraAccessAsync(); + /// public async Task GetCameraDevicesAsync() => await streamerApi.GetCameraDevicesAsync(); + /// public ValueTask GetCurrentFrameAsync() => streamerApi.GetCurrentFrameAsync(); + /// public async ValueTask DisposeAsync() => // Check null for streamerApi as otherwise a exception is thrown on page-refresh await (streamerApi?.DisposeAsync() ?? ValueTask.CompletedTask); diff --git a/BlazorCameraStreamer/Controllers/CameraStreamerController.cs b/BlazorCameraStreamer/Controllers/CameraStreamerController.cs index 1d8b27a..037a704 100644 --- a/BlazorCameraStreamer/Controllers/CameraStreamerController.cs +++ b/BlazorCameraStreamer/Controllers/CameraStreamerController.cs @@ -70,32 +70,38 @@ public async Task InitializeAsync(ElementReference videoReference, int width = 6 IsInitialized = true; } + /// public async Task StartAsync(string camera = null) { // Use the first found camera if no camrea is given await JSObject.InvokeVoidAsync("start", camera ?? (await GetCameraDevicesAsync()).FirstOrDefault()?.DeviceId); } + /// public async Task StopAsync() { await JSObject.InvokeVoidAsync("stop"); } + /// public async Task ChangeCameraAsync(string newId) { await JSObject.InvokeVoidAsync("changeCamera", newId); } + /// public async Task GetCameraAccessAsync() { return await JSRuntime.InvokeAsync(StaticInteropPath + ".getCameraAccess"); } + /// public async Task GetCameraDevicesAsync() { return await GetCameraDevicesAsync(JSRuntime); } + /// public async ValueTask DisposeAsync() { if (IsInitialized && JSObject != null) @@ -106,6 +112,7 @@ public async ValueTask DisposeAsync() } } + /// public ValueTask GetCurrentFrameAsync() { return JSObject.InvokeAsync("getCurrentFrame");