Beispiel #1
0
        public IActionResult GetMediaInformation([FromQuery] Uri MediaUri)
        {
            IMediaInformation info;

            try
            {
                info = this.youtubeDl.GetMediaInformation(MediaUri);
            }
            catch (PrivateMediaException)
            {
                return(new ErrorResponse(ErrorCodes.PrivateMediaIsNotSupported, HttpStatusCode.Conflict).AsJsonResult());
            }

            if (info.IsLiveStream)
            {
                return(new ErrorResponse(ErrorCodes.LiveStreamsAreNotSupported, HttpStatusCode.Conflict).AsJsonResult());
            }

            this.filenameDatabase.AddFilename(MediaUri, FilenameHelper.RemoveNotAllowedChars(info.Title));

            return(new JsonResult(info));
        }