public JsonResult Publish(string entityName, bool unpublish) { try { string message; string authToken = HomeController.GetAuthToken(Request, Response); using (MediaClient mediaClient = new MediaClient(authToken)) { if (unpublish) { mediaClient.DeleteLocators(entityName); message = string.Format(Constant.Message.AssetUnpublished, entityName); } else { Asset asset = mediaClient.GetEntity <Asset>(MediaEntity.Asset, entityName); string streamingPolicyName = PredefinedStreamingPolicy.DownloadAndClearStreaming; StreamingLocator streamingLocator = mediaClient.GetStreamingLocator(asset.Name, asset.Name, streamingPolicyName, null); message = mediaClient.GetStreamingUrl(streamingLocator, null); } } return(Json(message)); } catch (ApiErrorException ex) { return(new JsonResult(ex.Response.Content) { StatusCode = (int)ex.Response.StatusCode }); } }
public JsonResult CreateOutput(string eventName, string eventOutputName, string eventOutputDescription, string outputAssetName, string streamingPolicyName, int archiveWindowMinutes) { try { LiveOutput liveOutput; string authToken = HomeController.GetAuthToken(Request, Response); using (MediaClient mediaClient = new MediaClient(authToken)) { liveOutput = mediaClient.CreateLiveOutput(eventName, eventOutputName, eventOutputDescription, null, outputAssetName, archiveWindowMinutes); mediaClient.GetStreamingLocator(outputAssetName, outputAssetName, streamingPolicyName, null); } return(Json(liveOutput)); } catch (ValidationException ex) { Error error = new Error() { Type = HttpStatusCode.BadRequest, Message = ex.Message }; return(new JsonResult(error) { StatusCode = (int)error.Type }); } catch (ApiErrorException ex) { return(new JsonResult(ex.Response.Content) { StatusCode = (int)ex.Response.StatusCode }); } }