示例#1
0
        public void Prepare()
        {
            _streamSyncBarrier.Reset();

            var initClock = DateTimeOffset.Now;

            foreach (var state in _streamSyncData)
            {
                if (state == null)
                {
                    continue;
                }

                state.FirstPts            = default(TimeSpan);
                state.SyncState           = SynchronizationState.KeyFrameSearch;
                state.BeginTime           = initClock;
                state.TransferredDuration = TimeSpan.Zero;
                state.NeededDuration      = DefaultTransferDuration;
                state.Dts            = PlayerClockProviderConfig.InvalidClock;
                state.IsKeyFrameSeen = false;

                _streamSyncBarrier.AddParticipant();
            }

            Logger.Info("");
        }
示例#2
0
        public void Prepare()
        {
            _streamSyncBarrier.Reset();
            _syncClock = null;

            foreach (var state in _streamSyncData)
            {
                if (state == null)
                {
                    continue;
                }

                state.SyncState = SynchronizationState.ClockStart;
                state.Pts       = TimeSpan.Zero;
                state.LastSync  = TimeSpan.Zero;
                _streamSyncBarrier.AddParticipant();
            }

            Logger.Info("");
        }