I am using the destination application from the Expressplay website for chrome plating. https://www.expressplay.com/developer/test-apps/#ccplayer .
I tested it in a browser by passing the URL of the license along with the broadcast stream . He played the video, it means that the receiver is working fine.
The problem occurs when I try to play content from an Android sender application. I am passing the license url in json object.
My Android sender code is as follows.
private MediaInfo buildMediaInfo() { MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE); movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, "Subtitle"); movieMetadata.putString(MediaMetadata.KEY_TITLE, "Title"); jsonObj = new JSONObject(); try{ jsonObj.put("licenseUrl","https://wv.test.expressplay.com/hms/wv/rights/?ExpressPlatToken=****"); }catch (JSONException e){ Log.e(null,"Failed to add description to the json object", e); } return new MediaInfo.Builder("stream path.mpd") .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED) .setContentType("video/mp4") .setMetadata(movieMetadata) .setCustomData(jsonObj)
I assume that the problem may be with the recipient code in case of playing with android when installing the Url license .
My license URL to configure my recipient code is as follows.
if (event.data.customData && event.data.customData.licenseUrl) { console.log('setting license URL'); host.licenseUrl = event.data.customData.licenseUrl; }
event.data.customData.licenseUrl URL of the license is not set in the case of android.
The result when playing from the sender android is a black screen.
When playing back from the browser sender, the video plays.
CORS is enabled on the S3 server that hosts the video content.
Can anyone tell me what I'm doing wrong?
JSON object transferred from android without setting license url? If so, how to solve it?
Thank you in advance for your good interest and worthy time for my problem. :)
source share