ArgusTV.Recorder.MediaPortalTvServer.TvServerPlugin.TvController_GetStreamingUrl C# (CSharp) Метод

TvController_GetStreamingUrl() публичный статический Метод

public static TvController_GetStreamingUrl ( IUser user ) : string
user IUser
Результат string
        public static string TvController_GetStreamingUrl(IUser user)
        {
            lock (_tvControllerLock)
            {
                return _controller.GetStreamingUrl(user);
            }
        }

Usage Example

        public override LiveStream[] GetLiveStreams()
        {
            List <LiveStream> liveStreams = new List <LiveStream>();

            lock (_liveStreamsLock)
            {
                try
                {
                    // Get cards in reverse priority.
                    List <TvDatabase.Card> cards = Utility.GetAllCards();
                    cards.Sort(delegate(TvDatabase.Card c1, TvDatabase.Card c2) { return(-c1.Priority.CompareTo(c2.Priority)); });

                    // Get the list of live streams from TV Server
                    Dictionary <string, IUser> mpStreamUsers = new Dictionary <string, IUser>();
                    foreach (TvDatabase.Card card in cards)
                    {
                        IUser[] cardUsers = TvServerPlugin.TvController_GetUsersForCard(card.IdCard);
                        if (cardUsers != null)
                        {
                            foreach (IUser user in cardUsers)
                            {
                                if (user.Name.StartsWith(_argusLiveUserName))
                                {
                                    IUser tve3User = user;
                                    if (TvServerPlugin.TvController_IsTimeShifting(ref tve3User))
                                    {
                                        mpStreamUsers.Add(TvServerPlugin.TvController_GetStreamingUrl(tve3User), tve3User);
                                    }
                                }
                            }
                        }
                    }

                    // Now loop our own list and check if all those streams are indeed still up.
                    List <string> keysToRemove = new List <string>();

                    foreach (LiveStream stream in _liveStreams.Values)
                    {
                        if (mpStreamUsers.ContainsKey(stream.RtspUrl))
                        {
                            liveStreams.Add(stream);
                        }
                        else
                        {
                            keysToRemove.Add(stream.RtspUrl);
                        }
                    }

                    // Remove streams that no longer exist.
                    foreach (string keyToRemove in keysToRemove)
                    {
                        _liveStreams.Remove(keyToRemove);
                        _liveStreamUsers.Remove(keyToRemove);
                    }

                    // Check if there are any live streams within MP that we don't know about.
                    // If so, stop those streams (they may be left-overs from client crashes).
                    foreach (string rtspUrl in mpStreamUsers.Keys)
                    {
                        if (!_liveStreams.ContainsKey(rtspUrl))
                        {
                            IUser tve3User = mpStreamUsers[rtspUrl];
                            TvServerPlugin.TvController_StopTimeShifting(ref tve3User, TvStoppedReason.KickedByAdmin);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log(TraceEventType.Error, ex.Message);
                }
            }
            return(liveStreams.ToArray());
        }
All Usage Examples Of ArgusTV.Recorder.MediaPortalTvServer.TvServerPlugin::TvController_GetStreamingUrl