public override Task <StartPlaybackReply> StartPlayback(StartPlaybackRequest request, ServerCallContext context) { if (request.IsDownload) { _eventSource?.FireDownloadRequestEvent(request, context); } else { _eventSource?.FirePlaybackRequestEvent(request, context); } return(base.StartPlayback(request, context)); }
public override Task <StartPlaybackReply> StartPlayback(StartPlaybackRequest request, ServerCallContext context) { try { logger.Debug("StartPlayback: request=" + request.ToString()); _eventSource?.FilePlaybackRequestEvent(request, context); var reqeustProcessResult = _sipServiceDirector.BackVideoReq(request.Gbid, new int[] { request.Port }, request.Ipaddr, Convert.ToUInt64(request.BeginTime), Convert.ToUInt64(request.EndTime)); reqeustProcessResult?.Wait(System.TimeSpan.FromSeconds(1)); //get the response . var resReply = new StartPlaybackReply() { Ipaddr = reqeustProcessResult.Result.Item1, Port = reqeustProcessResult.Result.Item2, Hdr = GetHeaderBySipHeader(reqeustProcessResult.Result.Item3), Status = new Status() { Code = 200, Msg = "Request Successful!" } }; //add Video Session Alive Dictionary <string, DateTime> _Dictionary = new Dictionary <string, DateTime>(); _Dictionary.Add(request.Gbid + ',' + resReply.Hdr.Sessionid, DateTime.Now); _sipServiceDirector.VideoSessionAlive.Add(_Dictionary); logger.Debug("StartPlayback: resReply=" + resReply.ToString()); return(Task.FromResult(resReply)); } catch (Exception ex) { logger.Error("Exception GRPC StartPlayback: " + ex.Message); var resReply = new StartPlaybackReply() { Status = new Status() { Msg = ex.Message } }; return(Task.FromResult(resReply)); } }
internal void FirePlaybackRequestEvent(StartPlaybackRequest request, ServerCallContext context) { PlaybackRequesReceived?.Invoke(request, context); }
public void FilePlaybackRequestEvent(StartPlaybackRequest request, ServerCallContext context) { PlaybackRequestReceived?.Invoke(request, context); }