Ejemplo n.º 1
0
        public MediaItem CreateMediaItem(int slotIndex, string streamUrl, IChannel channel)
        {
            // Channel is usually only passed as placeholder with ID only, so query the details here
            IChannelService channelService = GlobalServiceProvider.Get <IChannelService>();
            Channel         fullChannel    = channelService.GetChannel(channel.ChannelId);

            bool            isTv     = fullChannel.MediaType == 0;
            LiveTvMediaItem tvStream = isTv
        ? SlimTvMediaItemBuilder.CreateMediaItem(slotIndex, streamUrl, fullChannel.ToChannel())
        : SlimTvMediaItemBuilder.CreateRadioMediaItem(slotIndex, streamUrl, fullChannel.ToChannel());

            if (tvStream != null)
            {
                // Add program infos to the LiveTvMediaItem
                IProgram currentProgram;
                IProgram nextProgram;
                if (GetNowNextProgram(channel, out currentProgram, out nextProgram))
                {
                    tvStream.AdditionalProperties[LiveTvMediaItem.CURRENT_PROGRAM] = currentProgram;
                    tvStream.AdditionalProperties[LiveTvMediaItem.NEXT_PROGRAM]    = nextProgram;
                }
                return(tvStream);
            }
            return(null);
        }
Ejemplo n.º 2
0
        public bool WatchRecordingFromBeginning(IProgram program)
        {
            string fileOrStream;

            if (ScheduleControl.GetRecordingFileOrStream(program, out fileOrStream))
            {
                IChannel channel;
                if (ChannelAndGroupInfo.GetChannel(program.ChannelId, out channel))
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channel);
                    PlayItemsModel.CheckQueryPlayAction(recordig);
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 3
0
        public bool WatchRecordingFromBeginning(IProgram program)
        {
            string fileOrStream;

            if (ScheduleControl.GetRecordingFileOrStream(program, out fileOrStream))
            {
                IChannel channel;
                if (ChannelAndGroupInfo.GetChannel(program.ChannelId, out channel))
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channel);
                    PlayerContextConcurrencyMode playMode = GetMatchingPlayMode();
                    PlayItemsModel.PlayOrEnqueueItem(recordig, true, playMode);
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 4
0
        public async Task <bool> WatchRecordingFromBeginningAsync(IProgram program)
        {
            var result = await ScheduleControl.GetRecordingFileOrStreamAsync(program);

            if (result.Success)
            {
                string fileOrStream = result.Result;

                var channelResult = await ChannelAndGroupInfo.GetChannelAsync(program.ChannelId);

                if (channelResult.Success)
                {
                    MediaItem recordig = SlimTvMediaItemBuilder.CreateRecordingMediaItem(0, fileOrStream, program, channelResult.Result);
                    PlayItemsModel.CheckQueryPlayAction(recordig);
                    return(true);
                }
            }
            return(false);
        }
        protected virtual MediaItem CreateMediaItem(int slotIndex, string streamUrl, IChannel channel, bool isTv, IChannel fullChannel)
        {
            LiveTvMediaItem tvStream = isTv
        ? SlimTvMediaItemBuilder.CreateMediaItem(slotIndex, streamUrl, fullChannel)
        : SlimTvMediaItemBuilder.CreateRadioMediaItem(slotIndex, streamUrl, fullChannel);

            if (tvStream != null)
            {
                // Add program infos to the LiveTvMediaItem
                IProgram currentProgram;
                IProgram nextProgram;
                if (GetNowNextProgram(channel, out currentProgram, out nextProgram))
                {
                    tvStream.AdditionalProperties[LiveTvMediaItem.CURRENT_PROGRAM] = currentProgram;
                    tvStream.AdditionalProperties[LiveTvMediaItem.NEXT_PROGRAM]    = nextProgram;
                }
                return(tvStream);
            }
            return(null);
        }
Ejemplo n.º 6
0
        protected virtual async Task <MediaItem> CreateMediaItem(int slotIndex, string streamUrl, IChannel channel, bool isTv, IChannel fullChannel)
        {
            LiveTvMediaItem tvStream = isTv
        ? SlimTvMediaItemBuilder.CreateMediaItem(slotIndex, streamUrl, fullChannel)
        : SlimTvMediaItemBuilder.CreateRadioMediaItem(slotIndex, streamUrl, fullChannel);

            if (tvStream != null)
            {
                // Add program infos to the LiveTvMediaItem
                var result = await GetNowNextProgramAsync(channel);

                if (result.Success)
                {
                    tvStream.AdditionalProperties[LiveTvMediaItem.CURRENT_PROGRAM] = result.Result[0];
                    tvStream.AdditionalProperties[LiveTvMediaItem.NEXT_PROGRAM]    = result.Result[1];
                }
                return(tvStream);
            }
            return(null);
        }
Ejemplo n.º 7
0
        public MediaItem CreateMediaItem(int slotIndex, string streamUrl, IChannel channel)
        {
            LiveTvMediaItem tvStream = SlimTvMediaItemBuilder.CreateMediaItem(slotIndex, streamUrl, channel);

            if (tvStream != null)
            {
                // Add program infos to the LiveTvMediaItem
                IProgram currentProgram;
                if (GetCurrentProgram(channel, out currentProgram))
                {
                    tvStream.AdditionalProperties[LiveTvMediaItem.CURRENT_PROGRAM] = currentProgram;
                }

                IProgram nextProgram;
                if (GetNextProgram(channel, out nextProgram))
                {
                    tvStream.AdditionalProperties[LiveTvMediaItem.NEXT_PROGRAM] = nextProgram;
                }

                return(tvStream);
            }
            return(null);
        }