protected virtual void LaptopSourceOnVideoDetected(ASource source, bool videoActive) { if (!System.Booted) { return; } var vcContentSource = Sources.Cast <ASource>() .Where(s => s.Type != SourceType.VideoConference) .OrderByDescending(s => s.VideoInputActive) .ThenByDescending(s => s.Type == SourceType.Laptop) .FirstOrDefault(); RouteCodecPresentationSource(vcContentSource, true); if (!AutoSourceSelectionEnabled) { return; } SetupDisplays(); if (Source != source && videoActive && !InCall) { Source = source; } else if (!InCall) { SelectDefaultSource(); } }
protected virtual void OnVideoStatusChangeDetected(ASource source, bool videoActive) { var handler = VideoStatusChangeDetected; if (handler != null) { try { handler(source, videoActive); } catch (Exception e) { CloudLog.Exception(e); } } }
public virtual void RouteCodecPresentationSource(ASource value, bool isAuto) { }