namespace MediaBrowser.Model.Dlna
{
    public interface ILocalPlayer
    {
        /// <summary>
        /// Determines whether this instance [can access file] the specified path.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns><c>true</c> if this instance [can access file] the specified path; otherwise, <c>false</c>.</returns>
        bool CanAccessFile(string path);
        /// <summary>
        /// Determines whether this instance [can access directory] the specified path.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns><c>true</c> if this instance [can access directory] the specified path; otherwise, <c>false</c>.</returns>
        bool CanAccessDirectory(string path);
        /// <summary>
        /// Determines whether this instance [can access URL] the specified URL.
        /// </summary>
        /// <param name="url">The URL.</param>
        /// <param name="requiresCustomRequestHeaders">if set to <c>true</c> [requires custom request headers].</param>
        /// <returns><c>true</c> if this instance [can access URL] the specified URL; otherwise, <c>false</c>.</returns>
        bool CanAccessUrl(string url, bool requiresCustomRequestHeaders);
    }

    public interface ITranscoderSupport
    {
        bool CanEncodeToAudioCodec(string codec);
    }

    public class FullTranscoderSupport : ITranscoderSupport
    {
        public bool CanEncodeToAudioCodec(string codec)
        {
            return true;
        }
    }
}