コード例 #1
0
        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();
        }
コード例 #2
0
 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");
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        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();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
 protected virtual IPacketStream CreatePacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager, ICodecExtraDataHandler codecExtraDataHandler)
 {
     return(new PacketStream(streamType, player, drmManager, codecExtraDataHandler));
 }
コード例 #7
0
 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");
 }
コード例 #8
0
ファイル: TSPacketStream.cs プロジェクト: hjhgitw/JuvoPlayer
 protected virtual IPacketStream CreatePacketStream(StreamType streamType, IPlayer player, IDrmManager drmManager)
 {
     return(new PacketStream(streamType, player, drmManager));
 }