I am trying to upgrade an Azure Media Services v2 implementation to v3 which uses a Custom Key Delivery Service mentioned here to v3. Other than this section and samples from the REST API section, I have found this to be largely undocumented but I believe I have figured out mostly everything, however on the actual Delivery of the Key I am wondering if the format I am returning is in the correct format (I cannot find this easily anywhere). It seems that the Video Player is not working even though I see the request come through and getting sent back out.
Do I return the key in ByteArray format as seen in my v3 example below?
Media Services v2 Implementation
private HttpResponseMessage GetKeyHttpResponse(IContentKey key)
{
var res = Request.CreateResponse(HttpStatusCode.OK);
res.Content = new ByteArrayContent(key.GetClearKeyValue());
return res;
}
Media Services v3 Attempt
private HttpResponseMessage GetKeyHttpResponse(StreamingLocatorContentKey key)
{
var res = Request.CreateResponse(HttpStatusCode.OK);
res.Content = new ByteArrayContent(Encoding.ASCII.GetBytes(key.Value));
return res;
}
Many thanks to @Sanjid above, here is the working solution (tested with a Client Side Video Player).
private HttpResponseMessage GetKeyHttpResponse(StreamingLocatorContentKey key)
{
var res = Request.CreateResponse(HttpStatusCode.OK);
res.Content = new ByteArrayContent(Convert.FromBase64String(key.Value));
return res;
}