I want to determine whether a DASH manifest URL is DRM protected or not using ExoPlayer - however I cannot seem to find something that can help me in this.
I can see that you can achieve this using SmoothStreaming in ExoPlayer as there is a protection element.
Just wondered if anyone has faced this before?
The DASH manifest itself contains an element which indicates whether the content is protected or not.
For example here is a PlayReady indication (from the MS documentation):
The individual media 'chunk' URL's can be obfuscated or random so these URLs themselves do not really help convey this information.
ExoPlayer has a check of the protection indication in the manifest. You can see it being parsed in the 'DashManifestParser' class - e.g.:
One this to be aware of (or wary of..) is that the spec says that the fact that media is protected can be indicated in the manifest and/or the media itself - i.e. an ISO file there is a 'box' where the protections scheme information can be specified.
In theory this means that you can specify itinerary either place, but in practice not all players implement it this way - some, including ExoPlayer in the past I think, would not play if the media stream was protected but the Manifest did not indicate this.