using GSS2.Core.Hardware; using LibCameraSharp; namespace GSS2.Test.ViewModels; public class CameraViewModel : ViewModelBase { private readonly CameraService _cameraService; private readonly ILogger _logger; public CameraViewModel(CameraService cameraService, ILogger logger) { _cameraService = cameraService; _logger = logger; _logger.LogInformation("{} initialized", nameof(CameraViewModel)); } public async Task<(FrameBuffer, StreamConfiguration)?> CaptureImage(int bufferId) { (FrameBuffer, StreamConfiguration)? result = null; try { result = await _cameraService.CaptureViewFinderBuffer(bufferId, CancellationToken.None); } catch (Exception e) { _logger.LogError(e, "Error while image capture"); } return result; } }