using System; using Vinno.vCloud.FIS.CrossPlatform.Common.Enum; using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo.Interface; using Vinno.vCloud.FIS.CrossPlatform.Windows.LiveVideo.RTC; using Vinno.vCloud.FIS.CrossPlatform.Windows.LiveVideo.RTMP; namespace Vinno.vCloud.FIS.CrossPlatform.Windows.LiveVideo { internal class LiveVideoPusherCreator : ILiveVideoPusherCreator { public ILiveVideoPusher CreateRtcPusher(uint roomId, string terminalId, string userSign, EnumResolutionMode mode, EnumPushDataSourceType pushDataSourceType, int screenWidth, int screenHeight, Action updateLiveState) { return new RtcPusher(roomId, terminalId, userSign, screenWidth, screenHeight, mode, pushDataSourceType, updateLiveState); } /// /// Create rtmp pusher. /// /// The action to update live state. /// public ILiveVideoPusher CreateRtmpPusher(string terminalId, int screenWidth, int screenHeight, Action updateState) { return new RtmpPusher(terminalId, screenWidth, screenHeight, updateState); } } }