Ejemplo n.º 1
0
        private void ApplyParameters(PlayerToken playToken)
        {
            MItem mitem = playToken.MItem;
            //IPlayParameters parameters = playToken.Parameters;
            //if (parameters != null)
            {
                //((IMProps)mitem).PropsSet("file::interlace", EnumUtils.GetInterlaceString(playToken.Parameters.MPFieldsType));
                //((IMProps)mitem).PropsSet("file::scale_type", EnumUtils.GetScaleTypeString(playToken.Parameters.StretchMode));
                //((IMProps)mitem).PropsSet("file::aspect_ratio", EnumUtils.GetAspectRatioString(playToken.Parameters.AspectRatio));
                if (playToken.HasAudio && IsMLSource(playToken.MediaSource))
                {
                    IFileMediaSource fileSource = playToken.MediaSource as IFileMediaSource;

                    this.SetAudioGain((MItemClass)mitem, fileSource.AudioGain);
                }
            }

            // TODO: add other parameters
        }
Ejemplo n.º 2
0
        public void Load(IPlayerItem playerItem)
        {
            Debug.Assert(_nextItem == null);

            PlayerToken playToken = new PlayerToken(playerItem, _dateTimeService);

            if (IsMLSource(playerItem.MediaSource))
            {
                playToken.MPlaylist = _mplaylist;
                M_Load(playToken);
            }
            else
            {
                var adjustedRange = playerItem.MediaSource.Adjust(playToken.PlayRange);
                playToken.LoadRange = adjustedRange.Value;
            }

            _nextItem             = playerItem;
            _nextItem.LoadTime    = _dateTimeService.GetLocalNow();
            _nextItem.PlayerToken = playToken;
            OnItemLoaded(_nextItem);
        }
Ejemplo n.º 3
0
        private void M_Load(PlayerToken playToken)
        {
            Debug.Assert(_mplaylist != null);

            IFileMediaSource fileSource = (IFileMediaSource)playToken.MediaSource; // as IFileMediaSource;

            int index;

            MItem mitem = null;

            index = -1;
            _mplaylist.PlaylistAdd(null, _filePathResolver.Resolve(fileSource.FileName), string.Empty, ref index, out mitem);

            var adjustedRange = fileSource.Adjust(playToken.PlayRange);

            var loadRange = GetInOut(mitem);

            if (adjustedRange != null)
            {
                if (adjustedRange.Value.StartPosition != loadRange.StartPosition || adjustedRange.Value.StopPosition != loadRange.StopPosition)
                {
                    loadRange = SetInOut(mitem, adjustedRange.Value);
                }
            }


            playToken.LoadRange = loadRange;

            int audioTracks = -1;

            ((MItemClass)mitem).AudioTracksGetCount(out audioTracks);
            playToken.HasAudio = (audioTracks > 0);
            playToken.MItem    = mitem;

            ApplyParameters(playToken);
        }