namespace ytLive.Services; /// /// A running capture source for one device. Raises normalized BGRA frames from /// a worker thread; callers must marshal to the UI thread. Seam so CameraManager /// is testable without WinRT. /// public interface ICameraFrameSource { string DeviceId { get; } event Action? FrameAvailable; Task StartAsync(); Task StopAsync(); }