internal BindablePlayItem CreateBindablePlayItem(IPlayItem playItem) { string filePath = null; if (playItem.MediaSource.Category == MediaSourceCategory.File) { filePath = _filePathResolver.Resolve(((AppInfrastructure.FileMediaSource)playItem.MediaSource).FileName); } return(new BindablePlayItem(playItem, filePath, _itemEditFactory)); }
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); }
private string ResolvePath(string destFileName, MediaFileStorage fileStorage) { return(_mediaFilePathResolver.Resolve(destFileName, fileStorage)); }