예제 #1
0
        public IActionResult Index()
        {
            string liveEventName       = string.Empty;
            bool   liveEventEncoding   = false;
            bool   liveEventLowLatency = false;
            string liveEventPreviewUrl = string.Empty;
            string liveEventOutputUrl  = string.Empty;
            string authToken           = HomeController.GetAuthToken(Request, Response);

            using (MediaClient mediaClient = new MediaClient(authToken))
            {
                LiveEvent[] liveEvents = mediaClient.GetAllEntities <LiveEvent>(MediaEntity.LiveEvent);
                foreach (LiveEvent liveEvent in liveEvents)
                {
                    if (liveEvent.ResourceState == LiveEventResourceState.Running && string.IsNullOrEmpty(liveEventPreviewUrl))
                    {
                        liveEventName = liveEvent.Name;
                        if (liveEvent.Encoding.EncodingType.HasValue && liveEvent.Encoding.EncodingType != LiveEventEncodingType.None)
                        {
                            liveEventEncoding = true;
                        }
                        if (liveEvent.StreamOptions.Contains(StreamOptionsFlag.LowLatency))
                        {
                            liveEventLowLatency = true;
                        }
                        liveEventPreviewUrl = liveEvent.Preview.Endpoints[0].Url;
                        liveEventOutputUrl  = mediaClient.GetLiveOutputUrl(liveEvent);
                    }
                }
            }
            ViewData["liveEventName"]       = liveEventName;
            ViewData["liveEventEncoding"]   = liveEventEncoding;
            ViewData["liveEventLowLatency"] = liveEventLowLatency;
            ViewData["liveEventPreviewUrl"] = liveEventPreviewUrl;
            ViewData["liveEventOutputUrl"]  = liveEventOutputUrl;
            return(View());
        }