How does DRM library use KEYFORMAT and KEYFORMATVERSIONS attribute on EXT-X-KEY tag?

I have some question regarding KEYFORMAT and KEYFORMATVERSIONS attribute on EXT-X-KEY tag defined in the HLS spec. We are implementing a player for HLS content in our platform.


1. How does DRM library(probably Fairplay) use KEYFORMAT and KEYFORMATVERSIONS attribute on EXT-X-KEY tag?

2. What are the valid values of KEYFORMAT attribute:

  • At some online documentation i saw playlists using KEYFORMAT="com.apple.streamingkeydelivery" or KEYFORMAT="com.widevine"?
  • Another laylist used like KEYFORMAT=” urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed ”
  • Which one is valid?
  • If both are valid, how are they different?


Thanking you in advance,


Vikram