Esempio n. 1
0
        public long StartReplay(IReplayModel iReplayModel)
        {
            ReplayModel replayModel = iReplayModel as ReplayModel;

            if (!ValidateReplayParam(replayModel))
            {
                return(-1);
            }

            if (!VideoRecordCache.HasTimeSpecificRecordFile(replayModel.ReplayCamera.ChannelID, replayModel.ReplayTimeRange.BeginTime))
            {
                return(-1);
            }

            long replayHandle = ReplayAdapter.StartReplay(replayModel);

            if (replayHandle < 0)
            {
                return(-1);
            }

            RelayStatusModel playStatus = new RelayStatusModel
            {
                Camera = replayModel.ReplayCamera,
                PlayingScreenHandle = replayModel.ScreenHandle,
                StartPlayDateTime   = replayModel.ReplayTimeRange.BeginTime,
                PlayingHandle       = replayHandle,
                PlayingStatus       = PlayStatus.Play,
                PlayingSpeed        = 1,
            };

            _replayingStatusModelDict.TryAdd(replayModel.ScreenHandle, playStatus);

            return(replayHandle);
        }