/// <summary>
        /// When playback is based purely on files, this will take the files that were supplied to the PlayableItem,
        /// and create the actual paths that will be sent to the player
        /// </summary>
        internal override IEnumerable <string> GetPlayableFiles(IEnumerable <string> files)
        {
            foreach (string file in files)
            {
                MediaBrowser.Library.MediaType mediaType = MediaBrowser.Library.MediaTypeResolver.DetermineType(file);

                yield return(FormatPath(file, mediaType));
            }
        }
        /// <summary>
        /// When playback is based purely on files, this will take the files that were supplied to the PlayableItem,
        /// and create the actual paths that will be sent to the player
        /// </summary>
        internal override IEnumerable <string> GetPlayableFiles(IEnumerable <string> files)
        {
            foreach (string file in files)
            {
                MediaBrowser.Library.MediaType mediaType = MediaBrowser.Library.MediaTypeResolver.DetermineType(file);

                if (mediaType == Library.MediaType.BluRay)
                {
                    yield return(PlaybackControllerHelper.GetBluRayPath(file));
                }

                yield return(ShouldTranscode ? PlaybackControllerHelper.GetTranscodedPath(file) : file);
            }
        }