public PlayerServiceImpl() { if (SynchronizationContext.Current == null) { throw new ArgumentNullException(nameof(SynchronizationContext.Current), "Null synchronization context"); } _syncCtx = SynchronizationContext.Current; _playerControllerDisposables = new CompositeDisposable { _playerStateSubject, _playerErrorSubject, _playerBufferingSubject, _playerClockSubject }; dataProviders = new DataProviderFactoryManager(); dataProviders.RegisterDataProviderFactory(new DashDataProviderFactory()); dataProviders.RegisterDataProviderFactory(new HLSDataProviderFactory()); dataProviders.RegisterDataProviderFactory(new RTSPDataProviderFactory()); drmManager = new DrmManager(); }
public PacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager, ICodecExtraDataHandler handler) { this.streamType = streamType; this.drmManager = drmManager ?? throw new ArgumentNullException(nameof(drmManager), "drmManager cannot be null"); this.player = player ?? throw new ArgumentNullException(nameof(player), "player cannot be null"); _codecHandler = handler ?? throw new ArgumentNullException(nameof(handler), "handler cannot be null"); }
public PlayerController(IPlayer player, IDrmManager drmManager) { this.drmManager = drmManager ?? throw new ArgumentNullException(nameof(drmManager), "drmManager cannot be null"); this.player = player ?? throw new ArgumentNullException(nameof(player), "player cannot be null"); streams[StreamType.Audio] = new PacketStream(StreamType.Audio, this.player, drmManager); streams[StreamType.Video] = new PacketStream(StreamType.Video, this.player, drmManager); }
public PlayerServiceImpl(Window window) { dataProviders = new DataProviderFactoryManager(); dataProviders.RegisterDataProviderFactory(new DashDataProviderFactory()); dataProviders.RegisterDataProviderFactory(new HLSDataProviderFactory()); dataProviders.RegisterDataProviderFactory(new RTSPDataProviderFactory()); drmManager = new DrmManager(); drmManager.RegisterDrmHandler(new CencHandler()); playerWindow = window; CreatePlayerController(); }
public PlayerController(IPlayer player, IDrmManager drmManager) { this.drmManager = drmManager ?? throw new ArgumentNullException(nameof(drmManager), "drmManager cannot be null"); this.player = player ?? throw new ArgumentNullException(nameof(player), "player cannot be null"); subscriptions = new CompositeDisposable { TimeUpdated().Subscribe(time => currentTime = time, SynchronizationContext.Current) }; var audioCodecExtraDataHandler = new AudioCodecExtraDataHandler(player); var videoCodecExtraDataHandler = new VideoCodecExtraDataHandler(player); streams[StreamType.Audio] = new PacketStream(StreamType.Audio, this.player, drmManager, audioCodecExtraDataHandler); streams[StreamType.Video] = new PacketStream(StreamType.Video, this.player, drmManager, videoCodecExtraDataHandler); }
protected virtual IPacketStream CreatePacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager, ICodecExtraDataHandler codecExtraDataHandler) { return(new PacketStream(streamType, player, drmManager, codecExtraDataHandler)); }
public PacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager) { this.streamType = streamType; this.drmManager = drmManager ?? throw new ArgumentNullException(nameof(drmManager), "drmManager cannot be null"); this.player = player ?? throw new ArgumentNullException(nameof(player), "player cannot be null"); }
protected virtual IPacketStream CreatePacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager) { return(new PacketStream(streamType, player, drmManager)); }