/// <summary>
        /// Gets all Urls for a given Video
        /// </summary>
        /// <param name="siteName"></param>
        /// <param name="categoryRecursiveName"></param>
        /// <param name="videoUrl"></param>
        /// <returns></returns>
        public List <string> GetVideoUrls(string siteName, string categoryRecursiveName, string videoUrl)
        {
            List <string> output = new List <string>();

            SiteUtilBase site;

            if (!OnlineVideoSettings.Instance.SiteUtilsList.TryGetValue(siteName, out site))
            {
                return(output);
            }

            foreach (var video in GetCategoryVideos(siteName, categoryRecursiveName))
            {
                if (video.VideoUrl == videoUrl)
                {
                    List <string> urls = site.GetMultipleVideoUrls(video);
                    UriUtils.RemoveInvalidUrls(urls);
                    output = urls;
                }
            }

            return(output);
        }