namespace ytLive.Services;

/// <summary>
/// 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.
/// </summary>
public interface ICameraFrameSource
{
    string DeviceId { get; }
    event Action<VideoFrame>? FrameAvailable;
    Task StartAsync();
    Task StopAsync();
}
